trainer's notes - in powerpoint format
DESCRIPTION
TRANSCRIPT
Working Under southernSCOPE
Training session on southernSCOPE and providing $ per FP prices
Introduction
What is ‘southernSCOPE’? A method for setting $ per FP price Selecting past projects Obtaining effort or cost data Introduction to Function Points Calculation of $ per FP price
What is southernSCOPE? Method for buying
software For custom-built &
package customisation
Policy is to use it when appropriate
Focuses on a $ per FP price
What is $ per Function Point?
Function points measure the output of a software project, software functionality.
A $ per function point price links the price of the project to its planned output.
Working with the developer, the customer specifies the functionality.
Customer pays developer a price based on the total functionality specified.
What is a Function Point? Measure of software
functionality provided to users.
Inputs Outputs
Software Being Acquired
Other Software
Internal Data
External Data
Input
Output
Users
PROJECTINITIATION
SOFTWAREREQUIREMENTS
ANALYSIS
ARCHITECTUREDESIGN
CONSTRUCTION
QA / SYSTEMTESTING
IMPLEMENTATION
Business Case
Engage analyst
(fixed price)Engage developer
Pay agreed pricePLUS changes(dispute settlement?)
NEGOTIATED Change Control
Identify need
Engage scope manager (early estimates - size, cost, duration)
Project Scope DocumentEngage developer
($$ per function point)
Requirements SpecificationBaseline Function Point Count
MEASURED Change Control (Scope Manager)
Pay on size of delivered software PLUS documented changes
Typical Compared to southernSCOPE
Dismal Success Rate
0%10%20%30%40%50%60%70%80%90%
100%
Small Medium Large
Companies
FailedProblemsSuccess
Source: The Standish Group International, 1995www.pm2go.com/sample_research/chaos_1994_1.asp
Attack These Causes
Commission software on a $ per function point basis and eliminate:– Lack of user input– Incomplete requirements– Changing requirements– Lack of executive support– Technology incompetence– Unrealistic expectations
And the Results Are
0%
10%
20%
30%
40%
50%
SCUD Projects Typical Projects
% of Projects on Budget
Much more likely to complete within budget.
Any budget overrun will be within 10%.
Potential for $15m - $20m per year in avoided overruns.
0%
20%
40%
60%
80%
100%
SCUD Projects Typical Projects
Average % Overrun of Over-budget Projects
IFPUG Function PointsExternal User
3. External Input
4. External Output
5. External Enquiry
Application Boundary Other Applications
1. Internal Logical File
2. External Interface File
External Input
External Output
Source: Measuring the Software Process
Identifying Data Components
Internal Logical Files– User concepts– Data entities, entity
classes– Maintained
External Interface Files– As for ILF– But not maintained
Worker (User)
Browse timesheet
Record work done
ILF
EIF
Worker Work Done
1
0..*
1
+by a 0..*
Task
1
0..*
1+on
0..*
Project 1..*+comprises
1..*
Identifying External Inputs
Value to the end user’s task
Elementary Maintains data Unique logic or data
element combinationPotentially one EI
Actually three: create, update, delete
Worker (User)
Browse timesheet
Record work done
Identifying External Outputs
Value to the end user’s task
Elementary Calculates or
derives data Unique logic or data
element combination
Browse timesheet
Record work done
Worker (User)
Print timesheet
One EO, as includes totals for days and week.
Identifying External Inquiries
Value to the end user’s task
Retrieves data in ILFs or EIFs
No calculations Unique logic or data
element combination
One EQ, retrieving data based on input worker ID and date.
Worker (User)
Browse timesheet
Record work done
Example FP Count Breakdown
Specification Item Type FPs
Project EIF 5
Task EIF 5
Work Done ILF 7
Worker EIF 5
Browse timesheet EQ 4
Record work done: create EI 4
Record work done: update EI 4
Record work done: delete EI 4
Print timesheet EO 5
43
Early Measures of Function Points Can create initial data entity models or use
case models early in a project. From these models, predict function points:
– 30 FPs per data entity– 10 FPs per use case
These are rules-of-thumb from several sources.
Useful, but only approximate.
Project Initiation
Select a scope manager Project Requirements
document Preliminary estimates Prepare & issue RFP Select developer
Introducing the Case Studies
– Single database of licences applying to various business types operating in Vic..
– Catalogue of all Victorian government services available on-line, with multiple search methods & access paths.
Project Requirements Document
Must specify factors that influence $/FP price: – Project process and deliverables– Customer context for the project– Preferred project schedule – Development language/tools– Approximate FP scope
Project Process & Work Products
Can be good productivity,Lower $ per FPs
Can be poor productivity,Higher $ per FPs
Many Documents &
Work Products Few Documents &
Work Products
Customer/End-User Factors
Good productivity,Lower $ per FPs
Poor productivity,Higher $ per FPs
Multiple Users/StakeholdersSingle User/Stakeholder
Source: ISBSG World Wide Software Development, The Benchmark
Schedule & Thus Team Size
Good productivity,Lower $ per FPs
Poor productivity,Higher $ per FPs
Source: ISBSG World Wide Software Development, The Benchmark
Programming Language
Good productivity,Lower $ per FPs
Poor productivity,Higher $ per FPs
AutomaticApplicationGenerator
ACME4th Generation
Language
Stodgy3rd Generation
Language
Source: ISBSG World Wide Software Development, The Benchmark
Other Factors That May Influence $ per FP Price Software architecture
– two-tier
– n-tier HTML user interface to the
broad Victorian public– specialist UI designers
– usability testing User interface complexity
– UI changes behaviour based in user interaction
Number of interfaces for the software – interfaces to other computer
systems or machines
– multiple human interfaces Performance or memory
constraints Team experience
– only matters if all team members inexperienced
Project manager experience– difficult to account for
Preliminary FP Scope
The engaged Scope Manager can provide an early indication of the project’s FP scope.
This will only be approximate and based on many assumptions.
Customising Packages
southernSCOPE works with package customisation.
Either a single $ per FP price,
Or a license fee & $ per FP for the customisation.
Multiple $ per FP Prices
Multiple prices useful to reduce risk from changes in distribution of functionality across different subsystems.
Web application $800/FP
Admin sub-sys $400/FP
Reports sub-sys $200/FP
CRM sub-sys $400/FP
Content sub-sys $800/FP
(Weighted avg.$350/FP)
Invite Proposals
Include Project Requirements document.
Often also a preliminary spec. of functionality.
Details of preliminary function point count.
Method for Setting $ per FP Price1. Identify 2-3 comparable past projects
2. Gather effort & other cost data
3. Obtain FP measurement for each project
4. Calculate $ per FP for each project
5. Decide $ per FP for new project
3-4 criteria to identify comparable projects
Criteria based on Project Req. document.
What is a Comparable Project?
Obtaining Effort or Cost Data
Accurate effort / cost data is essential.
Prefer data from time recording.
May derive effort from invoices.
Calculating effort from elapsed time is risky.
Obtaining FP Counts
Gather documents & demo systems for FP counts.
Commission specialist counters.
Invest in training to gather data over the long-term.
Deciding an Hours per FP
0 2 4 6 8
ProjectA
ProjectB
hrs effort / FP
Calculate hrs / FP for the past projects.
This provides a range of possible values.
To decide hour / FP value for new project– consider risk level– other similarities
Impact of Roles (or Activities)
Elapsed Time
Eff
ort
RequirementsDesign & PrototypeConstructionTestingImplementation
Activity
$/FP & Current Pricing Process
Project Requirements
document
$/FP frompast projects
Currentestimating
process
Confident $/FP
Requirements Analysis
Developer & customer define functional requirements.
Scope manager performs BFPC.
BFPC & contracted $ per FP sets project price.
Stable, Constructive Relationship
Once both parties understand it, $ per FP helps the relationship.
Scope manager independence is important.
Highlight exploitative behaviour.
Change Management
Must be an agreed change control procedure.
Changes either priced with FPs,
Or priced separate from FPs. Then use FPs to validate price if necessary.
FPs & Change Pricing
Change FP’sClassification
% of $/FP Priceto Apply
Added 80 – 120
Changed 40 – 150
Deleted 20 – 50
Implementation
Payment linked to measurable work products easily verified as complete.
Medium projects or bigger should use incremental releases with payment upon release.
The Support Toolkit
Method Documentation Presentation to Managers (used here) Case Studies Overview Flyer Computer Based Training Package
Conclusions
With the $/FP method, the project will:– Most likely complete within budget.– Achieve its objectives.
Developers can calculate a $/FP price from 2 - 3 appropriate past projects.
southernSCOPE protects customers and developers better.