Chapter-IV Software Project Estimation
Chapter-IV Software Project Estimation
SEN-22413
UNIT-IV
SOFTWARE PROJECT ESTIMATION
• COCOMO
• RISK MANAGEMENT
MANAGEMENT SPECTRUM
• PEOPLE
• PRODUCT
• PROCESS
• PROJECT
• THE PEOPLE
• There is strong need for motivated and highly skilled people for developing
the software product.
• RECRUITMENT
• SELECTION
• PERFORMANCE MANAGEMENT
• TRAINING COMPENSATION
• CAREER DEVELOPMENT
• CULTURE DEVELOPMENT
MANAGEMENT SPECTRUM
• THE PRODUCT
– Budget restrictions
– Personal availability
MANAGEMENT SPECTRUM
• THE PROCESS
• THE PROJECT
No adaption of
best practices
METERICS FOR SIZE ESTIMATION
FUNCTION POINT
LOC BASED
BASED
ESTIMATION
ESTIMATION
METERICS FOR SIZE ESTIMATION
DOC(pgs
PROJECT LOC EFFORTS COST ($) ERRORS DEFECTS PEOPLE
.)
• MEASURING SIZE
• Efforts = Person/month
• Cost = $/KOLC
• FUNCTION POINTS
• NUMBER OF FILES
NUMBER OF USER
X 4 5 7
OUTPUTS
NUMBER OF USER
X 3 4 6
INQUIRIES
NUMBER OF FILES X 7 10 15
NUMBER OF EXTERNAL
X 5 7 10
INTERFACES
COUNT TOTAL
METERICS FOR SIZE ESTIMATION
• Productivity = FP / person-month
• Cost = $/FP
EXAMPLE
NUMBER OF USER
10 X 4 ---- ---- 40
OUTPUTS
NUMBER OF USER
6 X 3 ---- ---- 18
INQUIRIES
NUMBER OF EXTERNAL
4 X ---- 7 ---- 28
INTERFACES
= 233 x 0.97
FP = 226.0.1
• HEUTRISTIC TECHNIQUE
• Heuristic word is derived from a Greek word that means “to discover”.
• These techniques are flexible and simple for taking quick decisions
through shortcuts and good enough calculations, most probably when
working with complex data.
PROJECT COST ESTIMATION APPROACHES
• HEUTRISTIC TECHNIQUE
• But the decisions that are made using this technique are necessary to be
optimal.
• EMPIRICAL TECHNIQUE
• Empirical estimation is a technique or model in which empirically derived
formulas are used for predicting the data that are a required and essential
part of the software project planning step.
• These techniques are usually based on the data that is collected previously
from a project and also based on some guesses, prior experience with the
development of similar types of projects, and assumptions.
• ANALYTICAL TECHNIQUE
• Analytical estimation is a type of technique that is used to measure work.
• In this technique, firstly the task is divided or broken down into its basic
component operations or elements for analyzing.
• Second, if the standard time is available from some other source, then
these sources are applied to each element or component of work.
• Third, if there is no such time available, then the work is estimated based
on the experience of the work.
• DEFINITION
• ORGANIC PROJECT
• SEMI-DEATCHED PROJECT
• EMBEDDED PROJECT
INTERMEDIATE DETAILED
BASIC MODEL
MODEL MODEL
COCOMO
• BASIC MODEL
• It mainly deals with the number of lines of code and the level
of estimation accuracy is less as we don’t consider the all
parameters belongs to the project.
COCOMO
• The estimated effort and scheduled time for the project are given by the
relation:
• Where,
• KLOC = the size of the code for the project in Kilo lines of code.
SOFTWARE PROJECTS a b c d
• Effort Estimation
• Person Estimation
• INTERMEDIATE MODEL
• Where,
• KLOC = The size of the code for the project in Kilo lines of code.
• Example: For a given project was estimated with a size of 300 KLOC.
Calculate the Effort, Scheduled time for development by considering
developer having high application experience and very low experience in
programming.
• DETAILED MODEL
• COCOMO-II MODEL
• It is the model that allows one to estimate the cost, effort and
schedule when planning a new software development activity.
COCOMO-II
• THE SUB-MODELS IN COCOMO-II:
• REUSE MODEL.
– Used to compute the effort of integrating reusable components.
• POST-ARCHITECTURE MODEL.
– Used once the system architecture has been designed and more information
about the system is available.
COCOMO-II
• APPLICATION COMPOSITION MODEL
• WHERE,
VERY VERY
CASE maturity LOW NOMINAL HIGH
LOW HIGH
Productivity
4 7 13 25 50
(NOP/months)
COCOMO-II
• EARLY DESIGN MODEL
Effort = A x sizeB x M
• Where,
• Size in KLOC
• Schedule (SCED)
COCOMO-II
PM = A x sizeB x M
• Takes into account black-box code that is reused without change and code
that has to be adapted to integrate it with new code.
PM = (ASLOC * AT/100)/ATPROD
• Where,
• Uses the same formula as the early design model but with 17 rather than
7 associated multipliers.
• The risk denotes the uncertainty that may occur in the choices
due to past actions and risk is something which causes heavy
losses.
• RISK IDENTIFICATION
• RISK ASSESSMENT
• RISK CONTATINMENT
• RMMM STRATEGY
RISK MANAGEMENT
• CATEGORIES OF SOFTWARE RISK
• PROJECT RISKS
• This type of risks contain risks of building an excellent product that no one
need, losing budgetary or personnel commitments, etc.
• MARKET RISK
• STRATEGIC RISK
• SALES RISK
• MANAGEMENT RISK
• BUDGET RISK
RISK MANAGEMENT
• OTHER RISK CATEGORIES
• KNOWN RISKS
• PREDICTABLE RISKS
• UNPREDICTABLE RISKS
• Those risks that can and do occur, but are extremely tough to
identify in advance.
RISK MANAGEMENT
• RISK MANAGEMENT ACTIVITIES
• RISK IDENTIFICATION
• It is based on 2 approaches:
TECHNOLOGY BUISNESS
TO BUILT IMPACT
PREPARATION
OF RISK ITEM
STAFF SIZE &
EXPERIENCE
CHECK LIST CUSTOMER
CHARACTERISTICS
DEVELOPMENT PROCESS
ENVIRONMENT DEFINITION
RISK MANAGEMENT
• CREATING RISK COMPONENTS AND DRIVERS LIST
• There are different types of risks which can affect a software project:
• Technology risks: Risks that assume from the software or hardware technologies
that are used to develop the system.
• People risks: Risks that are connected with the person in the development team.
• Tools risks: Risks that assume from the software tools and other support software
used to create the system.
• Requirement risks: Risks that assume from the changes to the customer
requirement and the process of managing the requirements change.
• Estimation risks: Risks that assume from the management estimates of the
resources required to build the system.
RISK MANAGEMENT
• RISK MANAGEMENT ACTIVITIES
• RISK PROJECTION
• Maintain the overall accuracy of the risk projection in order to have clear
understanding of the software that is to be built.
RISK MANAGEMENT
• RISK MANAGEMENT ACTIVITIES
• RISK ASSESSMENT
p=r*s
• Where,
RISK
RISK ANALYSIS RISK PRIORITIZED
IDENTIFICATION
SR.
RISK ITEM MANAGEMENT TECHNIQUES
NO.
Requirement changes
6 Incremental Development.
occur frequently
Shortfall in externally
7 Reference checking, auditing, prototyping.
done tasks
Shortfall in externally
8 Reference checking and inspections.
developed components
Real-Time performance
9 Simulation, Modelling, Prototyping.
shortfall
• It is calculated as:
• RISK CONTAINMENT
• RMMM STRATEGY
• It assumes that the mitigation activity failed and the risk is a reality.
• This task is done by Project manager when risk becomes reality and causes
severe problems.
• This shows that the response that will be taken for each risk by a manager.
• The main objective of the risk management plan is the risk register.