copyright: charles symons 2017crest.cs.ucl.ac.uk/cow/52/slides/cow52_symons.pdf · functional user...
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](https://reader035.vdocuments.us/reader035/viewer/2022071004/5fc1bed63c9cfc127a31fa6c/html5/thumbnails/1.jpg)
![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](https://reader035.vdocuments.us/reader035/viewer/2022071004/5fc1bed63c9cfc127a31fa6c/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022071004/5fc1bed63c9cfc127a31fa6c/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022071004/5fc1bed63c9cfc127a31fa6c/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022071004/5fc1bed63c9cfc127a31fa6c/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022071004/5fc1bed63c9cfc127a31fa6c/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022071004/5fc1bed63c9cfc127a31fa6c/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022071004/5fc1bed63c9cfc127a31fa6c/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022071004/5fc1bed63c9cfc127a31fa6c/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022071004/5fc1bed63c9cfc127a31fa6c/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022071004/5fc1bed63c9cfc127a31fa6c/html5/thumbnails/11.jpg)
![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](https://reader035.vdocuments.us/reader035/viewer/2022071004/5fc1bed63c9cfc127a31fa6c/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022071004/5fc1bed63c9cfc127a31fa6c/html5/thumbnails/13.jpg)
‘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](https://reader035.vdocuments.us/reader035/viewer/2022071004/5fc1bed63c9cfc127a31fa6c/html5/thumbnails/14.jpg)
’
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](https://reader035.vdocuments.us/reader035/viewer/2022071004/5fc1bed63c9cfc127a31fa6c/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022071004/5fc1bed63c9cfc127a31fa6c/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022071004/5fc1bed63c9cfc127a31fa6c/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022071004/5fc1bed63c9cfc127a31fa6c/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022071004/5fc1bed63c9cfc127a31fa6c/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022071004/5fc1bed63c9cfc127a31fa6c/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022071004/5fc1bed63c9cfc127a31fa6c/html5/thumbnails/21.jpg)
![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](https://reader035.vdocuments.us/reader035/viewer/2022071004/5fc1bed63c9cfc127a31fa6c/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022071004/5fc1bed63c9cfc127a31fa6c/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022071004/5fc1bed63c9cfc127a31fa6c/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022071004/5fc1bed63c9cfc127a31fa6c/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022071004/5fc1bed63c9cfc127a31fa6c/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022071004/5fc1bed63c9cfc127a31fa6c/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022071004/5fc1bed63c9cfc127a31fa6c/html5/thumbnails/28.jpg)
“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](https://reader035.vdocuments.us/reader035/viewer/2022071004/5fc1bed63c9cfc127a31fa6c/html5/thumbnails/29.jpg)
![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](https://reader035.vdocuments.us/reader035/viewer/2022071004/5fc1bed63c9cfc127a31fa6c/html5/thumbnails/30.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022071004/5fc1bed63c9cfc127a31fa6c/html5/thumbnails/31.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022071004/5fc1bed63c9cfc127a31fa6c/html5/thumbnails/32.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022071004/5fc1bed63c9cfc127a31fa6c/html5/thumbnails/33.jpg)
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 35: 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](https://reader035.vdocuments.us/reader035/viewer/2022071004/5fc1bed63c9cfc127a31fa6c/html5/thumbnails/35.jpg)
Copyright: Charles Symons 2017