presenter covers merged - stickyminds · leveraging function points in an earned value management...
TRANSCRIPT
BIOPRESENTATION
Better Software Conference & EXPOSeptember 27-30, 2004
San Jose, CA USA
W5
September 29, 2004 1:45 PM
LEVERAGE EARNED VALUEMANAGEMENT WITH FUNCTION
POINT ANALYSIS
Ian BrownBooz Allen Hamilton
Ian BrownIan Brown is a senior associate with Booz Allen Hamilton, leads the firm’s softwaremeasurement and estimation practice. He has 7 years of experience in softwaremeasurement and analysis, software cost and schedule estimation, CMM/CMMI, andgoal-question-metric (GQM) implementation. Ian is currently Chair of the InternationalFunction Point Users Group’s (IFPUG) Annual Conference and has presented at severalnational software conferences. Ian is a Certified Function Point Specialist (CFPS) andearned his bachelors degree from Cornell University and his master degree in publicpolicy from Harvard University.
Leverage Earned Value Managementwith Function Point Analysis
Ian Brown, CFPSBooz Allen Hamilton8283 Greensboro Dr.McLean, VA 22102USA
Copyright © 2004 Booz Allen Hamilton
1Copyright © 2004 Booz Allen Hamilton
Contents
4Purpose
4Earned Value Management (EVM) Overview
4 Function Point Analysis (FPA) Overview
4Applying FPA to EVM
2Copyright © 2004 Booz Allen Hamilton
Challenged Projects by Schedule Overruns
30% 29%26%
14%
1%0%
10%
20%
30%
40%
<20% 21-50% 51-100% 101-200% >200%
Succeeded34%
Challenged51%
Failed15%
The purpose of this brief is to demonstrate how function pointanalysis can improve cost and schedule control on softwaredevelopment projects4Software development projects are notorious
for cost and schedule overruns
Leveraging function points in an earned value management (EVM)framework can significantly improve a project’s chances of success
Source: The Standish Group, CHAOSChronicles Version 3.0, 2002
Project Resolution by Type
Challenged Projects by Cost Overruns
46%
27%
18%
7%2%
0%
10%
20%
30%
40%
50%
<20% 21-50% 51-100% 101-200% >200%
3Copyright © 2004 Booz Allen Hamilton
Overview of Earned Value Management
4Copyright © 2004 Booz Allen Hamilton
EVM is the systematic integration and measurement of cost,schedule, and performance accomplishments on a project
4Provides strong benefits for programplanning and control
4Emphasizes disciplined integration oftechnical performance to associatedcost and schedule
4Provides a sound basis for problemidentification, corrective actions, andmanagement replanning as may berequired
4Objectively measures work progress
4Industry Standard ANSI/EIA-748-1998
Scope
Cost
Schedule
EVM
Scope
Cost
Schedule
EVM
Scope
Cost
Schedule
EVM
5Copyright © 2004 Booz Allen Hamilton
EVM is a subset of a broader project management system
ScopeDefinitionScope
Definition
NeedsStatement
NeedsStatement
PerformanceMeasurement
Planning
PerformanceMeasurement
Planning
ProjectCharterProjectCharter
Detailed CostEstimate
Quality
Schedule/Cost
Contract Mgmt Contract Mgmt
Config Mgmt
Initiation
Shaded boxes indicate EVM requirements
WBS
Execution & ControlPlanning
Schedule andMilestones
PerformanceMeasures
ProjectManagement
Plan
PerformanceMeasuresAnalysis
Risk Risk
Quality Quality
Communications Communications
Organization Organization
Schedule/Cost Control
People/Resources People/Resources
Change Control
Risk Control Risk Control
Quality Control Quality Control
Deliverables
Reporting
6Copyright © 2004 Booz Allen Hamilton
Project APlanned vs. Actuals
$
$50
$100
$150
$200
$250
$300
$350
Q1 Q2 Q3 Q4 Q5 Q6
Dol
lars
in 0
00s
Planned
Actual
Planned Cost: $150K
Actual Cost: $110K
Status Date
Traditional project management typically looks at two sources ofcost data: planned and actual expenditures
4 The comparison of budgeted versus actualexpenditures merely indicates plannedspending versus what was actually spent atany point in time
4 This approach can give an inaccuratepicture of current status
4 This two-dimensional comparison providesno assessment of the value of the workperformed to date
Does management need to take corrective action, or is the projectsimply coming in below budget?
Halfway to complete, Project A hasspent $40K less than planned
But how much work has actuallybeen completed?
Halfway to complete, Project A hasspent $40K less than planned
But how much work has actuallybeen completed?
7Copyright © 2004 Booz Allen Hamilton
Project AEarned Value
$
$50
$100
$150
$200
$250
$300
$350
Q1 Q2 Q3 Q4 Q5 Q6D
olla
rs in
000
s
PlannedActualEarnedPlanned Cost: $150K
Actual Cost: $110K
Status Date
Value of Work: $90K
Earned value management utilizes three data sources: planned andactual expenditures, plus earned value of completed work4EVM looks at two critical variances
– Difference between planned value of workto the earned value achieved (schedule)
– Difference between the earned valueachieved and the actual expendituresrequired to accomplish that work (cost)
4 This approach gives a true representation ofthe current project status
4History indicates that these types of costoverruns do not correct themselves over thecourse of the project
Cost and schedule performance indexes can be used to forecast a morerealistic final cost
Project A spent $110K for $90Kworth of work – a $20K overrun –and is also behind schedule
Project A spent $110K for $90Kworth of work – a $20K overrun –and is also behind schedule
8Copyright © 2004 Booz Allen Hamilton
In summary, EVM requires three critical pieces in order to succeed
4 Accurate estimates of budgetand schedule are key factorsin effective EVMimplementation
4 Unachievable cost andschedule plans set the projectup for failure from the start
4 Basis of estimate must bewell-defined and clearlyunderstood
Good baseline cost andschedule plans at the
project start
Good baseline cost andschedule plans at the
project start
� Provide a structuredchange control processthat effectively assesses
impact to cost andschedule
Provide a structuredchange control processthat effectively assesses
impact to cost andschedule
�Accurately and
quantitatively assesspercent complete
Accurately andquantitatively assess
percent complete
�
4 Changes to project scopemust be controlled in order forEVM to be effective
4 Change control process mustbe able to demonstrateimpacts to cost and scheduleof new/changed requirements
4 If changes are accepted, costand schedule baseline plansmust be updated
4 Earning value is dependentupon progress of the projectagainst the cost and scheduleplans
4 Work completed must be ableto be quantitatively measuredand expressed
Function points provide the ability to perform each of these on softwaredevelopment projects
9Copyright © 2004 Booz Allen Hamilton
Overview of Function Point Analysis
10Copyright © 2004 Booz Allen Hamilton
Size is one of the most important inputs into software cost andschedule estimates4Size can be the single most influential cost
driver of a software development effort
4Software size is measured in many differenttypes of units
– Lines of code
– Objects
– Testable requirements
– Use case points
– Function points• International Function Point Users Group
(IFPUG)• Mark II• Cosmic
OUTPUT RESULTSOUTPUT RESULTSINPUT PARAMETERSINPUT PARAMETERS
Estimation Model
PROJECTSIZE
PROJECTSIZE
PERSONNELPERSONNEL
DEVELOPMENTENVIRONMENT
DEVELOPMENTENVIRONMENT
PROJECTCOMPLEXITY
PROJECTCOMPLEXITY
CONSTRAINTSCONSTRAINTS
EFFORTEFFORTEFFORT
COSTCOSTCOST
SCHEDULESCHEDULESCHEDULE
RISKRISKRISK
MAINTENANCEMAINTENANCEMAINTENANCE
OUTPUT RESULTSOUTPUT RESULTSOUTPUT RESULTSOUTPUT RESULTSINPUT PARAMETERSINPUT PARAMETERSINPUT PARAMETERSINPUT PARAMETERS
Estimation Model
Estimation Model
PROJECTSIZE
PROJECTSIZE
PERSONNELPERSONNEL
DEVELOPMENTENVIRONMENT
DEVELOPMENTENVIRONMENT
PROJECTCOMPLEXITY
PROJECTCOMPLEXITY
CONSTRAINTSCONSTRAINTS
EFFORTEFFORTEFFORT
COSTCOSTCOST
SCHEDULESCHEDULESCHEDULE
RISKRISKRISK
MAINTENANCEMAINTENANCEMAINTENANCE
IFPUG function points are the only size measure with clearly definedstandards, as well as a governance structure that reviews and updatesrules and guidance
11Copyright © 2004 Booz Allen Hamilton
Function points measure software size based on the functionalityrequested by and provided to the end user
Function point countingresources
ü User/analyst interviewsü Requirements documentsü Design documentsü Data dictionariesü Use casesü User guidesü Screen capturesü Actual softwareü Entity-relationship modelsü Semantic object models
Function point countingresources
ü User/analyst interviewsü Requirements documentsü Design documentsü Data dictionariesü Use casesü User guidesü Screen capturesü Actual softwareü Entity-relationship modelsü Semantic object models
Application Being Assessed
Internal Logical Data
End user
InputsOutputs
Inquiries
Other Applications/Systems
Inputs
Outputs
Inquiries
External Interfaces
Application Being Assessed
Internal Logical Data
End user
InputsOutputs
Inquiries
Other Applications/Systems
InputsInputs
OutputsOutputs
Inquiries
External Interfaces
Function points represent logical size, as opposed to physical size (likeSLOC or objects)
12Copyright © 2004 Booz Allen Hamilton
More complex functions contribute a higher number of functionpoints to the logical size
4Data functions represent logical groupings of thedata that end users need to do their jobs
– Internal data maintained by the application
– External data referenced by the application
– Complexity is based on number of dataelements and logical sub-groupings
4 Transactional functions are the processes andactions that end users utilize to manipulate andmanage that data in the course of doing their jobs
– Inputs (add, edit, delete, etc.)
– Outputs (reports, etc.)
– Inquiries (search, retrieve, etc.)
– Complexity is based on number of dataelements and files referenced
Function Low Ave HighInternal Logical File 7 10 15
External Interface File 5 7 10External Input 3 4 6
External Output 4 5 7External Inquiry 3 4 6
Complexity
Function Point Complexity Matrix
Function Low Ave HighInternal Logical File 7 10 15
External Interface File 5 7 10External Input 3 4 6
External Output 4 5 7External Inquiry 3 4 6
Complexity
Function Point Complexity Matrix
13Copyright © 2004 Booz Allen Hamilton
Function point analysis (FPA) provides a consistent, documentable,repeatable measurement methodology
4Standards are established and managed by International FunctionPoint Users Group (IFPUG)
4 Function points accepted as a standard size measure by ISO(ISO 20926:2003)
4Certified Function Point Specialist (CPFS) professional certificationprogram recognizes trained experts
4Because it is linked directly to system requirements and functionality,FPA puts size analysis into terms that a client or end user canunderstand
– Function points can help with communications between the enduser community and the developer• A client would never say, “I need a system that is 20,000 lines of code”
• A client says, “Build me a system that does this and supports theseprocesses”
14Copyright © 2004 Booz Allen Hamilton
FPA offers many advantages over other software sizing techniques
Pros4 Standards established and reviewed frequently
(IFPUG)4 Available from early requirements stage and
applicable for full life-cycle analysis4 Technology, platform, language independent4 Provides advantages over lines of code (not
dependent on engineering estimates, bettermetrics)
4 Fully documentable and repeatable4 Assists with requirements management;
functional size traceable throughout entire lifecycle
4 Provides quantitative basis for earned valuemanagement
Cons4 Accurate counting requires in-depth knowledge of
standards
4 Largely manual process
4 Some variations exist that aren’t standardized(Mark II, 3D, full, feature points, object points, etc.)
Without Function Point Analysis
With Function Point Analysis
Source: Software Productivity Research
On-time Late Cancelled
75%
5%
20%
45%15%
40%
Without Function Point Analysis
With Function Point Analysis
Source: Software Productivity Research
On-time Late CancelledOn-time Late CancelledOn-timeOn-time LateLate CancelledCancelled
75%
5%
20%
45%15%
40%
15Copyright © 2004 Booz Allen Hamilton
Function point counting example, based on functionalrequirements
Average
Low
Low
Average
Complexity
51OutputThe system shall produce a monthlyemployee summary report
276Totals
31InquiryThe system shall permit the user tosearch for an employee
93InputThe system shall permit the user to add,change, and delete employee data
101Internal
logical fileThe system shall store employeeinformation
FunctionPoints
QuantityFunction
TypeRequirement
16Copyright © 2004 Booz Allen Hamilton
Applying FPA to EVM
17Copyright © 2004 Booz Allen Hamilton
Function point sizing can provide a solid basis of estimate for costand schedule plans
4Using a software estimation model, function points can then betranslated into cost and schedule estimates for the initial project plan
– Model should be tailored as much as possible to the specificdevelopment team and environment, and even calibrated withhistorical data if possible
Establish a good baseline cost and
schedule plan at the project start
Establish a good baseline cost and
schedule plan at the project start
� Establish a good baseline cost and
schedule plan at the project start
Establish a good baseline cost and
schedule plan at the project start
�
4 Initial FPA provides a functional baseline in termsof what will be developed
4 The process of FPA can also help identify anyrequirements gaps early in the development lifecycle
– Function points put the size assumptions intoterms the client can understand and can reviewfor completeness and accuracy
– Linking transactions with logical data can helpidentify where some requirements may havebeen overlooked or defined incorrectly
18Copyright © 2004 Booz Allen Hamilton
ID Task Name Duration Budget1 Design 24 days $3,375.00
2 Code 15 days $4,098.00
3 Test 18 days $6,027.00
W1 W2 W3 W4 W5 W6 W7 W8 W9 W10 W11 W12Month 1 Month 2 Month 3
ID Task Name Duration Budget1 Design 24 days $3,375.00
2 Code 15 days $4,098.00
3 Test 18 days $6,027.00
W1 W2 W3 W4 W5 W6 W7 W8 W9 W10 W11 W12Month 1 Month 2 Month 3
Size estimates can be directly linked to baseline requirements
4 The resulting project plan can reflect this linkage, which sets up asolid EVM framework
Establish a good baseline cost and
schedule plan at the project start
Establish a good baseline cost and
schedule plan at the project start
� Establish a good baseline cost and
schedule plan at the project start
Establish a good baseline cost and
schedule plan at the project start
�
Planned workallocated to eachrequirement
Planned schedulewith phase milestones
19Copyright © 2004 Booz Allen Hamilton
Cost and schedule re-estimation are essential aspects of aneffective, structured change control process
4Requirements for a software development project inevitably change orare redefined as design and development activities progress
– Before the changes are incorporated into the project scope, impactto cost and schedule must be evaluated
– The change control process should provide a go/no-go decision asto whether the requirements changes should be accepted ordelayed for future work
4Because they are linkeddirectly to requirements,function points provide aquantifiable, traceable, anddocumentable methodologyfor resizing the software andre-estimating cost andschedule
Provide a structured change control process that effectively assesses
impact to cost and schedule
Provide a structured change control process that effectively assesses
impact to cost and schedule
� Provide a structured change control process that effectively assesses
impact to cost and schedule
Provide a structured change control process that effectively assesses
impact to cost and schedule
�
New
Changed
This requirements churn would add 30function points to the project, increase costby $17K, and extend schedule by 18 days
This requirements churn would add 30function points to the project, increase costby $17K, and extend schedule by 18 days
20Copyright © 2004 Booz Allen Hamilton
EVM monitoring compares the actual performance against thetime-phased plan
4 Function points can help quantify progress against the plan
– When an activity is complete for a requirement, the project has“earned” the value of the function points associated with thatrequirement
4 The logical nature of function points easily apply to any life cyclephase (design, code, test), whereas physical size measures do not
Accurately and quantitatively assess
percent complete
Accurately and quantitatively assess
percent complete
�Accurately and
quantitatively assess percent complete
Accurately and quantitatively assess
percent complete
�
So how is thisproject doing?So how is thisproject doing?
Design is complete. Coding iscomplete for three of the
requirements, representing 89%of the total functional size
Design is complete. Coding iscomplete for three of the
requirements, representing 89%of the total functional size
Actual cost ofcompleted workActual cost of
completed work
21Copyright © 2004 Booz Allen Hamilton
EVM tells a very different story than traditional projectmanagement
4Comparing planned costs toactual costs, the project mightseem over budget
4However, EVM demonstratesthat the at this point the projecthas delivered what was plannedin 90 percent of the estimatedschedule and at 96 percent ofthe expected cost
$-
$2,000
$4,000
$6,000
$8,000
$10,000
$12,000
$14,000
Wk 1 Wk 2 Wk 3 Wk 4 Wk 5 Wk 6 Wk 7 Wk 8 Wk 9 Wk 10 Wk 11 Wk 12
PlannedActualEarned Value
Status Date
Planned: $6,381
Actual: $6,744
Earned Value: $7,018
22Copyright © 2004 Booz Allen Hamilton
In summary, final project results are significantly influenced bythree key factors
Earned value management, combined with function point analysis, can providea very powerful and effective way to manage software development projects
The quality of thebaseline project plan
The quality of thebaseline project plan
��
Actual projectperformance against
the baseline plan
Actual projectperformance against
the baseline plan
��
The ability tocontrol changes thatmight impact the final
outcome
The ability tocontrol changes thatmight impact the final
outcome
��
Function points help ensure that the cost and schedulebaseline has a solid, defendable basis of estimate
Function points help ensure that the cost and schedulebaseline has a solid, defendable basis of estimate
Function points provide an objective, quantifiablemeasure of percent complete for actual performance
Function points provide an objective, quantifiablemeasure of percent complete for actual performance
Function points provide the ability to revise the projectbaseline and to control requirements growth
Function points provide the ability to revise the projectbaseline and to control requirements growth
Source: Fleming and Koppelman, Earned Value Project Management, 1996.