SPM_UNIT-2.2
SPM_UNIT-2.2
SOFTWARE PROJECT
PROJECT
MANAGEMENT
MANAGEMENT
(KOE-068)
(KOE-068)
Faculty: K P Singh
Course: B.Tech 6th Semester
Session 2021-22
Department of Computer Science & Engineering
02/13/2025 1
University Syllabus
Unit-2: Project Life Cycle and Effort Estimation:
02/13/2025 2
UNIT-2
UNIT-2
LECTURE-
LECTURE-
Effort
Effort Estimation
Estimation
Faculty: K P Singh
Department of Computer Science &
Engineering
02/13/2025 3
Software Effort Estimation
Successful project is that the system is
delivered on time and within budget and
with the required quality.
Software effort estimation
Difficulties in Software estimation
Novel Application of Software
Changing Technology
Lack of homogeneity of project experience
Subjective Nature of estimating
Political Implications
Note:
SLOC - Source Number of Lines of Code
Project Data WM - Work in Month
Where are estimates done?
Estimates are carried out at various stages of software project .
Strategic Planning
Decide priority to each project.
Feasibility Study
Benefits of potential system
System Specification
Detailed requirement analysis at design stage.
Evaluation of Suppliers Proposals
Tender Management
Project Planning
Detailed estimates of smaller work components
during implementation.
Software Effort Estimation Techniques
Algorithmic Models - use ‘effort drivers’ representing
characteristics of the target system and the implementation
environment to predict effort
Expert Judgment - Advice of knowledgeable staff is solicited
Analogy – Similar Completed Project
Parkinson – Staff Effort available to do project
Price to Win – Sufficiently low to win a contract.
Top-down – Overall estimate is formulated
Bottom-up – Individual components are aggregated
Expert Judgment
Asking for estimate of task effort from someone who
is knowledgeable about either application or
development environment.
Experts use the combination of informal
analogy approach where similar Projects from past
are identified and b ottom up estimating.
Estimating by Analogy
Called “ C a s e Based Analogy”
Estimator identifies completed projects source cases
with similar characteristics to new project (target case)
Effort of the source case used as base estimate for
target.
TOOL – ANGEL software tool
Measuring Euclidean Distance between the cases
Problems with Over and Under Estimates
Parkinson’s Law
“Given an easy target staff will work less hard”
Brook’s Law
Effort required to implement a project will go up
disproportionately with the number of staff
assigned to the project
“ Putting more people on a late job makes it later”
Bottom-up Estimating
Work Breakdown Structure
Assumptions about characte ristics of final system
Number and Size of software modules.
Appropriate at detailed sta ges of project
planning.
When a project is completely novel or no
historical data available.
Top-down Approach and Parametric Models
Effort = (system size ) * (productivity rate)
System size in the form of KLO C
Productivity rate 40 days per KLO C
Software module to b e constructed is 2 KLO C
Effort = 2 * 80 = 160 days
Note:
KLOC- Thousands of Lines of Code
Measure of Work
Measure such as
🞑 SLOC ( Source Lines of Code)
🞑 KLOC ( Thousand Lines of Code)
Need for Software Sizing
1. Estimation and Budgeting
2. Phasing Development Work
3. Prioritization of Work
4. Monitoring the Progress
5. Bidding for Projects
6. Allocating Testing Resources
7. To measure and Manage Productivity
8. Risk Assessment
9. Software Asset Valuation
10. CMMi Level 2 and 3 require that a valid sizing method be
used.
1
Software Sizing – Lines of Code
The easiest and historically the most common method in Sizing
Software project has been counting the number of lines of code
and / or the number of screens.
Advantages
Automation of the counting process can be done
Intuitive as the measurements are easily understood
Disadvantages
Lines of Code is language and the skill set of the developer
The coding phase is only around 30-35% of the actual software
development.
Lack of counting standards (What about comments, notes etc.?)
1
Lines of Code
• Language Dependent
• Skill dependent
• Unknown until written
• No Standards
• Function Points are better
History
1979 – Function Points introduced by Alan Albrecht
1984 – First FP guidelines
1986 – First IFPUG Board of directors
1994 – CPM Release 4.02003 ISO Standard
2003 – ISO Standard
1
Best in Class Software Companies
• Higher Productivity Best In Class
• 30% Requirement
• Higher Quality • 35% Design
• 25% Coding
• Less over time • 10% Testing
1
Objectives of Function Point
Measures software by quantifying the functionality
requested by and provided to the customer based
primarily on logical design.
Measures software development and
maintenance independently of technology used
for implementation.
Measures software development and
maintenance consistently across all projects and
organizations.
19
Types of Function Point Counts
Development
All Phases through development
Forms a baseline
Enhancement
In Production,
has a baseline
Count the size of the successive enhancements
Application
In Production, o baseline Forms a baseline
20
Major App Sizes (2010)
Applications Approximate Size in
Function Points
Star Wars Missile Defense 350,000
ERP (SAP, Oracle etc.,) 300,000
Microsoft Windows Vista 159,000
Microsoft Office 2007 98,000
Airline Reservation System 50,000
NASA Space shuttle 25,000
21
Changes to requirements
Requirements Functional Detail
Design Design
Delivered
Application
100 FPs 120 FPs 130 FPs 135 FPs
• State code input screen • New regulatory Summary report
changed (3 FPs) • added (5 FPs)
• Interface to N&A file table added (10 FPs)
added (10 FPs)
• N&A inquiry and state
Impact FPs)
code inquiry added (7
Effort + 1 month + .5 month + .25 month
Schedule + 2 weeks + 1 week + 2.5 days
Cost + $5 K + $2.5 K + $1.25 K
23
FP - Functionalities
Data Functionality • Transaction Functionality
◦ Internal Logical Files (ILF) • External Inputs (EI)
◦ External Interface Files (EIF) • External Outputs (EO)
• External Queries (EQ)
FP Data & Transaction
External Input (EI)
Functionality
External Input (EI) PURCHASE
USER USER ORDER
PURCHASE SYSTEM
ADD, CHG INVOICES PAYMENTS ORDER INFO
External
Interface File
Services Layer (EIF)
External Query (EQ)
Repository (Persistence Layer) USER
PAYMENT
STATUS
Invoices Vendor Payments
(Table) (Table) (Table) External Output (EO)
USER
Internal Logical Files (ILF) PAID
INVOICES
Accounts Payable App APP BOUNDARY
25
Albrecht Function Point Analysis
Top-down method devised by Allan Albrecht(IBM)
Developed the idea of Function Points(FPs)
Basis of function point analysis has five
components:
🞑 External Input Types
🞑 External Output Types
🞑 External Inquiry Types – US spelling inquiry
🞑 Logical Internal File Types – Data store
🞑 External Interface File Types – To & Fro (BACS)
BACS-Bank Automation Clearing System
External Input Types: are input transactions that update internal computer
files
External Interface Files (EIF):
The second Data Function a system provides an end user is also
related to logical groupings of data. In this case the user is not responsible for
maintaining the data. The data resides in another system and is maintained
by another user or system. The user of the system being counted requires this
data for reference purposes only.
For example, it may be necessary for a pilot to reference position data from a
satellite or ground-based facility during flight.
The pilot does not have the responsibility for updating data at these sites but
must reference it during the flight.
Groupings of data from another system that are used only for reference
purposes are defined as External Interface Files (EIF).
Transactional Functions
These functions address the user's capability to access the data contained in ILFs
and EIFs. This capability includes maintaining, inquiring and outputting of data.
These are referred to as Transactional Functions.
External Inputs (EI)
This Transactional Function allows a user to maintain Internal Logical Files
(ILFs) through the ability to add, change and delete the data. For example, a
pilot can add, change and delete navigational information prior to and during
the mission.
28
External Output (EO)
This Transactional Function gives the user the ability to produce outputs. For example
a pilot has the ability to separately display ground speed, true air speed and calibrated
air speed. The results displayed are derived using data that is maintained and data
that is referenced. In function point terminology the resulting display is called an
External Output (EO).
29
External Queries (EQ)
Input Side Output Side
• Click of a the mouse • Values read from an internal
• Search values logical file or external interface file
• Action keys (command buttons) • Color or Font changes on the
• Error Messages screen
• Confirmation Messages • Error Messages
(searching) • Confirmation Messages
• Clicking on the an action key • Recursive fields are counted only
• Scrolling once.
Recursive fields are
counted only once.
30
Albrecht Complexity Multipliers
Unadjusted Function Point Calculator
Complexity of Components
Component Type Low Average High L+A+H Total
32
IFPUG File Type Complexity
Function Points Mark II
Sponsored by CCTA(Central Computer and
Telecommunications Agency)
Mark II – Improvement and replacement in
Albrecht method
In Albrecht method
Information
Processing Size is measured in
UFPs(Unadjusted Functional Points)
Then TCA(Technical Complexity Adjustment) is
applied
Model of Transaction
Data Store
Input O utput
From User Process Return to
User
For each transaction UFPs are calculated
UFPs = Wi * (number of input data element types)+ We
* (number of entity types referenced)+ Wo * (number of
output data element types)
W i We Wo are weightings derived by asking the
developers the proportions of effort spent.
FP counters use industry averages which are:
Wi = 0.58
We = 1.66
Wo = 0.26
COSMIC Full Function Points
C o smic deals with decomposing the system architecture
into hierarchy of software layers.
Inputs and outputs are a gg reg ated into data groups
Each data group brings together data items that relate to
the same object of interest.
Data Groups can be moved in 4 ways:
Entries(E)
Exits(X)
Reads ( R)
Writes(W)
B.W. Boehm Introduced C O C O M O model in 1981.
Based on a cost database of more than 60
different projects
This model estimates the total effort in terms
of
“person-months” of the technical project staff.
C O C O M O is a hierarchy of cost estimation models it
Limitations :
1. The accuracy of this model is limited because it does not consider certain
factors for cost estimation of software. These factors are hardware
constraints, personal quality and experiences, modern techniques and
tools.
2. The estimates of Cocomo model are within a factor of 1.3 only 29% of the
time and within the factor of 2 only 60% of time.
In the Intermediate model Boehm introduced an additional set of 15
predictors called cost drivers in the intermediate model to take account of
the software development environment. Cost drivers are used to adjust
the nominal cost of a project to the actual project environment to increase
the accuracy of the estimate.
The cost drivers are grouped into 4 categories:-
1. Product attributes
a. Required software reliability (RELY)
b. Database size (DATA)
c. Product complexity (CPLX)
2. Computer attributes
a. Execution time constraint (TIME)
b. Main store constraint (STOR)
c. Virtual machine volatility (VIRT)
d. Computer turnaround time (TURN)
3. Personnel attributes
a. Analyst capability (ACAP)
b. Application experience (AEXP)
c. Programmer capability (PCAP)
d. Virtual machine experience (VEXP)
e. Programming Language experience (LEXP)
4. Project attributes
a. Morden programming practices (MODP)
b. Use of software tool (TOOL)
c. Required development schedule (SCED)
Each cost driver is rated for a given project environment. The rating
uses a scale very low, low, nominal, high, very high, extra high which
describes to what extent the cost driver applies to the project being
estimated.
This model Identifies personnel, product, computer and project
attributes which affect cost
02/13/2025 49
The Intermediate C O C O M O equations E A F = Effort
take the form: Adjustment factor
E = a i (KLOC) b i * EAF E = effort
D = ci (E)d i D = Deployment time
S S = E/D persons S S = staff size
P = KLOC/E P = productivity
a i , bi , ci , di = Coefficients
Capabilities
Of
Detailed Model
Three-L e vel
Phase-Sensitive
Product
Effort Multipliers
Hierarchy
Phase-Sensitive Effort Multipliers:
Some phases (design, programming, integration/test) are
more affected than others by factors defined by the cost
drivers. This helps in determining the man power allocation
for each phase of the project.
🞑 Size = kdsi