copyright: charles symons 2017crest.cs.ucl.ac.uk/cow/52/slides/cow52_symons.pdf · functional user...

35

Upload: others

Post on 18-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Copyright: Charles Symons 2017crest.cs.ucl.ac.uk/cow/52/slides/cow52_Symons.pdf · Functional User Requirements usable for both our software measurement objectives based on fundamental
Page 2: Copyright: Charles Symons 2017crest.cs.ucl.ac.uk/cow/52/slides/cow52_Symons.pdf · Functional User Requirements usable for both our software measurement objectives based on fundamental

Copyright: Charles Symons 2017

Page 3: Copyright: Charles Symons 2017crest.cs.ucl.ac.uk/cow/52/slides/cow52_Symons.pdf · Functional User Requirements usable for both our software measurement objectives based on fundamental

Copyright: Charles Symons 2017

Page 4: Copyright: Charles Symons 2017crest.cs.ucl.ac.uk/cow/52/slides/cow52_Symons.pdf · Functional User Requirements usable for both our software measurement objectives based on fundamental

Delivery to budget & time:• Actual vs. Estimated Cost• Actual vs. Estimated Duration

Project productivity• Size / Effort

Project speed• Size / Duration

Product scope and quality• Size • Functional (e.g. business needs)• Technical (e.g. maintainability, post-delivery defects density)

Also consider the performance of on-going maintenance and enhancement activities

Copyright: Charles Symons 2017

Page 5: Copyright: Charles Symons 2017crest.cs.ucl.ac.uk/cow/52/slides/cow52_Symons.pdf · Functional User Requirements usable for both our software measurement objectives based on fundamental

Measure project performance

Establish benchmarks

Projectdata repository

Measure and track software

requirements size

Estimating budgeting, etc.

Copyright: Charles Symons 2017

Page 6: Copyright: Charles Symons 2017crest.cs.ucl.ac.uk/cow/52/slides/cow52_Symons.pdf · Functional User Requirements usable for both our software measurement objectives based on fundamental

Functional User Requirements (FUR)• what the software must do

Non-Functional Requirements (NFR)• quality, technical and environmental constraints, etc.

Project Requirements and Constraints (PRC)• targets, processes & tools, languages, resources,

dependencies, etc.

The size of the task

Convert size to estimated

effort

Copyright: Charles Symons 2017

Page 7: Copyright: Charles Symons 2017crest.cs.ucl.ac.uk/cow/52/slides/cow52_Symons.pdf · Functional User Requirements usable for both our software measurement objectives based on fundamental

Counts of lines of code:

X Cannot be estimated until software designedX Technology-dependent, no standards Accounts for all requirements that are delivered

Functional size: International standard methods Technology-independent What about ‘Non-Functional’ Requirements?

Other sizing methods:e.g. UCP, OOP, Story Pts. (?) etc:

X No reliable standards; only local benchmark data possible

X What about ‘Non-Functional’ Requirements?X Early total effort estimation?

Copyright: Charles Symons 2017

Page 8: Copyright: Charles Symons 2017crest.cs.ucl.ac.uk/cow/52/slides/cow52_Symons.pdf · Functional User Requirements usable for both our software measurement objectives based on fundamental

1980 1985 1990 1995 2000

COSMIC FFP v. 2.0

Allan Albrecht

FPAIFPUG 4.0

IFPUG 4.1

MkII FPA

MkII FPA v.1.3

Full FP’s v.1

3-D FP’s

Feature Points

ISO ‘FSM’ Standard

14143

COSMIC v. 4.0.1

2016

IFPUG 4.3

‘First Generation’ FSM Methods

NesmaIFPUG

Copyright: Charles Symons 2017

Page 9: Copyright: Charles Symons 2017crest.cs.ucl.ac.uk/cow/52/slides/cow52_Symons.pdf · Functional User Requirements usable for both our software measurement objectives based on fundamental

Base models of functionality Difficult to reconcile with modern requirements

engineering and development methods (e.g. agile)

Designed to measure ‘whole’ business applications

Sizes of functional components Limited size ranges, no well-defined unit of measure

Calibrated on relative effort to develop, hence ‘frozen’ in a particular technology era

Copyright: Charles Symons 2017

Page 10: Copyright: Charles Symons 2017crest.cs.ucl.ac.uk/cow/52/slides/cow52_Symons.pdf · Functional User Requirements usable for both our software measurement objectives based on fundamental

Function Points (FP)

3 FP4 FP

6 FP

COSMIC Function Points - CFP

1 CFP2

34

56

78

910

11…

No abitrary max

A single CFP existsand is well defined

Copyright: Charles Symons 2017

Page 11: Copyright: Charles Symons 2017crest.cs.ucl.ac.uk/cow/52/slides/cow52_Symons.pdf · Functional User Requirements usable for both our software measurement objectives based on fundamental
Page 12: Copyright: Charles Symons 2017crest.cs.ucl.ac.uk/cow/52/slides/cow52_Symons.pdf · Functional User Requirements usable for both our software measurement objectives based on fundamental

Functional User Requirements

usable for both our software measurement objectives

based on fundamental software engineering principles

for business, real-time and infrastructure software

independent of technology or processes used for the software or project

‘open’, freely available (via www.cosmic-sizing.org )

Copyright: Charles Symons 2017

Page 13: Copyright: Charles Symons 2017crest.cs.ucl.ac.uk/cow/52/slides/cow52_Symons.pdf · Functional User Requirements usable for both our software measurement objectives based on fundamental

‘Functional Users’• Humans• Hardware devices• Other software

PersistentStorage

(Other software layer)

(Other software layer)

Boundary

N.B. Functional size varies with the ‘viewpoint’ of the Functional User(s)

Copyright: Charles Symons 2017

Page 14: Copyright: Charles Symons 2017crest.cs.ucl.ac.uk/cow/52/slides/cow52_Symons.pdf · Functional User Requirements usable for both our software measurement objectives based on fundamental

of the Functional User Requirements

Copyright: Charles Symons 2017

Page 15: Copyright: Charles Symons 2017crest.cs.ucl.ac.uk/cow/52/slides/cow52_Symons.pdf · Functional User Requirements usable for both our software measurement objectives based on fundamental

W

R (for validation)

Size = 9 CFP

FP of App X being measured

FP of Software Functional User of App X

X Message to the other software E

E Reply from the other software X

Human Functional

User

Boundary Boundary

ETriggering

EAnother

Error msg. X

Total X

Item detail X

Page 16: Copyright: Charles Symons 2017crest.cs.ucl.ac.uk/cow/52/slides/cow52_Symons.pdf · Functional User Requirements usable for both our software measurement objectives based on fundamental

The COSMIC FFuunnccttiioonnaall SSiizzee MMeeaassuurreemmeenntt MMeetthhoodd

VVeerrssiioonn 44..00..11

Guideline on Non-Functional & Project

Requirements

How to consider non-functional and project requirements in software project performance measurement, benchmarking and estimating

Version 1.

November 2015

Glossary of terms for Non-Functional Requirements

and Project Requirements used in

software project performance measurement, benchmarking and

estimating

VERSION 1.0

September 2015

There was no good standard definition of a NFR

A joint COSMIC/IFPUG effort developed good definitions and a Glossary of NFR and Project Requirements

The COSMIC Guideline advises how to deal with NFR

Copyright: Charles Symons 2017

Page 17: Copyright: Charles Symons 2017crest.cs.ucl.ac.uk/cow/52/slides/cow52_Symons.pdf · Functional User Requirements usable for both our software measurement objectives based on fundamental

Outline

Functional

Requirements

Outline

(System) NFR

Project

Requirements

& Constraints

Require-

ments

Analysis

Definition

& Design

Build, Test

&

Implement

A

r

c

h

i

t

e

c

t

u

r

e

Imple-

mented

software

system

or

software

product

Approxi-

mate

FUR

Detailed

FUR

Detailed

NFR

Copyright: Charles Symons 2017

Page 18: Copyright: Charles Symons 2017crest.cs.ucl.ac.uk/cow/52/slides/cow52_Symons.pdf · Functional User Requirements usable for both our software measurement objectives based on fundamental

So we developed:

A Guideline describing a range of Approximate Sizing methods

A Guideline on ‘Assuring the accuracy of COSMIC measurements’

The COSMIC Functional Size Measurement Method

Version 4.0.1

GGuuiiddeelliinnee ffoorr EEaarrllyy oorr RRaappiidd

CCOOSSMMIICC FFuunnccttiioonnaall SSiizzee

MMeeaassuurreemmeenntt bbyy uussiinngg aapppprrooxxiimmaattiioonn aapppprrooaacchheess

July 2015

The COSMIC Functional Size Measurement Method

Version 3.0.1

GGuuiiddeelliinnee ffoorr aassssuurriinngg tthhee aaccccuurraaccyy ooff

mmeeaassuurreemmeennttss

VERSION 0.93

February 2011

Copyright: Charles Symons 2017

Page 19: Copyright: Charles Symons 2017crest.cs.ucl.ac.uk/cow/52/slides/cow52_Symons.pdf · Functional User Requirements usable for both our software measurement objectives based on fundamental

COSMIC size measurement is usable for:• early total software sizing and

effort estimation;• US, Sprint, etc, sizing and

estimation;• progress control at any level.

Sprint

Iteration

Release

System

User Story (new &/or re-work)

Copyright: Charles Symons 2017

Page 20: Copyright: Charles Symons 2017crest.cs.ucl.ac.uk/cow/52/slides/cow52_Symons.pdf · Functional User Requirements usable for both our software measurement objectives based on fundamental

Guidelines

Business applications

Real-time software *

Data Warehouse software

SOA software*

Mobile apps (in devt.)*

Agile Developments

(* should suffice for the Internet of Things?)

TThhee CCOOSSMMIICC FFuunnccttiioonnaall SSiizzee MMeeaassuurreemmeenntt MMeetthhoodd

VVeerrssiioonn 44..00..11

GGuuiiddeelliinnee ffoorr SSiizziinngg

BBuussiinneessss AApppplliiccaattiioonn SSooffttwwaarree

VERSION 1.3a

Febuary 2016

Copyright: Charles Symons 2017

Page 21: Copyright: Charles Symons 2017crest.cs.ucl.ac.uk/cow/52/slides/cow52_Symons.pdf · Functional User Requirements usable for both our software measurement objectives based on fundamental
Page 22: Copyright: Charles Symons 2017crest.cs.ucl.ac.uk/cow/52/slides/cow52_Symons.pdf · Functional User Requirements usable for both our software measurement objectives based on fundamental

Cost vs size (CFP)

Memory size vs software size (CFP)

Copyright: Charles Symons 2017

Page 23: Copyright: Charles Symons 2017crest.cs.ucl.ac.uk/cow/52/slides/cow52_Symons.pdf · Functional User Requirements usable for both our software measurement objectives based on fundamental

Context: real-time embedded software

Starting point: text/diagrams for required changes

A COSMIC-based measurement program resulted in Establishing benchmarks

Estimating precision of 10 – 20% within one year of starting

More disciplined, repeatable processes

Greater customer/supplier trust

SW change

requests

Effort estimation

Bench-marking

Copyright: Charles Symons 2017

Page 24: Copyright: Charles Symons 2017crest.cs.ucl.ac.uk/cow/52/slides/cow52_Symons.pdf · Functional User Requirements usable for both our software measurement objectives based on fundamental

Wo

rk-h

ou

r R

esid

ual

s

25 industrial Web applications

Conclusions:‘The results of the … study revealed that COSMIC outperformed Function Points as indicator of development effort by providing significantly better estimations’

Copyright: Charles Symons 2017

Page 25: Copyright: Charles Symons 2017crest.cs.ucl.ac.uk/cow/52/slides/cow52_Symons.pdf · Functional User Requirements usable for both our software measurement objectives based on fundamental

Customer requests for new or changed function are called ‘tasks’

Supplier uses the Scrum method; iterations last 3 – 6 weeks

Teams used ‘planning poker’ to estimate tasks in an iteration in ‘USP’ then converted directly to effort in work-hours

Measurements on 24 tasks from nine iterations, for which estimated and actual effort were available, were re-measured in CFP

Copyright: Charles Symons 2017

Page 26: Copyright: Charles Symons 2017crest.cs.ucl.ac.uk/cow/52/slides/cow52_Symons.pdf · Functional User Requirements usable for both our software measurement objectives based on fundamental

0

20

40

60

80

100

120

140

160

180

200

0 20 40 60 80 100 120 140 160 180 200

Act

ual E

ffor

t (ho

urs)

Estimated Effort (Hours)

Effort = 0.47 x Story Points + 17.6 hours and R2 = 0.33)

Notice the wide spread and the 17.6 hours ‘overhead’

Copyright: Charles Symons 2017

Page 27: Copyright: Charles Symons 2017crest.cs.ucl.ac.uk/cow/52/slides/cow52_Symons.pdf · Functional User Requirements usable for both our software measurement objectives based on fundamental

0

20

40

60

80

100

120

140

160

180

200

0 10 20 30 40 50 60 70 80

Act

ual

Eff

or

(Ho

urs

)

Functional Size in CFP

Y = 2.35 x CFP - 0.08hrs and R2 = 0.977)

CFP measurements revealed that two tasks had very low effort/CFP due to much software re-use. These were considered separately.

Copyright: Charles Symons 2017

Page 28: Copyright: Charles Symons 2017crest.cs.ucl.ac.uk/cow/52/slides/cow52_Symons.pdf · Functional User Requirements usable for both our software measurement objectives based on fundamental

“We have found that adopting this approach provides us with excellent predictability and comparability across projects, teams, time and technologies.”

The reality of achieving predictable project performance has driven me to investigate many methods of prediction. COSMIC is the method that lets me sleep at night.”

Denis Krizanovic, Aon Australia, August 2014

Copyright: Charles Symons 2017

Page 29: Copyright: Charles Symons 2017crest.cs.ucl.ac.uk/cow/52/slides/cow52_Symons.pdf · Functional User Requirements usable for both our software measurement objectives based on fundamental
Page 30: Copyright: Charles Symons 2017crest.cs.ucl.ac.uk/cow/52/slides/cow52_Symons.pdf · Functional User Requirements usable for both our software measurement objectives based on fundamental

The method, based on fundamental principles, is stable and ‘future-proof’.

CFP sizes correlate very well with effort and code size

Very widely used:

Business, real-time and infrastructure software

‘Measurement Manual’ available in 11 languages

50% of known users are software houses

Adopted by Governments (China, Mexico, Poland)

> 30,000 downloads of research & conference papers

ISO/IEC 19761 standard: GAO, NIST endorsed.

Copyright: Charles Symons 2017

Page 31: Copyright: Charles Symons 2017crest.cs.ucl.ac.uk/cow/52/slides/cow52_Symons.pdf · Functional User Requirements usable for both our software measurement objectives based on fundamental

The need: automatic measurement of

requirements and designs, in various forms, especially for:

User Stories

Early outline requirements

programs or executing code (in various languages)

CFP sizes are already being measured:

automatically, from requirements models in UML, Simulink, SCADE

with manual assistance, from requirements in text and Java code

Copyright: Charles Symons 2017

Page 32: Copyright: Charles Symons 2017crest.cs.ucl.ac.uk/cow/52/slides/cow52_Symons.pdf · Functional User Requirements usable for both our software measurement objectives based on fundamental

A Guideline on sizing and estimating software assembled from components:

New

Modified

Re-used Measure the API?

An ‘Expert-level’ certification exam

Marketing

Copyright: Charles Symons 2017

Existing rules

Page 33: Copyright: Charles Symons 2017crest.cs.ucl.ac.uk/cow/52/slides/cow52_Symons.pdf · Functional User Requirements usable for both our software measurement objectives based on fundamental

Agenda: basic method features, approximate sizing, NFR, uses in Agile projects, estimating, etc.

Friday May 5th, 10:30 – 16:00

Offices of SITA, Hayes, West London

Copyright: Charles Symons 2017

Page 34: Copyright: Charles Symons 2017crest.cs.ucl.ac.uk/cow/52/slides/cow52_Symons.pdf · Functional User Requirements usable for both our software measurement objectives based on fundamental

Thank you for your attention

(www.cosmic-sizing.org)

Charles Symons [email protected]