CH#5 Software Project Estimation and
Planning
Cost Estimation Models
Cost estimation models are used to predict the cost of a software project. These models help project
managers estimate the resources required to complete a project, including personnel, equipment, and
materials.
Types of Cost Estimation Models:
COCOMO (Constructive Cost Model):
A widely used model that estimates the cost of a project based on the number of lines of code.
COCOMO takes into account factors such as project complexity, team experience, and development
environment.
Function Point Analysis (FPA):
A model that estimates the cost of a project based on the number of function points. FPA measures the
functionality of a software system and estimates the cost of development.
SLIM (Software Lifecycle Management) Model:
A model that estimates the cost of a project based on the size and complexity of the project. SLIM takes
into account factors such as project scope, team size, and development environment.
Importance:
Cost estimation models help project managers:
- Estimate the cost of a project
- Identify potential cost overruns
- Make informed decisions about resource allocation
- Develop a realistic project budget
Schedule Estimation and Project Planning:
Schedule estimation and project planning are used to predict the timeline of a software project.
These techniques help project managers estimate the time required to complete a project and develop a
project schedule.
Types of Schedule Estimation Techniques:
- Gantt Charts:
A visual representation of the project timeline. Gantt charts show the start and end dates of each task
and the dependencies between tasks.
- Critical Path Method (CPM):
A technique that identifies the critical tasks in a project. CPM helps project managers focus on the tasks
that are most important to the project timeline.
- Program Evaluation and Review Technique (PERT): A technique that estimates the time required to
complete a task. PERT takes into account factors such as task complexity, team experience, and
development environment.
- Importance:
Schedule estimation and project planning help project managers:
- Estimate the timeline of a project
- Identify potential delays
- Make informed decisions about resource allocation
- Develop a realistic project schedule
Resource Allocation and Budgeting
Resource allocation and budgeting are used to assign resources to tasks and allocate budget to a
software project. These techniques help project managers allocate resources effectively and manage
budget constraints.
Types of Resource Allocation Techniques:
Resource Leveling:
A technique that allocates resources to tasks based on their availability. Resource leveling helps project
managers avoid overallocation of resources.
Resource Allocation Matrix:
A technique that allocates resources to tasks based on their priority. Resource allocation matrix helps
project managers prioritize tasks and allocate resources accordingly.
- Importance:
Resource allocation and budgeting help project managers:
- Allocate resources effectively
- Manage budget constraints
- Make informed decisions about project scope
- Develop a realistic project budget