Unit 3 (A)
Unit 3 (A)
W5HH
It is applicable regardless of size or complexity of
software project
Unit 3 – Managing Software Projects 2
Terminologies
Measure Indirect Metrics
It provides a quantitative indication of the Aspects that are not immediately quantifiable
extent (range), amount, dimension, capacity or Ex., Functionality, Quality, Reliability
size of some attributes of a product or process
Ex., the number of uncovered errors Indicators
It is a metric or combination of metrics that
Metrics provides insight into the software process, project
It is a quantitative measure of the degree or the product itself
(limit) to which a system, component or It enables the project manager or software
process possesses (obtain) a given attribute engineers to adjust the process, the project or the
It relates individual measures in some way product to make things better
Ex., number of errors found per review Ex., Product Size (analysis and specification
metrics) is an indicator of increased coding,
Direct Metrics integration and testing effort
Immediately measurable attributes
Faults
Ex., Line of Code (LOC), Execution Speed,
Defects Reported Errors - Faults found by the practitioners during
software development
Defects - Faults found by the customers after
release
Unit 3 – Managing Software Projects 3
Why to Measure Software?
1 To determine (to define) quality of a product or process.
2 To predict qualities of a product or process.
3 To improve quality of a product or process.
Metric Classification Base
Process
Specifies activities related to production of software.
Specifies the abstract set of activities that should be performed to go from user needs to final product.
Project
Software development work in which a software process is used
The actual act of executing the activities for some specific user needs
Product
The outcomes of a software project
All the outputs that are produced while the activities are being executed
Unit 3 – Managing Software Projects 4
Process Metrics
Process Metrics are an invaluable tool for We measure the effectiveness of a process by
companies to monitor, evaluate and improve deriving a set of metrics based on outcomes
their operational performance across the of the process such as,
enterprise
Errors uncovered before release of the software
They are used for making strategic decisions
Defects delivered to and reported by the end users
Process Metrics are collected across all
projects and over long periods of time Work products delivered
Their intent is to provide a set of process Human effort expanded
indicators that lead to long-term software
process improvement Calendar time expanded
Function / Application
Decomposition Techniques
Medium
Medium
Detached 50-300 Average Previous Experience, e.g. Utility Medium
KLOC Systems like Compilers, Database Systems,
editors etc.
Complex hardware &
Embedded Typically Large Project, Real Time Systems, Complex
Significant
Tight
Required
Over 300 interfaces, very little previous Experience. E.g. customer Interfaces
KLOC ATMs, Air Traffic Controls
Example: Assume that the size of an organic type software product has been estimated to be 32,000 lines of
source code. Assume that the average salary of software engineers be Rs. 15,000/- per month. Determine the
effort required to develop the software product and the nominal development time
𝑬𝒇𝒇𝒐𝒓𝒕 = 𝑎1 + 𝐾𝐿𝑂𝐶 𝑎2 𝑃𝑀 𝑻𝒅𝒆𝒗 = 𝑏1 × 𝐸𝑓𝑓𝑜𝑟𝑡 𝑏2 𝑀𝑜𝑛𝑡ℎ𝑠
= 2.4 + 32 1.05 𝑃𝑀 = 2.5 × 91 0.38 𝑀𝑜𝑛𝑡ℎ𝑠
= 91 𝑃𝑀 = 14 𝑀𝑜𝑛𝑡ℎ𝑠
Cost required to develop the product = 14 x 15000 = Rs. 2,10,000/-
Unit 3 – Managing Software Projects 30
Intermediate COCOMO model
The basic COCOMO model assumes that effort and development time are functions of the
product size alone
However, a host of other project parameters besides the product size affect the effort required
to develop the product as well as the development time
Therefore, in order to obtain an accurate estimation of the effort and project duration, the
effect of all relevant parameters must be considered
The intermediate COCOMO model recognizes this fact and refines the initial estimate obtained
using the basic COCOMO expressions by using a set of 15 cost drivers (multipliers) based on
various attributes of software development
For example, if modern programming practices are used, the initial estimates are scaled downward by
multiplication with a cost driver having a value less than 1
It requires the project manager to rate these 15 different parameters for a particular project on
a scale of one to three.
Then, depending on these ratings, appropriate cost driver values which should be multiplied
with the initial estimate obtained using the basic COCOMO.
Unit 3 – Managing Software Projects 31
Intermediate COCOMO model Cont.
The cost drivers can be classified as being attributes of the following items
Product: The characteristics of the product that are considered include the inherent complexity
of the product, reliability requirements of the product, etc.
Computer: Characteristics of the computer that are considered include the execution speed
required, storage space required etc.
Personnel: The attributes of development personnel that are considered include the experience
level of personnel, programming capability, analysis capability, etc.
Development Environment: Development environment attributes capture the development
facilities available to the developers. An important parameter that is considered is the
sophistication of the automation (CASE) tools used for software development