Más contenido relacionado La actualidad más candente (20) Similar a Using the COSMIC Method to Estimate Agile User Stories (20) Más de Luigi Buglione (20) Using the COSMIC Method to Estimate Agile User Stories1. VALOIR 2011
1° Workshop on Managing the Client Value
Creation Process in Agile Projects
Torre Canne (BA) – Italy, June 20 2011
Using the COSMIC Method to Estimate Agile User Stories
Jean-Marc Desharnais
Luigi Buglione
Buğra Kocatürk
www.eng.it
2. Engineering At a glance
_ The first Italian ICT player
_ more than 730 M/€ revenues Research and PA & HC Finance Industry TELCO Utilities
Development
_ 1000 clients
_ 6,300 IT specialists System Int. &
Consultancy
% 46 70 54 80 80
Outsourcing % 35 10 27 10
Software
% 19 20 19 10 20
ERP IT Security ECM
Plant Management
Managed Operations Broadband & Media
System
www.eng.it
www.eng.it
3. COSMIC & Agile Goals of the presentation
G1. Introduce the estimation issue in Agile projects
G2. Discuss main weaknesses and points of attention from the
state-of-the-art
G3. Present an estimation process based on a FSM method
(COSMIC) jointly with a qualitative driver (quality of documentation)
3 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
4. COSMIC & Agile Agenda
• Introduction
– A bit of humour…
– What is (should be) Agile?
• Related Works
– Agile Methodologies
– The ISBSG repositoty
• Our Proposal: a 7-step process
1. Getting UR in terms of US
2. Formulate & Identify Functional Process(es)
3. Determine the Functional Size per US
4. Calculate Effort per CFP
5. Calculate Total Effort
6. Prepare the Initial Project Plan
7. Revise the Project Plan
• Conclusions & Future Works
• Q&A
4 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
5. Introduction A bit of humour...
www.dilbert.com
URL:
5 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
6. Introduction What is (should be) Agile?
6 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
7. COSMIC & Agile Agenda
• Introduction
– A bit of humour…
– What is (should be) Agile?
• Related Works
– Agile Methodologies
– The ISBSG repositoty
• Our Proposal: a 7-step process
1. Getting UR in terms of US
2. Formulate & Identify Functional Process(es)
3. Determine the Functional Size per US
4. Calculate Effort per CFP
5. Calculate Total Effort
6. Prepare the Initial Project Plan
7. Revise the Project Plan
• Conclusions & Future Works
• Q&A
7 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
8. Related Works Agile Methodologies (Req. Mgmt)
What the customer What the project How analysts What programmers What consultant said
asked for manager understood projected it did it was needed
How the project was What was effectively What the customer How maintenance What the customer
documented installed had to pay was run would have needed
8 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
9. Related Works Agile Methodologies (Staffing)
9 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
10. Related Works AM – Main Issues
• Agile denotes…
…the quality of being agile, readiness for motion, nimbleness, activity,
dexterity in motion
• “Old” paradigms to be overcome during the ’90s
Shorter time-to-market
More compressed project schedules
Requirements more and more instable
Heavyweight vs lightweight (or agile) methods/approaches
agile
• “Agile” Methods (AM) as the new paradigm for Sw Development
A more flexible answer to manage projects
Common characteristics and ways to express an iterative-incremental SLC
Plenty of methods between mid ’90 and the start of Y2K, grouped under the
Agile Alliance umbrella
XP, SCRUM, FDD, DSDM, Crystal, ….
10 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
11. Related Works The Agile Manifesto (2001)
2001
“We are uncovering better ways of developing software
by doing it and helping others do it.
Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right,
we value the items on the left more”
Source: www.agilemanifesto.org
11 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
12. Related Works AM & Estimation: Planning Poker
• Delphi approach with a 4-step
iterative process
1. Present US for estimate
2. After discussion, each player estimate
the amount of work for a certain US
keeping the related card
3. All estimates are still private till the
choice of a card
4. At the end, all estimates are revealed
and the discussion can be iterated for
a refinement
• Pros
Sharing ideas and thoughts
F2F discussions
• Cons
It’s anyway “guess estimation”
It does not rely on historical data
Source: http://planningpoker.com
12 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
13. Related Works AM & Estimation: Some Complaints
(2007)
2007
• Main (missing) points:
1. Non-Functional Reqs (NFR)
• US expresses only the functional side of the
story
2. Sizing Unit
• No standard and ‘physical’ measures for sizing
US, only time-based approximations (e.g.
Story Points)
3. Historical Data
• Only DSDM asks to historicize
data from an Agile project
3. Standards
• A plenty of methods, no
agreed standards about how
to measure, monitor & control
Source: Buglione L. & Abran A., Improving Estimations in Agile Projects: issues and avenues, Proceedings of the 4th Software Measurement European
Forum (SMEF 2007), Rome (Italy), May 9-11 2007, ISBN 9-788870-909425, pp.265-274, URL: http://www.dpo.it/smef2007/papers/day2/212.pdf
13 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
14. Related Works ISBSG Repository – www.isbsg.org
• 2 repositories: Dev&Enh (D&E), Maint & Support (M&S)
• D&E release 11 (2009) -- 5052 projects -- 100+ attributes
• Next: e.g. right now, no splitted effort by ReqType (FUR/NFR)
Next
14 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
15. COSMIC & Agile Agenda
• Introduction
– A bit of humour…
– What is (should be) Agile?
• Related Works
– Agile Methodologies
– The ISBSG repositoty
• Our Proposal: a 7-step process
1. Getting UR in terms of US
2. Formulate & Identify Functional Process(es)
3. Determine the Functional Size per US
4. Calculate Effort per CFP
5. Calculate Total Effort
6. Prepare the Initial Project Plan
7. Revise the Project Plan
• Conclusions & Future Works
• Q&A
15 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
16. Our proposal A 7-step process
1. Get User Requirements (UR) in terms of User Story (US)
2. Formulate & Identify Functional Process(es)
3. Determine the Functional Size per US in COSMIC FP (CFP)
4. Calculate Effort per CFP
5. Calculate Total Effort
6. Prepare the Initial Project Plan
7. Revise the Project Plan
16 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
17. Our proposal The COSMIC Method – www.cosmicon.com
• COSMIC Method
2° Generation FSM-method (1998-), current version: v3.0.1 (2010)
Source: Abran A., Desharnais J.M., Oligny S., St-Pierre D., Symons C., COSMIC-
It is also an ISO standard: ISO/IEC 19761:2011
Three phases: Measurement Strategy, Mapping & Measurement
Introduced the concepts of ‘layer’ and ‘viewpoint’, more stressed than in 1° generation FSM-methods
Convertibility from/to other FSM methods (included FFP v1.0 and IFPUG FPA v4.1)
• BFC (Base Functional Components)
Four ‘data movements’: E – Entry, X - eXit, R – Read, W –Write
Measurement Manual, v3.0, September 2007, COSMICON
• Weighting System
No weighting system
Each data movement counts 1 CFP (COSMIC Function Point)
17 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
18. Our proposal 1. Getting UR in terms of US
• User story on ‘Customers can rent movies on-site’
18 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
19. Our proposal 2. Formulate & Identify Functional Process(es)
MS.01 - Definition of purpose of the measurement
MS.02 - Definition of scope of the measurement
1. MEASUREMENT
STRATEGY (MS) MS.03 - Identification of functional users
MS.04 - Identification of level of granularity
MA.01 - Application of Generic Software Model
2. MAPPING (MA) MA.02 - Identification of functional processes
MA.03 - Identification of objects of interest and data groups
• ‘Customer can rent movies on-site’ is a
single Functional Process
• Some typical questions to pose at this
stage of analysis from US are:
how many functional processes within a
story
is the story imply a change in the
database (write)
what is the trigger of the functional
process
etc.
19 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
20. Our proposal 3. Determine the Functional Size per US
ME.01 - Identification of data attributes
ME.02 - Identification of data movements
3. MEASUREMENT (ME)
ME.03 - Application of measurement function
ME.04 - Aggregation of measurement results
• 1 Functional Process
• 3 Data Groups
• CFP= #Entry (E) + #Exit (X) +#Read (R)
+ #Write (W)
• CFP= 3 (E) + 4 (X) + 3 (R) + 3 (W) =
13
20 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
21. Our proposal 4. Calculate Effort per CFP
• PDR, Productivity and Estimation
Need to know from your project historical database (PHD) or from reliable sources
(e.g. ISBSG)
Productivity is not PDR! They are the opposite (Productivity = PDR-1 and viceversa)
Note that such productivity is ‘nominal’ and not ‘strictly functional’
Use man-hours and not man-days
Do a statistical analysis using common-sense criteria for deriving homogeneous sub-
sets of projects (e.g. by functional size, development type, programming language
and technical environment, repeatibility of such kind of projects, etc.)
Put in evidence any possible ‘outlier’ also by qualitative fields in your PHD (e.g.
Supposed more effort for a higher proportion of NFR vs. FUR for a project)
• 1 Functional Process
• 3 Data Groups
• CFP= 3 (E) + 4 (X) + 3 (R) + 3 (W) = 13
• PDR= hrs/CFP = (assumed) c.a.
5hrs/CFP
21 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
22. n
∑
i= 1
CFPUSi * EUSi =
Our proposal 5. Calculate Total Effort
Change Change
CFP for CFP for CFP for for for
Phase 1 Phase 2 Phase 3 Phase 1 - Phase 2 -
2 3
US 1 13 13 12 0 1
US 1a - 17 16 17 1
US 2 10 4 4 6 0
• 10 US; 15 1 Functional Process
US 2a - - 10 0 10 • Some US were split into 1+ FP
US 3 4 4 4 0 0 • 3 phases
US 3a - 6 6 6 0 • CFPmin:83; CFPmax:132
US 4 12 13 12 1 1
US 5 8 8 8 0 0 • US1=12 CFP
US 5a - - 10 0 10 • Effort/CFP:5 hrs/CFP
US 6 12 11 10 1 1
• Effort(US1)=5*12=60 hrs
US 7 8 8 8 0 0
US 7a - 11 10 11 1
• Overall Project Effort=
US 8 4 6 6 2 0 n
US 9
US 10
8
4
9
7
9
7
1
3
0
0
∑i= 1
CFPUSi * EffortUSi
Total 83 113 132 48 25
• = 132 * 5= 660 m-hrs
22 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
23. Our proposal 6. Prepare the Initial Project Plan
Knowing the overall project
effort from the estimation
of the n User Stories:
Determine the number of
iterations (Sprint, in Scrum)
Prepare the first version of the
Project Plan, Resource Plan or
Budget Plan
Use the INVEST criteria for
determining priorities when
scheduling the stories across
iterations
Balance FUR and NFR for a
proper team staffing
Choose few but core measures
covering all the perspectives of
interest for the project
23 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
24. Our proposal 7. Revise the Project Plan
From the 2° phase on:
Refine the project plan by new
estimates and the project
monitoring
Elicit and clear any ambiguity
and incompleteness in US
Add any eventual new US
Iterate estimate by partial
values monitored and achieved
in terms of times and costs
Use burndown charts instead of
EV charts (how many hours/$
are still available from the
project budget?)
24 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
25. COSMIC & Agile Agenda
• Introduction
– A bit of humour…
– What is (should be) Agile?
• Related Works
– Agile Methodologies
– The ISBSG repositoty
• Our Proposal: a 7-step process
1. Getting UR in terms of US
2. Formulate & Identify Functional Process(es)
3. Determine the Functional Size per US
4. Calculate Effort per CFP
5. Calculate Total Effort
6. Prepare the Initial Project Plan
7. Revise the Project Plan
• Conclusions & Future Works
• Q&A
25 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
26. COSMIC & Agile Conclusions & Future Works
• Agile Methodologies (AM)
Agile methods are typically applied in small, short-time target, time-boxed projects
Split AM into ASD (Agile Sw Development) and APM (Agile Project Management) methods
Agile Manifesto (4 values; 12 principles) valid but under revision
• Agile & Estimation
Some weaknesses when dealing with Estimation in Agile
Main points of attention are about the ‘sizing measure’ and the productivity historical data
Using a FSM method with a parametrical approach
COSMIC is a 2° generation FSM method (ISO/IEC 19761:2011)
Easier and faster way to count software product FURs, anyway it cannot take into account NFR
Parametric approach: Add qualitative criteria/drivers for deriving homogeneous project clusters
(sub-groups)
In this study the ‘quality of documentation’ driver was applied
Some lessons learned
Need to reduce subjectivity and choose few standards measures, in particular when in medium-
large organizations
Historical data is one of the core issue to achieve and implent as soon as possible
A functional size measure (fsu) as COSMIC jointly with a qualitative driver can greatly help in
improving estimates, by a reduction of project MRE and the ‘cone of uncertainty’
Analyze facts and talk through data
(Kaoru Ishiwaka, TQM guru)
26 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
27. COSMIC & Agile Q&A
Grazie per l’attenzione!
Thanks for your attention!
27 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
28. COSMIC & Agile Contacts
Jean-Marc Luigi Buğra
Desharnais Buglione Kocatürk
ETS/Bogazici Univ. ETS/Engineering.IT Bogazici University
desharnaisjm@gmail.com luigi.buglione@eng.it bugrakocaturk@hotmail.com
28 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione