"Using Function Pointsfor Supporting the
Development Process"
Sophia Poulos
IBM Australia
197September, 2000 - San Diego, CA
Sophia Poulos
(
--------- - ------- - ---- - - ----------_.-
ented by Sophia PoulosIB Global Services
IFPUG Fall Conference 2000,13 September 2000
You get the go ahead to launcha function point metricsprogram ...
What do you do next?IFPUG Fall Conference 2000,13 September 2000 Page 2 Copyright IBMGSA 2000 !~:~\'!
Using Function Points for Supporting the 199Development Process
Sophia Poulos
• This presentation is aimed at ProjectManagers and Team Members who arefamiliar with function point analysis.
• This presentation will show you:- what the software measurement team
requires to achieve its objectives
- and what your customers can expect to gainfrom the program.
Summary
IFPUG Fall Conference 2000,
13 September 2000 Page 3 Copyright IBMGSA 2000 !~~r~
Outsourcing Contract Example
• CMM Levell
• Contract
• Past experience with the FP Method
IFPUG Fall Conference 2000,13 september 2000
Using Function Points for Supporting theDevelopment Process
r~, .~
- ..-
200
"'
Sophia Poulos
(
CMM Levell - Initial
• Performance is driven byheroes
• High quality andexceptional performanceis possible from individuals
• Unpredictable
• No Key Process AreaCopyright IBMGSA 2000 ~ ~~r~Page 5
IFPUG Fall Conference 2000,
13 september 2000
The Brief: version 1
T~~_~====:::';'S::Copyright IBMGSA 2000Page 6
• Set up the program
• Counting standards
• Top 20 App Baselines and Projects
• Metrics Database (application data)
• Year 1:
IFPUG Fall Conference 2000,13 September 2000
Using Function Points for Supporting the 201Development Process
Sophia Poulos
Lessons Learned
• Efficiency with few resources
• Contract vs Value Add
Copyright IBMGSA 2000 r~~'f~Page 7IFPUG Fall Conference 2000,
13 september 2000
Recommendations
Copyright IBMGSA 2000 r~!"'f~Page 8
• Investigate "actual" needs of customer
• Early sizing
• Simplified FP Counting methods
• Centralised counting group
• Support CMM Level 2
IFPUG Fall Conference 2000,13 september 2000
Using Function Points for Supporting the 202Development Process
(
Sophia Poulos
CMM Level 2 - Key Process Areas• Requirements Management
• Software Project Planning
• Software Project Tracking and Oversight
• Software Subcontract Management
• Software Quality Assurance
• Software Configuration ManagementIFPUG Fall Conference 2000,
13 september 2000 Page 9 Copyright IBMGSA 2000 !~~'f~
The Brief: version 2
• To recommend value added servicesthat can be offered by the Team tosupport Account level objectives:• To reduce risk and increase quality of
deliverables on Projects
• Facilitate the delivery of innovative, lowmaintenance, well-documented solutions
IFPUG Fall Conference 2000,13 september 2000 Page 10 Copyright IBMGSA 2000 I~~!~
Using Function Points for Supporting the 203Development Process
Sophia Poulos
Strategy
-Copyright IBMGSA 2000 !~~"f~Page 11
• Assist management to better understandthe ADM software environment
• Assist teams to better scope and quantifyrequirements
• Improve project estimation• Support Acceptance testing
• Identify key applications forreengineering
• Improve Application documentationIFPUG Fall Conference 2000,13 september 2000
Key Account Goals
Page 12 Copyright IBMGSA 2000
Using Function Points for Supporting the 204Development Process
Sophia Poulos
Tactics
Page 13
• Focus on Top 20programs notApplication Support
• CMM Level 2 supportand 3
• Support ProgramManagers
• Focus on ProjectEstimation
IFPUG Fall Conference 2000,13 september 2000
• Investigateestimation tools:
Analogy,Knowledgeplan
• Update ManagementSystem to assist PMs
• Internal QA processchanged
• DOU standardCopyright IBMGSA 2000
Management System - ProcessesRelene Planning
«1IuJW.
: Prolcct Management(Largo)
Function Point SizingMtlnaaemant
(Qluxrl
Copyright IBMGSA 2000 !~i;,~
...Rol•• & Vlndor
Ruponslbllltl.. I M=ent
f Proanan1 M.;,gem.nt ICommunicationsI Proc..... I (FullU~ Ra/CU3C.1)
-·--ASM -IF~u't Managlmlnt
Procel. Pro.I"«1IuJW. (QlmorJ.
I prolec:-;;;nt I;:;'.-~ag-;;;;;;-t
I y;~~~ -IQuali: ••nc.
CUltomor r TutingMandatld CQ!!!lEl
(Qluxrl
Page 14
Architl.tureCQ!!Mll
PrOC'11
MoonagemlntCQ!!Mll
Olvelopmlnt&Enhancemlnt
t!2lwW
IFPUG Fall Conference 2000,
13 september 2000
1.I~~~~EST
[MANAGEMENTAPPROACH
FUPPORTI-NG--'-·_-_···PROCESSES AMESllVlc,"
~
Using Function Points for Supporting the 205Development Process
Sophia Poulos
Development & EnhancementProcess
Feasibility& Defin,1ion
Copyright IBMGSA 2000 ~ ~~~~
.. ; .
Proposal
De1o@IOpment Implelmnlallon& Vtlliuatiun i:IllJ
Operation & Clo~ure
Page 15
! Manage Project
IFPUG Fall Conference 2000,13 september 2000
~=~_i!!=::::::=~=Copyright IBMGSA 2000
• Capture Programeffort, cost andduration figures
• Update metricsrepository
Page 16
Work Management ProcessI. Review count at the
end UAT• Establish contact
with the ProgramManager. Discussscope
• The Program wouldbe assessed. Services
required?
• Carry out sizing &estimation work
IFPUG Fall Conference 2000,13 september 2000
Using Function Points for Supporting the 206Development Process
Sophia Poulos
Function Point Sizing
• Document of
Understanding
• FPA Sizing Document
• FPW Sizing Reports
• Sign off
• Update repository
IFPUG Fall Conference 2000,13 September 2000 Page 17 Copyright IBMGSA 2000 !~~~~
Estimation using FunctionPoints
o Confidenee
• Ease ofuse
Page 18 T~~_~:5::::::='r5:
1008060
4020
o
-20 >- C IIIc:Jl fa .!!!.!2 Q. :sfa .••••• EC ::.::: a-ce 0~
Copyright IBMGSA 2000
• Three methods:
• Estimation byAnalogy
• Estimation usingKnowledgeplan Tool
• Industry Formulas
IFPUG Fall Conference 2000,13 September 2000
Using Function Points for Supporting the 207Development Process
Sophia Poulos
Estimation by Analogy
Past project history is used to predictproject effort for enhancement projects
• The work effort for an enhancement is a
function of "likely productivity" and the "size" ofthe enhancement
• The work effort for each application impactedby a project is considered separately
• Past productivity for one application cannot beused to predict the productivity for any otherapplication
• The estimate for the project is the sum of eachapplication's work effort estimate
IFPUG Fall Conference 2000,13 september 2000
Assumptions
IFPUG Fall Conference 2000,13 september 2000
Page 19
Page 20
Copyright IBMGSA 2000 !E~'?~
Copyright IBMGSA 2000 !~~'?~
Using Function Points for Supporting the 208Development Process
Sophia Poulos
• Research of Existing Repositories• Derive additional historical data
Copyright IBMGSA 2000 :r~i'f~Page 21
Estimation - Set-up
• Establish Critical Project Factors• The Application - its nature, the languages
and platforms involved
• Functional Size of the project
• The top ten characteristics that influenceproject effort
IFPUG Fall Conference 2000,
13 September 2000
Estimation Method
Copyright IBMGSA 2000 ~ 5i'f~Page 22
• Compare New Project Profile with History
• Produce Range of Estimates and analyse profiles
• Report Recommendations to PM
• Assist PM to "reconcile" estimated effort figures
• Translate Effort into Duration & Schedule
• Improve Project History data for future
estimates .'-:.
IFPUG Fall Conference 2000,13 September 2000
Using Function Points for Supporting the 209Development Process
Sophia Poulos
Estimation using SPR'sKnowledgeplan
• Standard template for projectcharacteristics
• Tool is very sensitive and results can varygreatly depending on the quality oraccuracy of the inputs
• Profile and sizing information have thegreatest impact
KjPlan pros & cons - Pros• The database is large and potentially has
projects that would reflect the customer'senvironment
• Industry specific database may be purchased toenhance the size of particular types of projects
• The tool produces estimates at different levelsof accuracy
• The tool will produce a schedule
IFPUG Fall Conference 2000,
13 september 2000
IFPUG Fall Conference 2000,13 september 2000
Page 23
Page 24
Copyright IBMGSA 2000 ~ ~~'f"!
Copyright IBMGSA 2000 ~~~"!
Using Function Points for Supporting the 210Development Process
Sophia Poulos
(
KjPlan pros & cons - Cons
• There is some expertise within IBMGSA tofacilitate it's use but local support is poor toassist with this endeavour
• Initial trials of the tool indicate mixed results
• The tool is essentially a "black box"
IFPUG Fall Conference 2000,
13 September 2000 Page 25 Copyright IBMGSA 2000 1B~\·~
KjPlan conclusions
====Copyright IBMGSA 2000Page 26
• May be useful for new applications where no history exists
• May be used as a "sanity check" against
other estimation methods •
IFPUG Fall Conference 2000,13 September 2000
Using Function Points for Supporting the 211Development Process
Sophia Poulos
Formula Method
• COCOMO
• Ratio method
• Industry averages
Copyright IBMGSA 2000 --_.-Page 27
• ISBSG data
IFPUG Fall Conference 2000,13 september 2000
Formula method - conclusions
• May require "customisation" to makemore use
• Enables rapid calculation for ballparkestimates
• Not used as sole means of estimation
IFPUG Fall Conference 2000,13 september 2000 Page 28 Copyright IBMGSA 2000
Using Function Points for Supporting the 212Development Process
Sophia Poulos
Requirements Analysis
• Sizing early in the Development LifeCycle
• FPAs knowledge of the application
• Supports process with Legacyapplications - esp. due to lack ofdocumentation
IFPUG Fall Conference 2000,
13 September 2000 Page 29 Copyright IBMGSA 2000
Reports using Charismatek'sFPW
• Notes
Copyright IBMGSA 2000
• Count Description
• Hierarchy Outline
• Transaction & FileList
• Analyse parts ofcount
Page 30
i • ~~ Count y"IeW
, 'lL ••. "'\1111;•••,"..-1 reloctwn 10 def"", w.w
N_: ~Ic"" ~
P,inllor • f11iiOf csv [iIe-aTl4l F"'"R-"<
Count DonaiptionHtti,arch, Diagr ••
ilierOlcllr O••••••• liIl_ r.....•ionPoinIs.....,. _ F"••••_ FunclionPoinlS.....,.wiIhoutF" ••••_ V_ Adju•••••••r•••••
T • anaectiorl Lilt
_ FiIoLioI: _ TfanaKbon end File Lilt
I . T•• m.lIC.ion Oet ••; File Detaila
Note. Ustlabel> liIl
IFPUG Fall Conference 2000,13 september 2000
Using Function Points for Supporting the 213Development Process
Sophia Poulos
Reports cont .
Copyright IBMGSA 2000 ~ ~;§'f~
documentation of
requirements
• easy cross reference
• i dication of complexity
• easily understood bycustomer
Page 31
.A"'-"IOI'tR....,c-.S,.-- '. _. '_0. A••• 113J'89 ~ion ~IIIIISt ••• ' ~~ ~ ~ _ f FunctionPoJntW_k •..
IFPUG Fall Conference 2000,13 september 2000
• '15Mb" 'M'·?ti'SittttfjMt.M'U@P"kdlfvne:tion Poinli CGUr'IlinQ l:~. £~ ~ OpbQnl Bepor\irog,Ut__ I
Requirement Analysis conclusions
• No overhead - if done early in the lifecycle
• Standard method, repeatable
• Cannot be used for some applications, egmiddle layer, switching systems
IFPUG Fall Conference 2000,13 september 2000 Page 32 Copyright IBMGSA 2000
Using Function Points for Supporting the 214Development Process
Sophia Poulos
FP methodlogy - results so far
• Very positive response from interviews
• Trialed K/plan - mixed results
• Analogy method - promising, needs moredata ,\!I,
• Formula method - not useful --CW""
• Metrics repository captures project data
IFPUG Fall Conference 2000,13 September 2000 Page 33 Copyright IBMGSA 2000 !~i~~
The next steps ...
• Emphasis on project estimation, of effort,duration, costs, scheduled tasks
• Better quoting of our work to thecustomer
• Synergy with architects
• Brief/brochure for GPMs
• Enhance Metrics repositoryCopyright IBMGSA 2000 I~~~~Page 34
IFPUG Fall Conference 2000,13 september 2000
Using Function Points for Supporting the 215Development Process
Sophia Poulos
Outstanding Issues
Copyright IBMGSA 2000Page 35
• Dealing with limitations of FP
methodology ~,)/ *-• Limited resources ~~
• Customer perceptions of overhead
• Other priorities in the account - ego CMM
• Connection to other metrics and QAinitiatives
IFPUG Fall Conference 2000,13 september 2000
Goals
• Estimation methods to give results within+/- 20% of actuals
• Requirements analysis using FP to reduceneed for change requests by 50%,reduce rework by 20%
IFPUG Fall Conference 2000,
13 september 2000 Page 36 Copyright IBMGSA 2000 ~Bi·/~
Using Function Points for Supporting the 216Development Process
Sophia Poulos
• Function point methodology is useful insupporting the Development process
• Estimation using FPs is still in experimentalstage, but has potential
• Estimation Tools are not necessary if you haveenough of your own data and expertise
• The process itself assists in requirementsanalysis, documentation of applications
Conclusion
IFPUG Fall Conference 2000,
13 September 2000 Page 37 Copyright IBMGSA 2000
Using Function Points for Supporting the 217Development Process