unleashing the power of function point analysis - IFPUG
Transcript of unleashing the power of function point analysis - IFPUG
1Copyright CHARISMATEK Software Metrics IFPUG San Diego 2004
Paul RadfordCHARISMATEK Software Metrics
UNLEASHING THE POWER OF FUNCTION POINT ANALYSIS
FPA across the Software Lifecycle - the critical model
2Copyright CHARISMATEK Software Metrics IFPUG San Diego 2004
CHARISMATEK Software MetricsWho We Are and What We Do …
• Australia’s flagship company for the provision of software tools and consulting and training services in the area of functional size measurement:
• Software Sizing, Estimating & Benchmarking• Contracts & Suppliers• Software Process Improvement• Software Capability Assessment and Gap Analysis• Portfolio Management
• Developers of the Function Point WORKBENCH™, the world’s leading software tool supporting the Function Point Analysis technique for sizing and evaluating software.
• In the business of software metrics since 1991 and based in Melbourne.
3Copyright CHARISMATEK Software Metrics IFPUG San Diego 2004
Interest in Functional Sizing Measures… A Truly International Coverage!
USA
Canada
Denmark
UK
India
Brazil
SpainSwitzerland
South Africa
United Arab Emirates
Germany
Italy
Uruguay
FranceJapan
New Zealand
Netherlands
Australia
Argentina
Mexico Trinidad & Tobago
China
PolandRussia
Lithuania
EgyptHong KongSouth KoreaGreece
Austria
Indonesia
Turkey
Singapore
Bulgaria
Iceland
Croatia
Belgium
Thailand
Chile
PakistanPortugal
Sweden
Romania
Philippines
Panama
Finland
Czech Republic
Venezuela
MalaysiaSaudia Arabia
4Copyright CHARISMATEK Software Metrics IFPUG San Diego 2004
Functional Size MeasurementCritical Advantages!
Software Project
Software Product
⇒ focuses on the functionality the softwaredelivers to its users
⇒ is independent of how the software is builteg language, technology, methodology
⇒ can be determined early in the developmentlife cycle
⇒ is a reliable predictor of effort - and hence cost -to build and support the software
⇒ provides a Standard Notation and Definition based upon an objective approach for software sizing (IFPUG and ISO Standards)
Software Functional Size
650 Function PointsFunctional Size Measurement
Functional Size is a measure of software size that:
5Copyright CHARISMATEK Software Metrics IFPUG San Diego 2004
Functional Size MeasurementOne Common Language!
Software Project
Software Product
⇒ focuses on the functionality the softwaredelivers to its users
⇒ provides a definition, within a known technical environment, that is meaningful and relevant to the IT Developer
Software Functional Size
650 Function PointsFunctional Size Measurement
Functional Size is a measure of software size that:
ONE MODEL
ONE LANGUAGE
IT <-> BUSINESS
6Copyright CHARISMATEK Software Metrics IFPUG San Diego 2004
Feasib
ilityStud
yReq
uirem
ents
Analys
is Design
Constr
uctio
nTes
ting
Imple
mentat
ion
Enhan
cemen
t
Produc
tion
ProjectEstimation
ScopeManagement
RequirementsAssessment
FunctionalBaseline
StatusMonitoring
ComplianceAssessment Enhancement
Projects
Support ResourceForecasting
The role of Functional Size Measurementin the Software Development Life Cycle
Functional Size Measurement- a Role in a Range of Activities Throughout the Software Development Life Cycle
- a Critical Component of Successful Software Development
7Copyright CHARISMATEK Software Metrics IFPUG San Diego 2004
Functional Size MeasurementThe Basis for Software Management
Software Project
Software Product
⇒ A Structure for Definition
⇒ A Reliable Basis for Estimation
⇒ A Basis for Communication/Negotiation
⇒ A Framework for Project Control
⇒ A Means for Assessing Impact of Change
⇒ An Integrated Link to Support Metrics
Software Functional Size
650 Function PointsFunctional Size Measurement
The Quantified Functional Model provides:
8Copyright CHARISMATEK Software Metrics IFPUG San Diego 2004
Assessing, Clarifying & NegotiatingRequirements
PreliminaryFunctional Model:
First Cut. Consists of:• Some clearly specified user
functions • Other user functions requiring
clarification
• Basis for negotiation on project functionality
• Underwrites the business case
FunctionRequiring
Clarification
Early Life-CycleEstimates
Multiplierfor
No of Instances of a Function
Indicative Functional Size:• Basis for very early
life-cycle estimation
FeasibilityStudy
IndicativeProject
Size
9Copyright CHARISMATEK Software Metrics IFPUG San Diego 2004
Functionality RequiringClarification from Client
Requires Clarificationlarge!
Specified
Requires Clarificationsmaller!
SpecifiedHIGHER RISK! LOWER RISK!
Rework
Assessing, Clarifying & Negotiating Requirements RequirementsAnalysis
10Copyright CHARISMATEK Software Metrics IFPUG San Diego 2004
A Software Project Functional Baseline
Detailed Functional Model:• All agreed user functions
assessed, classified and sized• Cross references to other
project documentation• Sharing the Vision:
• Mutually Understood• Agreed baseline for estimation,
tracking and control and scope management
• Auditable, verifiable and defensible
ProjectSize
Sub-System
Size
Fully Assessed Count:• Entire project• Project sub-systems• Alternative project views
RequirementsAnalysis
11Copyright CHARISMATEK Software Metrics IFPUG San Diego 2004
Tracking Requirements RequirementsAnalysis
In this example, user functions arecross-referencedto their use casespecifications.
In order to trackRequirements, each function should be cross referenced to specifications and work products.
12Copyright CHARISMATEK Software Metrics IFPUG San Diego 2004
Estimating Project Effort and Cost
Multiple ProductivitySinks & Rates:
• Development languages and environments:
eg Java 14.2 Hrs / FP,.NET 17.3 Hrs / FP,SQL Server 7.5 Hrs / FP
• Assign user functions to productivity sinks to develop detailed estimates
Productivity Sinks& Rates (Hrs / FP)
Estimation
Effort& Cost Estimates
13Copyright CHARISMATEK Software Metrics IFPUG San Diego 2004
Estimating Project Effort and Cost
“What productivity will we achieve on the planned project?”Accounting Based Upon:
• Own History• Design Approach• Industry Benchmarks• Tools/Consultants Expertise
Productivity Sinks& Rates (Hrs / FP)
Further Refined Project Views:• Functional priorities:
eg essential versus optional• Development releases:
eg 1st, 2nd, 3rd releases
Cross Validation:• Task based estimate comparison
Estimation
Effort& Cost Estimates
14Copyright CHARISMATEK Software Metrics IFPUG San Diego 2004
Effort and CostEstimates
Programming Environment basedProductivity Sinks and Rates
EstimationEstimating Project Effort & Cost
15Copyright CHARISMATEK Software Metrics IFPUG San Diego 2004
EstimationEstimating Project Effort & Cost
Effort and CostEstimates
16Copyright CHARISMATEK Software Metrics IFPUG San Diego 2004
Modeling Enhancement Projects
EnhancementFunctional Model:
• Functions added, changed, deletedor of interest to regression testingApplication Functions
Added or Changed byEnhancement Project
EnhancementProject Size
Application Baseline:• Automatically maintained after
each enhancement• Represents an application’s
current functionality and size
Enhancement
EnhancementFunctional Size:
• Size of enhancement project• Size of test scope• Size of application baseline
after project completion
Enhancement Size 66Test Scope Size 89Application Size 173after Enhancement
17Copyright CHARISMATEK Software Metrics IFPUG San Diego 2004
Managing Project Scope
Project Scope Monitoring:• Assess scope and size of project at
major milestones and update the model
• Compare actual versus expectedsize and scope
FunctionalityAdded during
Detailed Design
Early Scope ‘Blowout’ Identification:• Identify unacceptable scope increase
early• Highlight magnitude and nature of
scope increaseImpact of Scope ChangeAssessment:
• Estimate potential additional development costs and schedule increase
• Renegotiate project scope• Understand where and why change
occurs
Requirements toImplementation
PhaseWhen Function
Introduced
18Copyright CHARISMATEK Software Metrics IFPUG San Diego 2004
UnacceptableProject Size andScope Increase
New Project Sizeafter Negotiationand Rescoping
Requirements toImplementationManaging Project Scope
19Copyright CHARISMATEK Software Metrics IFPUG San Diego 2004
Monitoring & Controlling Project Status
Project StatusFunctional View:
• Assess the status of user functions within a project phase
• Alternative to traditional ‘percentage complete’view of project status
Enhanced Developer and Client Communication:
• Easily maintained by developers /technical staff
• Easily understood by clients / business
Requirements toImplementation
ConstructionPhaseStates
CurrentFunctionStatuswithin
ConstructionPhase
20Copyright CHARISMATEK Software Metrics IFPUG San Diego 2004
Requirements toImplementationMonitoring & Controlling Project Status
Snapshot of theCurrent Functional Size
within eachConstruction Phase State
21Copyright CHARISMATEK Software Metrics IFPUG San Diego 2004
Project Counts
Audit, Internal Benchmarking, Patterns
Software Development
Life Cycle PhasesProjects
Feas
ibili
ty
Req
uire
men
ts
Exte
rnal
Des
ign
Inte
rnal
Des
ign
Impl
emen
tatio
n
Prod
uctio
n
Core Functions
Sales Reports
Security
0
100
200
300
400
500
600
700
Historical Analysis/DrilldownCounts for an Application System
Application Counts
22Copyright CHARISMATEK Software Metrics IFPUG San Diego 2004
Benchmarking, Productivity AnalysisCompleting the Cycle
Application/Environment Benchmarks & Comparative Analysis
Development BenchmarksCapability Analysis• Process• Personnel• EnvironmentSizeProductivity Sinks
Support BenchmarksCapability AnalysisSizeApplication Complexity, Age, Volatility, Data & Client Volume