trainer's notes - in powerpoint format

42
Working Under southernSCOPE Training session on southernSCOPE and providing $ per FP prices

Upload: samuel90

Post on 28-Nov-2014

623 views

Category:

Technology


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Trainer's notes - in powerpoint format

Working Under southernSCOPE

Training session on southernSCOPE and providing $ per FP prices

Page 2: Trainer's notes - in powerpoint format

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

Page 3: Trainer's notes - in powerpoint format

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

Page 4: Trainer's notes - in powerpoint format

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.

Page 5: Trainer's notes - in powerpoint format

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

Page 6: Trainer's notes - in powerpoint format

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

Page 7: Trainer's notes - in powerpoint format

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

Page 8: Trainer's notes - in powerpoint format

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

Page 9: Trainer's notes - in powerpoint format

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

Page 10: Trainer's notes - in powerpoint format

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

Page 11: Trainer's notes - in powerpoint format

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..*

Page 12: Trainer's notes - in powerpoint format

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

Page 13: Trainer's notes - in powerpoint format

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.

Page 14: Trainer's notes - in powerpoint format

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

Page 15: Trainer's notes - in powerpoint format

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

Page 16: Trainer's notes - in powerpoint format

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.

Page 17: Trainer's notes - in powerpoint format

Project Initiation

Select a scope manager Project Requirements

document Preliminary estimates Prepare & issue RFP Select developer

Page 18: Trainer's notes - in powerpoint format

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.

Page 19: Trainer's notes - in powerpoint format

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

Page 20: Trainer's notes - in powerpoint format

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

Page 21: Trainer's notes - in powerpoint format

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

Page 22: Trainer's notes - in powerpoint format

Schedule & Thus Team Size

Good productivity,Lower $ per FPs

Poor productivity,Higher $ per FPs

Source: ISBSG World Wide Software Development, The Benchmark

Page 23: Trainer's notes - in powerpoint format

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

Page 24: Trainer's notes - in powerpoint format

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

Page 25: Trainer's notes - in powerpoint format

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.

Page 26: Trainer's notes - in powerpoint format

Customising Packages

southernSCOPE works with package customisation.

Either a single $ per FP price,

Or a license fee & $ per FP for the customisation.

Page 27: Trainer's notes - in powerpoint format

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)

Page 28: Trainer's notes - in powerpoint format

Invite Proposals

Include Project Requirements document.

Often also a preliminary spec. of functionality.

Details of preliminary function point count.

Page 29: Trainer's notes - in powerpoint format

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

Page 30: Trainer's notes - in powerpoint format

3-4 criteria to identify comparable projects

Criteria based on Project Req. document.

What is a Comparable Project?

Page 31: Trainer's notes - in powerpoint format

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.

Page 32: Trainer's notes - in powerpoint format

Obtaining FP Counts

Gather documents & demo systems for FP counts.

Commission specialist counters.

Invest in training to gather data over the long-term.

Page 33: Trainer's notes - in powerpoint format

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

Page 34: Trainer's notes - in powerpoint format

Impact of Roles (or Activities)

Elapsed Time

Eff

ort

RequirementsDesign & PrototypeConstructionTestingImplementation

Activity

Page 35: Trainer's notes - in powerpoint format

$/FP & Current Pricing Process

Project Requirements

document

$/FP frompast projects

Currentestimating

process

Confident $/FP

Page 36: Trainer's notes - in powerpoint format

Requirements Analysis

Developer & customer define functional requirements.

Scope manager performs BFPC.

BFPC & contracted $ per FP sets project price.

Page 37: Trainer's notes - in powerpoint format

Stable, Constructive Relationship

Once both parties understand it, $ per FP helps the relationship.

Scope manager independence is important.

Highlight exploitative behaviour.

Page 38: Trainer's notes - in powerpoint format

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.

Page 39: Trainer's notes - in powerpoint format

FPs & Change Pricing

Change FP’sClassification

% of $/FP Priceto Apply

Added 80 – 120

Changed 40 – 150

Deleted 20 – 50

Page 40: Trainer's notes - in powerpoint format

Implementation

Payment linked to measurable work products easily verified as complete.

Medium projects or bigger should use incremental releases with payment upon release.

Page 41: Trainer's notes - in powerpoint format

The Support Toolkit

Method Documentation Presentation to Managers (used here) Case Studies Overview Flyer Computer Based Training Package

Page 42: Trainer's notes - in powerpoint format

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.