Professional Documents
Culture Documents
Chapter 3 Software Estimation Metrics
Chapter 3 Software Estimation Metrics
Chapter 3 Software Estimation Metrics
Syllabus Content
Management Spectrum
a software project.
• The management of a software project starts from requirement analysis and finishes
based on the nature of the product, it may or may not end because almost all
• The management spectrum focuses on the four P’s: people, product, process and
project.
• Here, the manager of the project has to control all these P’s to have a smooth flow
in the progress of the project and to reach the goal.
2. Product
3. Process
4. Project
user.
• But mainly people of a project highlight the developers.
• It is so important to have highly skilled and motivated developers that the Software
Engineering Institute has developed a People Management Capability Maturity
Model (PM-CMM),
• Organizations that achieve high levels of maturity in the people management area
The Product:
• The product is the ultimate goal of the project.
• To develop a software product successfully, all the product objectives and scopes
should be established, alternative solutions should be considered, and technical and
indication of progress.
• Finally, umbrella activities overlay the software process model. Umbrella activities
are independent of any one framework activity and occur throughout the process.
Project
• The project is the complete software project that includes requirement analysis,
failure rate is high. Its merely due to the development but mostly due to the steps
before development and sometimes due to the lack of maintenance.
Software Metrics:
• Software metrics is a standard of measure that contains many activities which
project metrics.
Product metrics describe the characteristics of the product such as size, complexity,
design features, performance, and quality level.
development, the pattern of testing defect arrival, and the response time of the fix
process.
• Data collection
• Quantity models and measures
• Reliability models
• Performance and evaluation models
• Management by metrics
• Evaluation of methods and tools
specifications.
• In making inference about the effort to be put in the design and development
of the software systems.
• In getting an idea about the complexity of the code.
maintenance cost.
• In providing feedback to software managers about the progress and quality during
which are not standardized and may depend upon tools available and working
environment.
Software Measurement:
• A measurement is an manifestation of the size, quantity, amount or dimension
software process.
• It is an authority within software engineering. Software measurement process is
• Direct Measurement:
• In direct measurement the product, process or thing is measured directly using
standard scale.
• Indirect Measurement:
• Metrics:
• A metrics is a measurement of the level that any impute belongs to a system product
➢ Organizing
➢ Controlling
➢ Improving
Types of software metrics:
• Product Metrics:
• Product metrics are used to evaluate the state of the product, tracing risks and
under covering prospective problem areas. The ability of team to control quality
is evaluated.
• Process Metrics:
• Process metrics pay particular attention on enhancing the long term process of
Terms
Indicators: A combination of metrics that provides insight into the software process,
project or product
Direct Metrics: Immediately measurable attributes (e.g. line of code, execution speed,
defects reported)
Indirect Metrics: Aspects that are not immediately quantifiable (e.g. functionality,
quantity, reliability)
Faults:
Goal Metrics
• Measures of usability
Process Metrics
Defect Removal Efficiency (DRE). Relationship between errors (E) and defects (D). The ideal
is a DRE of 1:
DRE = E /( E + D)
• Used by a project manager and software team to adapt project work flow and
• Purpose:
• Metrics:
Exam Questions
these are:
1. Lines of Code
4. Function points
1. Lines of Code
Lines of Code (LOC): As the name suggest, LOC count the total number of lines
of source code in a project.
2. The units of LOC are:
3. KLOC- Thousand lines of code
6. The size is estimated by comparing it with the existing systems of same kind.
7. The experts use it to predict the required size of various components of
Simple to use.
Disadvantages:
• It is difficult to estimate the size using this technique in early stages of project.
of project.
• Number of entities depends on the size of the project.
• This is because more entities needed more classes/structures thus leading to more
coding
Advantages:
• Size estimation can be done during initial stages of planning.
• No fixed standards exist. Some entities contribute more project size than others.
Just like FPA, it is less used in cost estimation model. Hence, it must be
converted to LOC.
• Already existing processes of similar type are studied and used to estimate the size
of the process. Sum of the estimated size of each process gives the final estimated
size.
Advantages:
• Studying similar kind of processes to estimate size takes additional time and effort.
• All software projects are not required to construction of DFD.
Function Points
⚫ The number of :
− External (user) inputs: input transactions that update internal files
⚫ A weight (ranging from 3 for simple to 15 for complex features) is associated with
each of these above
Outputs
inquiries
No. of external 04 7 28
interfaces
Advantages:
• It can be easily used in the early stages of project planning.
converted to LOC.
Example
• Given for each subsystem the size in LOC and the 2 metrics: productivity LOC/pm
(pm: person month), Cost $/LOC
COCOMO Model
• It is a procedural cost estimate model for software projects and often used as a
• It was proposed by Barry Boehm in 1970 and is based on the study of 63 projects,
which make it one of the best-documented models.
• The key parameters which define the quality of any software products, which are
• Schedule: Simply means the amount of time required for the completion of the
job, which is, of course, proportional to the effort put. It is measured in the units of
• Different models of Cocomo have been proposed to predict the cost estimation at
different levels, based on the amount of accuracy and correctness required. All of
• Organic – A software project is said to be an organic type if the team size required
is adequately small, the problem is well understood and has been solved in the
past and also the team members have a nominal experience regarding the
problem.
creativity, and experience requirement fall under this category. Such software
requires a larger team size than the other two models and also the developers
Any of the three forms can be adopted according to our requirements. These are
types of COCOMO model:
• Basic COCOMO can be used for quick and slightly rough calculations of Software
Costs.
Advantages
• It is good for quick, early, rough order of magnitude estimates of software project
Disadvantages
• Accuracy of model is limited because it does not consider factors like hardware
constraints, personal quality and experience, modern techniques and tools
Example
Computer nominal effort and development time for organic, semi-detached model
and embedded
Software project 𝒂𝒃 𝒃𝒃 𝒄𝒃 𝒅𝒃
= 3.2(100) 1.05
=2.5(403)0.38
=24 months
=403/24=16.7
=17 persons
= 3.0(100) 1.12
=521 person-month
=2.5(521)0.35
=22 months
=521/22
=24 persons
= 2.8(100) 1.20
=2.5(703)0.32
=20 months
=703/20
=35 persons
Exam Questions
• Explain Work Break Down Structure in detail
Project Scheduling
To schedule the project plan, a software project manager wants to do the following:
• Establish the most likely size for the time duration required to complete the
activities.
• In WBS, much larger tasks are broken down to manageable chunks of work. These
• Illustrate the project scope, so the stakeholders can have a better understanding
of the same.
Construction of WBS
• Identifying the main deliverables of a project is the starting point for deriving a
• This important step is usually done by the project managers and the subject
matter experts (SMEs) involved in the project. Once this step is completed, the
subject matter experts start breaking down the high-level tasks into smaller
chunks of work.
• Therefore, there is no hard and fast rule on how you should breakdown a task in
WBS. Rather, the level of breakdown is a matter of the project type and the
• In general, there are a few "rules" used for determining the smallest task chunk. In
"two weeks" rule, nothing is broken down smaller than two weeks’ worth of work.
• This means, the smallest task of the WBS is at least two-week long. 8/80 is another
rule used when creating a WBS. This rule implies that no task should be smaller
than 8 hours of work and should not be larger than 80 hours of work.
• One can use many forms to display their WBS. Some use tree structure to illustrate
the WBS, while others use lists and tables. Outlining is one of the easiest ways of
representing a WBS.
Outline of WBS
WBS Diagram
• In a WBS diagram, the project scope is graphically expressed. Usually, the diagram
starts with a graphic object or a box at the top, which represents the entire project.
• These boxes represent the deliverables of the project. Under each deliverable,
there are sub-elements listed. These sub-elements are the activities that should be
performed in order to achieve the deliverables.
• Although most of the WBS diagrams are designed based on the deliveries, some
WBS are created based on the project phases. Usually, information technology
projects are perfectly fit into WBS model.
• WBS is the input for Gantt charts, a tool that is used for project management
purpose.
• Gantt chart is used for tracking the progression of the tasks derived by WBS.
Example of WBS
Benefits of WBS
• Critical path is the sequential activities from start to the end of a project.
• Although many projects have only one critical path, some projects may have more
than one critical path depending on the flow logic used in the project.
• If there is a delay in any of the activities under the critical path, there will be a
• his method was first introduced in 1950s as a joint venture between Remington
• The initial critical path method was used for managing plant maintenance projects.
• Although the original method was developed for construction work, this method
can be used for any project where there are interdependent activities.
• In the critical path method, the critical activities of a program or a project are
identified. These are the activities that have a direct impact on the completion
You can use the Work Breakdown Structure (WBS) to identify the activities involved in the
project. This is the main input for the critical path method.
In activity specification, only the higher-level activities are selected for critical path
method.
When detailed activities are used, the critical path method may become too complex to
• Once the activity sequence is correctly identified, the network diagram can be
drawn (refer to the sample diagram above).
• Although the early diagrams were drawn on paper, there are a number of
computers softwares, such as Primavera, for this purpose nowadays.
• This could be a direct input from the WBS based estimation sheet. Most of the
companies use 3-point estimation method or COCOMO based (function points
For this, you need to determine four parameters of each activity of the network.
• Earliest start time (ES) - The earliest time an activity can start once the previous
• Latest finish time (LF) - The latest time an activity can finish without delaying the
project.
The float time for an activity is the time between the earliest (ES) and the latest (LS) start
time or between the earliest (EF) and latest (LF) finish times.
During the float time, an activity can be delayed without delaying the project finish date.
In case if the project management needs to accelerate the project, the times for critical
path activities should be reduced.
Critical path diagram is a live artefact. Therefore, this diagram should be updated with
actual values once the task is completed.
This gives more realistic figure for the deadline and the project management can know
• Presents the time to complete the tasks and the overall project.
• Summary
• Critical path identification is required for any project-planning phase. This gives
the project management the correct completion date of the overall project and
the flexibility to float activities.
when the project progresses in order to refine the activity length/project duration
predictions.
• 2. PERT
• PERT (Program Evaluation and Review Technique) is one of the successful and
proven methods among the many other techniques, such as, CPM, Function Point
involved.
• After PERT methodology was employed for this project, it actually ended two years
ahead of its initial schedule.
Then, a Gantt chart will be prepared illustrating the interdependencies among the
In this map, a node represents each event. The activities are represented as arrows and
they are drawn from one event to another, based on the sequence.
Next, the Earliest Time (TE) and the Latest Time (TL) are figured for each activity and
When it comes to deriving the estimates, the PERT model takes a statistical route to do
that. We will cover more on this in the next two sections.
There are three estimation times involved in PERT; Optimistic Time Estimate (TOPT), Most
Likely Time Estimate (TLIKELY), and Pessimistic Time Estimate (TPESS).
1. TOPT
planned.
2. TLIKELY
Most of the times, project managers are asked only to submit one estimate. In that case,
this is the estimate that goes to the upper management.
3. TPESS
This is the maximum time required to complete an activity. In this case, it is assumed that
many things go wrong related to the activity. A lot of rework and resource unavailability
BETA probability distribution is what works behind PERT. The expected completion time
At the same time, the possible variance (V) of the estimate is calculated as below:
Then, the total of all Es is taken. This is the overall expected completion time for the
project.
Now, the corresponding V is added to each activity of the critical path. This is the
variance for the entire project. This is done only for the activities in the critical path as
only the critical path activities can accelerate or delay the project duration.
Then, standard deviation of the project is calculated. This equals to the square root of the
variance (V).
Advantages
• A PERT chart allows managers to evaluate the time and resources necessary to
manage a project.
Disadvantages
• The use of a PERT chart is highly subjective and its success depends on the
management’s experience.
• PERT charts are deadline-focused and they might not fully communicate
• Summary
• The best thing about PERT is its ability to integrate the uncertainty in project times
estimations into its methodology.
• It also makes use of many assumption that can accelerate or delay the project
progress. Using PERT, project managers can have an idea of the possible time
variation for the deliveries and offer delivery dates to the client in a safer manner.
order.
• Since details are displayed graphically, important points in time can be easy seen
and understood.
• Often used for managing a project’s schedule, timeline charts function as a sort of
calendar of events within a specific period of time.
• It becomes much easier to see what needs to be done, how long it will take,
and what the next steps are.
misunderstanding of when goals should be met and how many hours a project
should take.
• Include titles to clarify key points along the process (phases, testing, planning,
etc.).
Gantt Chart
in which series of horizontal lines are present that show the amount of work done
or production completed in given period of time in relation to amount planned for
those projects.
• In most of projects, after generation of timeline chart, project tables are prepared.
• In project tables, all tasks are listed in proper manner along with start date and
end date and information related to it.
Advantages:
• Simplify Project –
Gantt charts are generally used for simplifying complex projects.
• Establish Schedule –
It simply establishes initial project schedule in which it mentions who is going to
do what, when, and how much time it will take to complete it.
• Provide Efficiency –
It brings efficiency in planning and allows team to better coordinate project
activities.
• Emphasize on scope –
It helps in emphasizing i.e., gives importance to scope of individual tasks.
• Ease at understanding –
It makes it for easy stakeholders to understand timeline and brings clarity of dates.
• Visualize project –
It helps in clearly visualizing project management, project tasks involved.
• The size of bar chart dost not necessarily indicate amount of work done in project.
Applications
• Advertising Manager –
Advertising Managers generally controls and supervises end result of advertising
• Operations Manager –
Operations Managers generally control and handle resources that are essential for
company operations.
• Project Manager –
etc.