Trainer's notes - in powerpoint format

Preview:

DESCRIPTION

 

Citation preview

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.