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
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
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
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
Introduction            A bit of humour...




                                                                                         www.dilbert.com
                                                                                      URL:
5                  VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
Introduction            What is (should be) Agile?




6                  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 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
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
Related Works            Agile Methodologies (Staffing)




9                   VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
COSMIC & Agile            Q&A




             Grazie per l’attenzione!
            Thanks for your attention!
27                    VALOIR 2011 – Torre Canne (BA), June 20, 2011– © 2011 L.Buglione
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

Using the COSMIC Method to Estimate Agile User Stories

  • 1.
    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