+ All Categories
Home > Technology > Using the COSMIC Method to Estimate Agile User Stories

Using the COSMIC Method to Estimate Agile User Stories

Date post: 03-Nov-2014
Category:
Upload: luigi-buglione
View: 5 times
Download: 2 times
Share this document with a friend
Description:
This presentation presents an estimation process based on the COSMIC FSM method jointly with a qualitative driver (quality of documentation)
Popular Tags:
28
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 Desharnais Desharnais Luigi Buglione Buglione Buğra Kocatürk Kocatürk
Transcript
Page 1: Using the COSMIC Method to Estimate Agile User Stories

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

Page 2: Using the COSMIC Method to Estimate Agile User Stories

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

Page 3: Using the COSMIC Method to Estimate Agile User Stories

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)

Page 4: Using the COSMIC Method to Estimate Agile User Stories

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

Page 5: Using the COSMIC Method to Estimate Agile User Stories

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

Page 6: Using the COSMIC Method to Estimate Agile User Stories

6 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione

Introduction What is (should be) Agile?

Page 7: Using the COSMIC Method to Estimate Agile User Stories

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

Page 8: Using the COSMIC Method to Estimate Agile User Stories

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

Page 9: Using the COSMIC Method to Estimate Agile User Stories

9 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione

Related Works Agile Methodologies (Staffing)

Page 10: Using the COSMIC Method to Estimate Agile User Stories

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

Page 11: Using the COSMIC Method to Estimate Agile User Stories

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

Page 12: Using the COSMIC Method to Estimate Agile User Stories

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

Page 13: Using the COSMIC Method to Estimate Agile User Stories

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

Page 14: Using the COSMIC Method to Estimate Agile User Stories

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)

Page 15: Using the COSMIC Method to Estimate Agile User Stories

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

Page 16: Using the COSMIC Method to Estimate Agile User Stories

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

Page 17: Using the COSMIC Method to Estimate Agile User Stories

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)

Page 18: Using the COSMIC Method to Estimate Agile User Stories

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’

Page 19: Using the COSMIC Method to Estimate Agile User Stories

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.

Page 20: Using the COSMIC Method to Estimate Agile User Stories

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

Page 21: Using the COSMIC Method to Estimate Agile User Stories

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)

Page 22: Using the COSMIC Method to Estimate Agile User Stories

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∑

=

Page 23: Using the COSMIC Method to Estimate Agile User Stories

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

Page 24: Using the COSMIC Method to Estimate Agile User Stories

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?)

Page 25: Using the COSMIC Method to Estimate Agile User Stories

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

Page 26: Using the COSMIC Method to Estimate Agile User Stories

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)

Page 27: Using the COSMIC Method to Estimate Agile User Stories

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!!

Page 28: Using the COSMIC Method to Estimate Agile User Stories

28 VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione

COSMIC & Agile Contacts

Luigi Buglione

ETS/[email protected]

Jean-Marc Desharnais

ETS/Bogazici [email protected]

Buğra Kocatürk

Bogazici University [email protected]


Recommended