Upload
luigi-buglione
View
7
Download
2
Tags:
Embed Size (px)
DESCRIPTION
This presentation presents an estimation process based on the COSMIC FSM method jointly with a qualitative driver (quality of documentation)
Citation preview
www.eng.it
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 DesharnaisDesharnais
Luigi BuglioneBuglione
Buğra KocatürkKocatürk
www.eng.it
Engineering At a glance
ERP ECMIT Security
Plant ManagementSystem
Broadband & MediaManaged Operations
System Int. & System Int. & ConsultancyConsultancy
OutsourcingOutsourcing
SoftwareSoftware
7070
1010
2020
8080
2020
5454
2727
1919
8080
1010
1010
FinanceFinance IndustryIndustry TELCOTELCO UtilitiesUtilities
%%
%%
%%
ResearchResearch and and DevelopmentDevelopment
3535
1919
4646
PA & HCPA & HC
_ The first Italian ICT player
_ more than 730 M/€ revenues_ 1000 clients_ 6,300 IT specialists
www.eng.it
3 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
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)
4 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
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 process1. Getting UR in terms of US2. Formulate & Identify Functional Process(es)3. Determine the Functional Size per US4. Calculate Effort per CFP5. Calculate Total Effort6. Prepare the Initial Project Plan7. Revise the Project Plan
• Conclusions & Future Works• Q & A
5 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
Introduction A bit of humour...
UR
L:
ww
w.d
ilber
t.co
m
6 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
Introduction What is (should be) Agile?
7 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
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 process1. Getting UR in terms of US2. Formulate & Identify Functional Process(es)3. Determine the Functional Size per US4. Calculate Effort per CFP5. Calculate Total Effort6. Prepare the Initial Project Plan7. Revise the Project Plan
• Conclusions & Future Works• Q & A
8 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
Related Works Agile Methodologies (Req. Mgmt)
What the customer asked for
What the project manager understood
How analysts projected it
What programmers did
What consultant said it was needed
How the project was documented
What was effectively installed
What the customer had to pay
How maintenance was run
What the customer would have needed
9 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
Related Works Agile Methodologies (Staffing)
10 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
• 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 HeavyweightHeavyweight vs lightweightlightweight (or agileagile) methods/approaches
• “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, ….
Related Works AM – Main Issues
11 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
Related Works The Agile Manifesto (20012001)
“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 toolsWorking software over comprehensive documentation
Customer collaboration over contract negotiationResponding 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
12 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
Related Works AM & Estimation: Planning Poker
Source: http://planningpoker.com
• Delphi approach with a 4-step iterative process
1. Present US for estimate2. 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
13 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
Related Works AM & Estimation: Some Complaints (20072007)
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
• Main (missing) points:1. Non-Functional Reqs (NFR)• US expresses only the functional side of the
story2. 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 project3. Standards
• A plenty of methods, no agreed standards about how to measure, monitor & control
14 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
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• NextNext: e.g. right now, no splitted effort by ReqType (FUR/NFR)
15 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
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 process1. Getting UR in terms of US2. Formulate & Identify Functional Process(es)3. Determine the Functional Size per US4. Calculate Effort per CFP5. Calculate Total Effort6. Prepare the Initial Project Plan7. Revise the Project Plan
• Conclusions & Future Works• Q & A
16 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
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
17 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
Our proposal The COSMIC Method – www.cosmicon.com
Sou
rce:
Abr
an A
., D
esha
rnai
s J.
M.,
Olig
ny S
., St
-Pie
rre
D.,
Sym
ons
C.,
COSM
IC-
M
easu
rem
ent
Man
ual,
v3.0
, Sep
tem
ber
2007
, CO
SMIC
ON
• COSMIC Method 2° Generation FSM-method (1998-), current version: v3.0.1 (2010) 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
• Weighting System No weighting system Each data movement counts 1 CFP (COSMIC Function Point)
18 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
Our proposal 1. Getting UR in terms of US
• User story on ‘Customers can rent movies on-site’
19 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
Our proposal 2. Formulate & Identify Functional Process(es)
1. MEASUREMENT STRATEGY (MS)
MS.01 - Definition of purpose of the measurement
MS.02 - Definition of scope of the measurement
MS.03 - Identification of functional users
MS.04 - Identification of level of granularity
2. MAPPING (MA)
MA.01 - Application of Generic Software Model
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.
20 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
Our proposal 3. Determine the Functional Size per US
3. MEASUREMENT (ME)
ME.01 - Identification of data attributes
ME.02 - Identification of data movements
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
21 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
Our proposal 4. Calculate Effort per CFP
• 1 Functional Process• 3 Data Groups• CFP= 3 (E) + 4 (X) + 3 (R) + 3 (W) = 13• PDR= hrs/CFP = (assumed) c.a.
5hrs/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)
22 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
Our proposal 5. Calculate Total Effort
CFP for Phase 1
CFP for Phase 2
CFP for Phase 3
Change for
Phase 1 - 2
Change for
Phase 2 - 3
US 1 13 13 12 0 1
US 1a - 17 16 17 1
US 2 10 4 4 6 0
US 2a - - 10 0 10
US 3 4 4 4 0 0
US 3a - 6 6 6 0
US 4 12 13 12 1 1
US 5 8 8 8 0 0
US 5a - - 10 0 10
US 6 12 11 10 1 1
US 7 8 8 8 0 0
US 7a - 11 10 11 1
US 8 4 6 6 2 0
US 9 8 9 9 1 0
US 10 4 7 7 3 0
Total 83 113 132 48 25
• 10 US; 15 1 Functional Process• Some US were split into 1+ FP• 3 phases• CFPmin:83; CFPmax:132
• US1=12 CFP• Effort/CFP:5 hrs/CFP• Effort(US1)=5*12=60 hrs
• Overall Project Effort=
• = 132 * 5= 660 m-hrs
=∑=
n
iUSiUSi ECFP
1
*
USi
n
iUSi EffortCFP *
1∑
=
23 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
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
24 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
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?)
25 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
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 process1. Getting UR in terms of US2. Formulate & Identify Functional Process(es)3. Determine the Functional Size per US4. Calculate Effort per CFP5. Calculate Total Effort6. Prepare the Initial Project Plan7. Revise the Project Plan
• Conclusions & Future Works• Q & A
26 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
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)
27 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
COSMIC & Agile Q && A
Grazie per l’attenzioneGrazie per l’attenzione!!Thanks for your attentionThanks for your attention!!
28 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
COSMIC & Agile Contacts
Luigi Buglione
Jean-Marc Desharnais
ETS/Bogazici [email protected]
Buğra Kocatürk
Bogazici University [email protected]