SE-Unit-3-Software Project Management
SE-Unit-3-Software Project Management
SE-Unit-3-Software Project Management
Managing Software
Projects
Outline
Looping
W5HH of Project Management
Software Metrics
Process, Product and Project Metrics
Software Project Estimations
Software Project Planning
Project Scheduling and Tracking
Risk Analysis and Management
Risk Identification
Risk Projection
Risk Refinement
Risk Mitigation
Software Project Management
W5HH of Project Management
Boehm suggests an approach (W5HH) that addresses project
objectives, milestones and schedules, responsibilities, management
and technical approaches, and required resources
Why is the system being developed?
Enables all parties to assess the validity of business reasons for the software
work. In another words - does the business purpose justify the expenditure of
people, time, and money?
W5HH
It is applicable regardless of size or complexity of
software project
Unit 3 – Managing Software Projects 4
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 5
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 6
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
Process Metrics are collected across all Defects delivered to and reported by the end
users
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
n
Size
Organic Typically Small Size Project, Experienced developers
Familiar &
2-50 in the familiar environment, e.g. Payroll,
KLOC
In-house
Inventory projects etc.
Semi Typically Medium Size Project, Medium Size Team,
Medium
Medium
Detached 50-300 Average Previous Experience, e.g. Utility Medium
KLOC Systems like Compilers, Database Systems,
editors etc.
Complex hardware
Significant
Tight
Embedded Typically Large Project, Real Time Systems, Complex
Required
Over 300 interfaces, very little previous Experience. & customer
KLOC E.g. ATMs, Air Traffic Controls Interfaces
was proposed by
Boehm • KLOC is the estimated size of the software product expressed in Kilo Lines of
Code
According to Boehm, • a1, a2, b1, b2 are constants for each category of software products,
software cost • Tdev is the estimated time to develop the software, expressed in months,
• Effort is the total effort required to develop the software product, expressed in
estimation should be
person months (PMs).
done through three Project a1 a2 b1 b2
stages:
Basic COCOMO Organic 2.4 1.05 2.5 0.38
Semidetached 3.0 1.12 2.5 0.35
Intermediate COCOMO
Embedded 3.6 1.20 2.5 0.32
Complete COCOMO
Unit 3 – Managing Software Projects 29
Basic COCOMO Model Cont.
The effort estimation is expressed in units of person-months (PM)
It is the area under the person-month plot (as shown in fig.)
An effort of 100 PM
does not imply that 100 persons should work for 1 month
does not imply that 1 person should be employed for 100 months
it denotes the area under the person-month curve (fig.)
Every line of source text should be calculated as one LOC irrespective of the actual
number of instructions on that line
If a single instruction spans several lines (say n lines), it is considered to be nLOC
The values of a1, a2, b1, b2 for different categories of products (i.e. organic, semidetached,
and embedded) as given by Boehm
He derived the expressions by examining historical data collected from a large number of
actual projects
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
𝑎2
𝑬𝒇𝒇𝒐𝒓𝒕 =𝑎 1 + ( 𝐾𝐿𝑂𝐶 ) 𝑃𝑀 𝑻𝒅𝒆𝒗 =𝑏 1 × ( 𝐸𝑓𝑓𝑜𝑟𝑡 )𝑏 𝑀𝑜𝑛𝑡h𝑠 2
1.05
¿ 2.4 + ( 32 ) 𝑃𝑀 ¿ 2.5 × ( 91 )0.38 𝑀𝑜𝑛𝑡h𝑠
¿ 9 1 𝑃𝑀 ¿ 14 𝑀𝑜𝑛𝑡h𝑠
Cost required to develop the product = 14 x 15000 = Rs. 2,10,000/-
Unit 3 – Managing Software Projects 32
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 33
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
It is an action that distributes estimated effort across the planned project duration, by
allocating the effort to specific software engineering tasks
Scheduling Principles
Where activities
overlap with other
activities, and by how
much
• The critical path is the sequence of activities with the longest duration.
• A delay in any of these activities will result in a delay for the whole project.
• Float is the amount of time an activity can slip before it causes your project to be delayed.
Float is sometimes referred to as slack.
• Each of the activities on critical path has a float of
zero.
• If any of those activities slips, the project will be
delayed.
• Then take the next longest path. Subtract its duration
from the duration of the critical path. That's the float
for each of the activities on that path.
• Continue doing the same for each subsequent longest
path until each activities float has been determined.
• If an activity is on two paths, it's float will be based
on the longer path that it belongs to.
Unit 3 – Managing Software Projects 45
CPM (Critical Path Method) - Example
Possible paths
Start A C F Finish: 13
Start B D E Finish : 09
Start A D E Finish : 08
Start B F Finish : 09
Critical Path
Slack = 0
Slack = 0 Slack = 0
EST = 0 EST = 7
EST = 2
EFT = 2 EFT = 13
EFT = 7
LF = 2 LF = 7 LF = 13
LS = 0 LS = 2 LS = 7
RMM
M
Risk Mitigation is a problem avoidance activity