SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Downloaden Sie, um offline zu lesen
IBM Global Services




Estimation in Agile Projects
         Dr. Christoph Steindl
         Senior IT Architect and Method Exponent
         christoph_steindl@at.ibm.com

         Pål Krogdahl
         Senior IT Architect and Method Exponent
         pal.krogdahl@se.ibm.com




         IBM Academy of Technology Best Practices in Project Estimation Conference   © 2005 IBM Corporation
IBM Global Services




Goals of this presentation
    Explain (just) a little bit what “Agile” means.
    Describe estimation and NOT planning in agile projects.


    At the conclusion of this session, you should be able to understand:
      – There are different processes for “Predictable Manufacturing” and “New Software
        Development”.
      – Estimation in a highly dynamic environment is done differently
      – How estimation is done in an agile way
      – What the reasons are for doing it that way




2              IBM Academy of Technology Best Practices in Project Estimation Conference   © 2005 IBM Corporation
IBM Global Services




Motivation
    Plans are only as good as the estimates, that the plans are based on, and
    estimates always come second to actuals. The real world has this horrible habit
    of destroying plans.

    The customer has the right to an overall plan, to see progress and to be
    informed of schedule changes. Whereas the developer has the right to make
    and update his own estimates and to accept responsibility instead of having
    responsibility assigned to him.

    You can’t put 10 pounds of (whatever) into a 5 pound bag.

    Forecasting tomorrow’s weather is much more difficult than telling what the
    weather was like yesterday.

    Don’t try to be too sophisticated; estimates will never be anything other than
    approximate, however hard you try.

                                                 From: Kent Beck and Martin Fowler: Planning Extreme Programmin
3             IBM Academy of Technology Best Practices in Project Estimation Conference       © 2005 IBM Corporation
IBM Global Services




Software is New Product Development
Most software is not a predictable or mass manufacturing problem. Software development is
  new product development.
    Predictable Manufacturing                                        New Product Development
    It is possible to first complete specifications,                 Rarely possible to create upfront unchanging
    and then build.                                                  and detailed specs.
    Near the start, one can reliably estimate                        Near the beginning, it is not possible. As
    effort and cost.                                                 empirical data emerge, it becomes
                                                                     increasingly possible to plan and estimate.
    It is possible to identify, define, schedule,                    Near the beginning, it is not possible.
    and order all the detailed activities.                           Adaptive steps driven by build-feedback
                                                                     cycles are required.
    Adaptation to unpredictable change is not                        Creative adaptation to unpredictable change
    the norm, and change-rates are relatively                        is the norm. Change rates are high.
    low.
    A “waterfall” lifecycle, big up-front specifications, estimates, and speculative plans applicable
        to predictable manufacturing have been misapplied to software projects, a domain of
        inventive, high-change, high-novelty work.           From: Craig Larman: Agile & Iterative Developme
4                 IBM Academy of Technology Best Practices in Project Estimation Conference           © 2005 IBM Corporation
IBM Global Services

                                                                                                        Background

Complexity in development projects
    „It is typical to adopt the defined (theoretical)                     Ogunnaike and Ray: Process Dynamics, Modelin
    modeling approach when the underlying                                 and Control.
    mechanisms by which a process operates are
    reasonably well understood. When the
    process is too complicated for the defined
    approach, the empirical approach is the
    appropriate choice.“

    Empirical Processes:
     –   When you can‘t define things enough so that
         they run unattended and produce repeatable,
         acceptable quality output.
     –   Empirical models are used when the activities
         are not predictable, are non-linear, and are too
         complex to define in repeatable detail.
     –   Small changes in the input can lead to huge
         changes in the output („butterfly effect“, chaos
         theory)
     –   Control is through inspection and adaptation.

5              IBM Academy of Technology Best Practices in Project Estimation Conference              © 2005 IBM Corporation
IBM Global Services




                                        http://www.xp2003.org/xp2002/talksinfo/johnson.pdf

6   IBM Academy of Technology Best Practices in Project Estimation Conference   © 2005 IBM Corporation
IBM Global Services

                                                                                              Background

Manifesto for Agile Software Development
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.




* Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler,
James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin,
Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas, 2001.
7               IBM Academy of Technology Best Practices in Project Estimation Conference   © 2005 IBM Corporation
IBM Global Services




Agile Methods are in Wide-Spread Use
    Extreme Programming (Kent Beck)
    Scrum (Ken Schwaber, Jeff Sutherland, Mike Beedle)
    Crystal (Alistair Cockburn)
    DSDM (Arie van Bennekum)
    Feature-Driven Development (Jeff De Luca)
    Lean Development (Bob Charette)
    Adaptive Software Development (Jim Highsmith)

    There are tons of books on the subject.

    Google reports 49.700 hits for „Agile methods“.




8             IBM Academy of Technology Best Practices in Project Estimation Conference   © 2005 IBM Corporation
IBM Global Services

                                                                                                                    How

Iterative & Incremental Development                                                                        Daily Stand-Up
                                                                                                           Meetings
    Frequent inspection and adaptation
      –   Daily within team, monthly with customer                                              1d
    Collaboration, close communication                                                                       Demo
      –   Daily Stand-up Meetings within team, where                                                         Retrospective
          the customer may attend, but not intrude
    Frequent delivery                                                                              1 mo
      –   Demo increment of potentially shippable
          functionality
    Reflective improvement
      –   At the end of each iteration, consider what
                                                                                                                 Increment o
                                                                                            Iteration Backlog functionality
          worked well, what did not work well, what to
          try next iteration                                                                (fine-grain features
    (Incremental) Emergence of requirements,                                                     and tasks)
                                                                    Release
    technology, and team capabilities
                                                                    Backlog                  Iteration Planning
    Empowerment and self-organization
                                                                    (coarse-grain            Meeting: Tasks
      –   Team makes up the tasks to deliver the
          functionality                                             features)                emerge from features
      –   Team estimates the effort and cost                                                 Release Planning Meeting:
    Dealing with reality, not artefacts                                                      Features emerge from
      –   Deliver software (mainly) plus additional                                          vision statement
          requested deliverables
9               IBM Academy of Technology Best Practices in Project Estimation Conference                   © 2005 IBM Corporation
IBM Global Services

                                                                                                                     How

Iterative Estimation with Frequent Delivery                                                                 Developers
                                                                                                            re-estimate effort
                                                                                                            still open daily.
     The team understands - by and by – its                           Customer
                                                                                                            Display results
     velocity, how much it can deliver in an                          prioritizes
                                                                                                            publicly.
     iteration.                                                       for business
                                                                      value and
                                                                      criticality
     Team members sign up for tasks, there is no
     project manager who assigns the tasks.

     Everyone estimates his/her tasks, there is no
     estimation guru who estimates all tasks for all                                                              Increment o
     people. The quality of the estimate is                                                 Iteration
                                                                                                                  functionality
     commensurate with the information available.                                           Backlog
                                                                                             Team brainstorms necessary
                                                   Release                                   tasks, everyone estimates
     Everyone estimates often: at the beginning of
                                                   Backlog                                   his/her tasks.
     the iteration, daily during the iteration to
     estimate the remaining effort.                                                         Team estimates effort and costs
                                                                                            for implementation
     The effort remaining (and not the effort
     already spent) is displayed publicly to enable
     collaborating teams that work together to
     meet the target of the iteration.
10              IBM Academy of Technology Best Practices in Project Estimation Conference                    © 2005 IBM Corporation
IBM Global Services




Agile Principles for Estimation
     If estimating is difficult, the agile approach increases the feedback
       – shorten the time from estimating to feedback about accuracy of estimate
       – increase the frequency of estimating
       – sketch out options and get feedback from the customer before doing detailed
         estimating
       – The guideline here is: Don't estimate too far into the future, if the future is unclear!
     If the requirements and assumptions are not really clear, the team develops
     multiple estimates (“Options Thinking”):
       – communicate the constraints / assumptions of the estimates rather than just the
         numbers
       – discuss the constraints / assumptions with the customer and the customer can give
         feedback to better align the team's understanding with the business drivers.
     Validate estimates by comparing them with other estimates / experience, use
     simple rules, triangulation and intuitive decision making.
     The agile approach relies on self-organization of the team, continuous learning
     and emergence of estimates (besides requirements and design).

11              IBM Academy of Technology Best Practices in Project Estimation Conference   © 2005 IBM Corporation
IBM Global Services

stimating coarse-grained features                                                           How (Scrum

Estimating Release Backlog (1/2)
     To gain an understanding of the amount of effort to develop the product or
     system (long-term view).

     Make more effort to reach this estimate for higher priority than lower priority
     items, since the lower priority items may change prior to being developed.

     Don’t spend too much time on estimating. The goal of the estimates is to gain a
     general understanding of the cost of the system or product. This is used to
     determine whether it is economic to develop it. Be aware of diminishing returns.
     Do enough, but not too much.

     The Product Owner works with the business departments and the
     development organization to develop estimates (to analyze, design, develop,
     document, and test the functionality, i.e. whole lifecycle), usually in person
     days.

     Use the people who will be staffing the project teams to make the estimates. If
     they aren’t known yet, have people of equal skills and project domain
     knowledge make the estimates. Do not have experts or outsiders make the
     estimates. Their estimates are irrelevant to those who will actually be doing the
     work.                                               From: Ken Schwaber: Scrum Methodolog
12             IBM Academy of Technology Best Practices in Project Estimation Conference   © 2005 IBM Corporation
IBM Global Services

stimating coarse-grained features                                                           How (Scrum

Estimating Release Backlog (2/2)
     Estimating is iterative. Estimates change as more information emerges.

     If you can’t get a believable estimate for a top priority backlog item, lower its
     priority (to delay working on that item until you know more about it).
     Alternatively, keep them high priority but reclassify them as an issue. The
     work to turn this issue into required functionality might take ten days; so
     estimate the issue at ten days.

     Break down features to under 10 days if they
     are to be implemented within the next 6 months.

     Lower priority product backlog is vague, a
     placeholder for further investigation/thinking
     as its priority increases. The estimates (often
     10-40 days) are not very reliable.


                    From: Ken Schwaber: Scrum Methodology
13             IBM Academy of Technology Best Practices in Project Estimation Conference   © 2005 IBM Corporation
IBM Global Services

stimating coarse-grained features                                                                                    How (Scrum

Adjusting Release Backlog Estimates (1/2)
     To reflect any factors that reduce team effectiveness. Scrum assumes an optimal work
     environment. This activity forces an understanding that suboptimal product factors
     have a cost.

     The guidelines for adjusting estimates to reflect complexity are just that: guidelines. This
     is not a precise science.

     The estimated time for each item can be adjusted by a “complexity factor.” reflecting the
     degree of complexity due to requirements and technology that will affect the estimates.

     Keep adjustment for complexity separate from                                                                             2.0
     the base estimate.




                                                                                            Requirements
                                                                                                                   0.6
     Apply the complexity factor only to a known horizon.                                                  0.2
     If it is possible that the team environment will change,
     don’t apply complexity factors past that horizon.
                                                                                                           0       0.2       Complex
     Diminish the impact of the complexity factors as the team                                                                  0.6
     can be expected to master the technical and business domain.
                                From: Ken Schwaber: Scrum Methodology                                            Deployment
14              IBM Academy of Technology Best Practices in Project Estimation Conference                        Technology Corporation
                                                                                                                    © 2005 IBM
IBM Global Services

stimating coarse-grained features                                                                              How (Scrum

Adjusting Release Backlog Estimates (2/2)
                                                                                     Drag     # of years   Know ledge of Know ledge
                                                                                              together     technology    dom ain
     Drag on team productivity: when teams                                           0.8      < 3 months   Low           Low

     haven’t worked together before, when they are                                   0.75
                                                                                     0.7
                                                                                              < 3 months
                                                                                              < 3 months
                                                                                                           Low
                                                                                                           Low
                                                                                                                         Medium
                                                                                                                         High
     not familiar with the technology, and when they                                 0.75     < 3 months   Medium        Low
                                                                                     0.5      < 3 months   Medium        Medium
     aren’t familiar with the business domain.                                       0.5      < 3 months   Medium        High
                                                                                     0.75     < 3 months   High          Low
                                                                                     0.5      < 3 months   High          Medium
     Adequacy of working environment: when the                                       0.35     < 3 months   High          High
                                                                                     0.6      < 1 year     Low           Low
     team is not together in an open environment with                                0.55     < 1 year     Low           Medium
     adequate work and conference rooms. Usually a                                   0.5
                                                                                     0.55
                                                                                              < 1 year
                                                                                              < 1 year
                                                                                                           Low
                                                                                                           Medium
                                                                                                                         High
                                                                                                                         Low
     factor of 0.2                                                                   0.3      < 1 year     Medium        Medium
                                                                                     0.25     < 1 year     Medium        High
                                                                                     0.5      < 1 year     High          Low
     Multiple teams: due to management and                                           0.25     < 1 year     High          Medium
                                                                                     0.2      < 1 year     High          High
     communications overhead caused by multiple                                      0.5      > 1 year     Low           Low
                                                                                     0.45     > 1 year     Low           Medium
     teams. Usually an additional factor of 0.1                                      0.4      > 1 year     Low           High
                                                                                     0.45     > 1 year     Medium        Low
                                                                                     0.35     > 1 year     Medium        Medium
     Adjusted Estimate = Raw Effort * (1 +                                           0.2      > 1 year     Medium        High

     complexity factor + drag + working                                              0.4
                                                                                     0.2
                                                                                              > 1 year
                                                                                              > 1 year
                                                                                                           High
                                                                                                           High
                                                                                                                         Low
                                                                                                                         Medium
     environment + multiple teams)                                                   0        > 1 year     High          High

                                                                                     From: Ken Schwaber: Scrum Methodolog
15             IBM Academy of Technology Best Practices in Project Estimation Conference                      © 2005 IBM Corporation
IBM Global Services

stimating fine-grained features                                                                                 How (XP)

User Stories (XP)
     A user story describes functionality that will be valuable to either a user or purchaser of a
     system or software. User stories are composed of three aspects.
       –   A written description of the story used for planning and as a reminder (“Card”)
       –   Conversations about the story that serve to flesh out the details of the story (“Conversation”)
       –   Tests that convey and document details and that can be used to determine when a story is
           complete (“Confirmation”)
     While the Card may contain the text of the story, the details are worked out in the
     Conversation and recorded in the Confirmation.
     User stories can be coded and tested between half a day and two weeks by one or a
     pair of programmers.
     Because user stories shift emphasis toward talking and away from writing, important
     decisions are not captured in documents (that are unlikely to be read anyway). Instead,
     important aspects about stories are captured in automated acceptance tests and run
     frequently.
     User stories encourage deferring detail – it allows us to not spend time thinking about a
     new feature until we are sure that the feature is needed. Stories discourage us from
     pretending we can know and write everything down in advance.
     Try to implement at least half a dozen of stories in an iteration.

                                                                                   Mostly from: Mike Cohn: User Stories Applie
16               IBM Academy of Technology Best Practices in Project Estimation Conference                  © 2005 IBM Corporation
IBM Global Services

stimating fine-grained features                                                                                How (XP)

Estimating User Stories
     Size of story is given in “story points” (an abstract unit). The team defines how
     a story point translates to effort (typically: 1 story point = 1 ideal day of work).
     The number of story points that a team can deliver in an iteration is called
     “team velocity”.

     Estimate as a team
       – A story comprises multiple tasks which will be done by different people.
       – The estimate for the entire story is developed by the entire team, utilizing the
         experience of all members, similarly to the “Wideband Delphi” approach.
       – The estimates are verified with triangulation and with previous estimates.
     Periodically re-estimate a story, which gives you a chance to incorporate
     additional information.

     At the end of an iteration, measure how much stuff got done. Add up the
     ideal time in all the stories to determine the team’s velocity. Each developer
     measures his velocity by tracking his accomplishments every iteration. He can
     only sign up for the same number of day’s worth of tasks the next time (be
     careful not to use that data against him).
                                                                                  Mostly from: Mike Cohn: User Stories Applie
17              IBM Academy of Technology Best Practices in Project Estimation Conference                  © 2005 IBM Corporation
IBM Global Services

stimating fine-grained features                                                                             How (XP)

Adapted Delphi Wideband Approach
1. Gather together the customer and the developers. Bring along the story cards.
   Distribute a handful of blank cards to each participant.
2. The customer selects a story at random and reads it to the developers. The
   developers ask as many questions as they need.
3. When there are no more questions, each developer writes an estimate on a
   card, not yet showing the estimate to the others.
4. When everyone has finished, the estimators turn over their cards so everyone
   can see them.
5. If estimates differ, the high and low estimators explain their estimates.
6. The group discusses it for up to a few minutes, the customer clarifies issues.
   The developers estimate again write their estimates on cards. In many cases,
   the estimates will already converge by the second round. But, if they have not,
   repeat the process.
7. If the estimates differ slightly, reach group consensus on one value. Follow the
   rule “Optimism wins” (team members whose optimism burned the team once
   will learn to temper that optimism).

                                                                               Mostly from: Mike Cohn: User Stories Applie
18           IBM Academy of Technology Best Practices in Project Estimation Conference                  © 2005 IBM Corporation
IBM Global Services

stimating fine-grained features                                                                                     How (XP)

 Triangulation
     After the first few estimates have been made, verify them by relating them to each other.
       –   A two-point story should be half the effort of a four-point story.
       –   A three-point story should be more roughly larger than a two-point story, but yet smaller than a
           four-point story.
     Although not exact, triangulation is an effective means for a team to verify that they aren’t
     gradually altering the meaning of a story point. It builds on intuitive decision making.
     Pin the story cards to the wall based on their size, compare newly-estimated stories to
     others that may already have been implemented.
     Precision decreases as story size increases, therefore constrain estimates to pre-defined
     values (e.g. ½, 1, 2, 3, 5, 8, 13, 20, 40, 80)
                          1                2               3                5                8           13

                      A user           A user          A user           A user          A user        A user
                      can...           can...          can...           can...          can...        can...

                      A user           A user          A user           A user                        A user
                      can...           can...          can...           can...                        can...

                      A user                           A user           A user
                      can...                           can...           can...

                      A user                                            A user
                      can...                                            can...
                                                                                             From: Mike Cohn: User Stories Applie
19               IBM Academy of Technology Best Practices in Project Estimation Conference                      © 2005 IBM Corporation
IBM Global Services

stimating fine-grained features                                                                     How (XP)

Yesterday’s weather
     Say you’ll do as much today (in the next iteration) as you actually got done
     yesterday (in the last iteration).

     Emergent properties of this rule:
       – We won’t habitually overestimate our abilities. We have to use actual
         accomplishment. If we overestimate once, we won’t be able to the next time.
       – If we are overcommitted, we will tend to try to finish some items in any given time
         period instead of half finishing them all. It is so embarrassing to tell the customer
         they can have zero features next time.
       – On the other hand, if we have a disastrous period, we are guaranteed a little
         breathing space to recover.
       – Everyone learns to trust our numbers because they are so easy to explain.
       – Our estimates automatically track all kinds of changes – changes to the team, new
         technology, dramatic changes in product direction, etc.

     The first estimate (at the beginning of the project, when there is no yesterday) is
     the hardest and least accurate. Fortunately you only have to do it once.

                                                   From: Kent Beck and Martin Fowler: Planning Extreme Programmin
20              IBM Academy of Technology Best Practices in Project Estimation Conference       © 2005 IBM Corporation
IBM Global Services

                                                                                                        Why

Lean Software Development with 7 Principles and 22 Tools
     Eliminate Waste
       – Seeing Waste, Value Stream Mapping
     Amplify Learning
       – Feedback, Iterations, Synchronization, Set-Based Development
     Decide as Late as Possible
       – Options Thinking, The Last Responsible Moment, Making Decisions
     Deliver as Fast as Possible
       – Pull Systems, Queuing Theory, Cost of Delay
     Empower the Team
       – Self-Determination, Motivation, Leadership, Expertise
     Build Integrity In
       – Perceived Integrity, Conceptual Integrity, Refactoring, Testing
     See the Whole
       – Measurements, Contracts


                                                        From: Mary and Tom Poppendieck: Lean Software Developmen
21              IBM Academy of Technology Best Practices in Project Estimation Conference       © 2005 IBM Corporation
IBM Global Services

                                                                                                                 Why

Principles of agile estimation (1/2)
                                                               Eliminate Waste
     Don’t estimate waste, don‘t look too far into the future. Decide as Late as Possible
       Estimate up to 2 iterations into the future (fine grain). Estimate up to 2 releases into the
          future (coarse grain).
     Estimate as a team (development + customer).
       This reduces the “blame game”, you can no longer point accusing fingers at the person
          who made the plan.                                     Amplify Learning
     Estimate your own work.                                                                Empower the Team
       You feel committed as an individual for the development of the self-selected tasks.
       You feel committed as a group for delivering the iteration goal.
     Base estimates on facts, rather than on speculation. Use actual data. Use what
     happened in the past.                                   Feedback
       Yesterday’s weather, team velocity, triangulation     Measurements
     Estimate early.
                                                             Value-Stream Mapping
       Start getting estimates as soon as you write stories. Amplify Learning
       You will know what questions to ask if you can’t estimate a story.

                                                                                            Principles
22              IBM Academy of Technology Best Practices in Project Estimation Conference                © 2005 IBM Corporation
IBM Global Services

                                                                                                                  Why

Principles of agile estimation (2/2)
                                                                                            Amplify Learning
     Estimate often. Learn from experience.                                                 Empower the Team
       At the beginning of an iteration. Update the effort remaining daily / every other day.
     Estimate small features.
                                                                                            Deliver as Fast as Possible
       Stories of several days up to 2 weeks
     Keep it simple. Use simple rules.                          Making Decisions
     Communicate the constraints / assumptions of your estimates rather than just
     the numbers.                                               Options Thinking
     Estimate total effort for implementing a story (development, testing,
     documentation etc.)                                        Measurements
     Don’t bring initial estimates (from release planning) into sessions for detailed
     estimates (iteration planning). Otherwise, the estimators will be tempted to force
     fit the task estimates to sum to the story estimate.
     Track the effort spent and the effort still open until completion. Don’t ask for a
     percentage. Only count a story as implemented if it has passed the acceptance
     tests.

                                                                                            Principles
23              IBM Academy of Technology Best Practices in Project Estimation Conference                 © 2005 IBM Corporation
IBM Global Services




Relationship to IBM Global Services Method
                                                                                                      Cone of Uncertainty
     There is a quite agile engagement model
     „Accelerated Development“ (formerly
                                                                         4.0x          bad time for
     „Rapid Custom Development“).
                                                                                        estimation
     Every (?) engagement model contains at                                                                         better time for
     the beginning of each phase the task                                2.0x                                          realistic
     „Refine Project Estimates“, so iterative                                                                         estimates
     estimation is not a new concept.
                                                                                                                                                   final
                                                                             x
     The main switch is from specialist                                                                                                            actuals
     estimation to group estimation.
     Emergence of estimates might be hard to                             0.5x
     accept, but the quality of estimates will
     always have to be commensurate with
     the information available.                                         0.25x
                                                                                 iter 1 iter 2 iter 3 iter 4 ....
     PMI has the notion of “rolling wave
     planning” which is very similar to the
     adaptive estimation approach.
     Put just enough effort into estimation, and
     be aware of the diminishing returns,
     when additional effort doesn’t result into a
     much more accurate estimate.
24               IBM Academy of Technology Best Practices in Project Estimation Conference                                            © 2005 IBM Corporation
IBM Global Services




Summary
     In a complex environment with frequent changes that cannot be anticipated,
     estimation must be done in an incremental and adaptive way. It can no longer
     be done in a sophisticated, big-upfront approach by highly skilled estimators at
     the beginning of the project.

     Agile approaches to estimation look extremely simple, but they work (somehow
     unexpectedly) quite well.

     Analogies to Lean Software Development (and Lean Manufacturing) explain
     why these simple approaches work.

     If you want to apply different (traditional, more complex, more rigorous,…)
     approaches in a complex environment, make sure that you understand the
     principles of Lean Software Development to check whether the approach can
     possibly work.



25             IBM Academy of Technology Best Practices in Project Estimation Conference   © 2005 IBM Corporation
IBM Global Services




Questions?




26     IBM Academy of Technology Best Practices in Project Estimation Conference   © 2005 IBM Corporation
IBM Global Services




Backup Slides




        IBM Academy of Technology Best Practices in Project Estimation Conference   © 2005 IBM Corporation
IBM Global Services

                                                                                             Additional

Next to estimation
     Estimating bugs
     Iceberg list (Crystal)
     Blitz planning (Crystal)
     Planning Game (XP)
     Sprint Planning Meeting (Scrum)
     Burn-down Chart (Scrum)
     Spatial Reasoning
     Wideband Delphi




28            IBM Academy of Technology Best Practices in Project Estimation Conference   © 2005 IBM Corporation
IBM Global Services

                                                                                                    How (XP)

Estimating Bugs
     First, determine if the bug is critical (= can’t wait until the next iteration).
       – Only the customer can decide whether the bug is really critical.
       – Make the tradeoff “bug vs. function” explicit, since a fixed bug might push a story
         into the next release (see the “Iceberg list”).
     If it’s not critical, then log it on a card. Get development to look at it and
     estimate the effort. You can mark the effort as unknown. If it’s less than an ideal
     day, mark it as small.
     If the estimate is more than a day’s worth of effort, treat the defect as a story.
     The customer can then say which iteration should address the defect, just as
     with any other story. Usually it’s worth lumping several bugs together to get a
     week’s worth.
     Just before the next iteration planning meeting, the customer should take the
     small and unknown bugs and prioritize them. The customer should indicate how
     much ideal time the developers should spend dealing with them.
     Encourage everyone to deal with bugs in a rational way, to make sensible
     tradeoffs between fixing defects and adding features.
                                                   From: Kent Beck and Martin Fowler: Planning Extreme Programmin
29              IBM Academy of Technology Best Practices in Project Estimation Conference       © 2005 IBM Corporation
IBM Global Services

                                                                                                                     Additional

Iceberg List (Crystal, Scrum)




                                                                        Sprint Backlog
     The “above water” part lists all the items that
     can be delivered in the current delivery cycle.
     The “below water” part lists every item that will
     be delivered in later cycles.
     When you add a new item to the above water
     part, it pushes everything else down, and
     something that was above water falls below
     water.
     The iceberg list is useful in hostile
     environments, where sponsors change the
     requirements and priorities on a daily basis.




                                                                         Product Backlog
     Product Backlog (Release Backlog):
        –List of functionality, technology, issues
        (placeholders that are later defined as work)
        –Emergent, prioritized, estimated with more detail
        on higher priority backlog
        –Product Owner responsible for priority, anyone can
        contribute
        –Maintained and posted visibly
     Sprint Backlog (Iteration Backlog):
        –Product Backlog selected for Sprint by team, team
        selects tasks to turn product backlog into working
        product functionality.
        –Cannot be added to or changed during Sprint from
        the outside, only team member can add, delete or
        change the Sprint Backlog.
                                                                                               From: Alistair Cockburn: Crystal Cle
30                 IBM Academy of Technology Best Practices in Project Estimation Conference                      © 2005 IBM Corporation
IBM Global Services

                                                                                                                    Additional

Blitz Planning (Crystal)
1. Gather the attendees (representatives
    from each stakeholder category)                                John
2. Brainstorm the tasks (5-15 minutes)                            Walking skeleton          Collect rq'ts
3. Lay out the tasks on a big table in
                                                                   2 wks                   1 wk
    dependency order (top to bottom),
    parallel tasks next to each other, remove
                                                                                           John                 Sally
    duplicates
                                                                                                                 Define 1st
4. Review the tasks, add tasks as needed                            Make test DB          Initial functions
                                                                                                               acceptance test
5. Estimate effort and tag the tasks with                          1 wk                    2 wks                4 days
    names of specific people required.
    Identify over-loaded people.
6. Sort the tasks (parallel / sequential)                                                                     First function ready
7. Mark the walking skeleton, the earliest                                                                           for view

    release and the earliest revenue                                                                            2 wks        A

8. Identify other releases
                                                                                                                             A
9. Optimize the plan to fit the project
    priorities, re-prioritize, re-sort, delay                                                                 Initial deployment
    tasks                                                                                                       4 days
10. Capture the output and display publicly
                                                                                          From: Alistair Cockburn: Crystal Cle
31            IBM Academy of Technology Best Practices in Project Estimation Conference                         © 2005 IBM Corporation
IBM Global Services

                                                                                                  Additional

Planning Game (XP)
     People place index cards on the table, one user story per card.
     The group pretends there are no dependencies between cards, and simply lines
     them up in the preferred sequence of development
     The developers write on each card an estimate of how long it will take to
     produce the function.
     The sponsor or expert user puts them into development priority sequence,
     taking into account the development time and business value of each function.
     The cards are clustered into (fixed-length) iterations, and those iterations are
     clustered into releases, usually not longer than a few months each.




                                                  From: Kent Beck and Martin Fowler: Planning Extreme Programmin
32             IBM Academy of Technology Best Practices in Project Estimation Conference       © 2005 IBM Corporation
IBM Global Services

                                                                                            How (Scrum

Sprint Planning Meeting (Scrum)
     4 hours (max) for team to select Product Backlog and set Sprint Goal with
     Product Owner
       – Attended by Product Owner, Scrum team, customers, management in order to
         define what to build in the next Sprint
       – Team selects as much Product Backlog as it believes it can develop during the next
         Sprint.
       – Product Owner and customer devise Sprint Goal (which is the business value that
         the product increment must deliver regardless of functionality implemented).
     4 hours (max) for team to define Sprint Backlog
       – Attended by Product Owner, Scrum team, development management in order to
         define how to build the product functionality into a product increment in the next
         Sprint.
       – Team defines Sprint Backlog, consisting of all tasks that need to be completed
         during Sprint.
       – Team members sign up for work and estimate their tasks.
       – Tasks are 1-16 hours long (XP suggests 1-3 days); if longer, break them down into
         more granularity.

                                   From: Mike Beedle and Ken Schwaber: Agile Software Development with Scru
33             IBM Academy of Technology Best Practices in Project Estimation Conference   © 2005 IBM Corporation
IBM Global Services

                                                                                             How (Scrum

Burn-down Chart (Scrum)
     Burn-down Chart shows the estimated
     number of hours required to complete the
     tasks of the Sprint.
     It shows both the status and rate of
     progress (“velocity”) in a way that is both
     clear and easy to discuss.
     Posted visibly.
     Similar to earned-value chart if you count
     the delivered functionality (instead of
     development effort) over time.




                                    From: Mike Beedle and Ken Schwaber: Agile Software Development with Scru
34              IBM Academy of Technology Best Practices in Project Estimation Conference   © 2005 IBM Corporation
IBM Global Services




Spatial Reasoning
     Create a game table with enough slots                                  available slots                    actual stories

     for the stories of an iteration.
     Create physical cards for the stories                                                               Bug
     where the size of the card matches the                                                                    1 pt.
     story points.
                                                                                                                        Big user
     Validate whether the size of the cards                                                                             story
     feel right.                                                                                         Typical
     Decide how to organize the story cards                                                              user
     on the game board.                                                                                  story
                                                                                                                            3 pts.
                                                                                                            2 pts.
     By sizing the pieces so that all math can
     be done quickly using visual inspection,
     the planning meeting remains focused on
     the competing business issues.




                                                                                            From: Mike Cohn: User Stories Applie
35              IBM Academy of Technology Best Practices in Project Estimation Conference                        © 2005 IBM Corporation
IBM Global Services




Wideband Delphi
1. Kickoff Meeting: At least three people discuss the source documents and
   project, as well as the units of estimation.
2. Estimation: Each person creates three estimates (using his/her preferred
   method): most likely, optimistic, pessimistic case.
3. Meeting: Each estimator gives his/her estimates to the facilitator who displays
   them with averages (owners of the estimates may not be revealed if it’s
   desired to reduce the influence of personality or seniority). Each estimator
   discusses the insights, problems and assumptions.
4. Repeat steps 2 and 3 at least once to get iterative estimation refinement: let
   the feedback drive adaptation and improvement
5. Calculate the final numbers using the averages from the final cycle.
     Estimate = (Optimistic + Pessimistic + 4 * Most likely) / 6
     Likely Deviation = (Pessimistic – Optimistic) / 6

Wideband Delphi sits on top of any other estimation method, improving it through
   multiple participants, feedback, and iterative refinement

36            IBM Academy of Technology Best Practices in Project Estimation Conference   © 2005 IBM Corporation
IBM Global Services




References
     Kent Beck and Martin Fowler: Planning Extreme Programming, Addison-Wesley, 2001.
     Mike Beedle and Ken Schwaber: Agile Software Development with Scrum, Prentice Hall,
     2001.
     Alistair Cockburn: Crystal Clear, Addison-Wesley, 2005.
     Mike Cohn: User Stories Applied, Addison-Wesley, 2004.
     Mike Cohn: Agile Estimation and Planning, to be published, work in progress is available
     online at http://www.mountaingoatsoftware.com/agileplanning/
     George D. Githens: Rolling Wave Project Planning,
     http://www.catalystpm.com/NP02.PDF
     Craig Larman: Agile & Iterative Development, Addison-Wesley, 2004.
     Todd Little: Agility, Uncertainty, and Software Project Estimation
     http://www.macs.ece.mcgill.ca/~radu/304428W03/AgilityUncertaintyAndEstimation.pdf
     Ogunnaike and Ray: Process Dynamics, Modeling, and Control, Oxford University Press,
     1992.
     Mary and Tom Poppendieck: Lean Software Development, Addison-Wesley, 2003.
     Ken Schwaber: Agile Project Management with Scrum, Microsoft Press, 2004.
     Ken Schwaber: Scrum Methodology Revision 0.9, Advanced Development Methods Inc.,
     2003.


37               IBM Academy of Technology Best Practices in Project Estimation Conference   © 2005 IBM Corporation

Weitere ähnliche Inhalte

Was ist angesagt?

12 principles for Agile Development
12 principles for Agile Development 12 principles for Agile Development
12 principles for Agile Development Julien Henzelin
 
Agile Values, Principles and Practices
Agile Values, Principles and PracticesAgile Values, Principles and Practices
Agile Values, Principles and Practicesjackcrews
 
Release planning using feature points
Release planning using feature pointsRelease planning using feature points
Release planning using feature pointsMadhur Kathuria
 
Agile Estimation for Fixed Price Model
Agile Estimation for Fixed Price ModelAgile Estimation for Fixed Price Model
Agile Estimation for Fixed Price Modeljayanth72
 
An Agile approach to Business Metrics
An Agile approach to Business MetricsAn Agile approach to Business Metrics
An Agile approach to Business MetricsPablo Valcárcel
 
Agile stories, estimating and planning
Agile stories, estimating and planningAgile stories, estimating and planning
Agile stories, estimating and planningDimitri Ponomareff
 
Андрій Татчин "Software Project Estimation: Theory and Reality"
Андрій Татчин "Software Project Estimation: Theory and Reality" Андрій Татчин "Software Project Estimation: Theory and Reality"
Андрій Татчин "Software Project Estimation: Theory and Reality" Lviv Startup Club
 
Collaboration Through Conflict - SFAA 2013
Collaboration Through Conflict - SFAA 2013Collaboration Through Conflict - SFAA 2013
Collaboration Through Conflict - SFAA 2013Mark Kilby
 
Agile Executive Briefing - Situational Assessment + 50k Ft View
Agile Executive Briefing - Situational Assessment + 50k Ft ViewAgile Executive Briefing - Situational Assessment + 50k Ft View
Agile Executive Briefing - Situational Assessment + 50k Ft ViewMichael Sahota
 
Dare to Explore: Discover ET!
Dare to Explore: Discover ET!Dare to Explore: Discover ET!
Dare to Explore: Discover ET!Raj Indugula
 
Agile Estimating
Agile EstimatingAgile Estimating
Agile EstimatingMike Cohn
 
Audrys Kažukauskas - Introduction into Extreme Programming
Audrys Kažukauskas - Introduction into Extreme ProgrammingAudrys Kažukauskas - Introduction into Extreme Programming
Audrys Kažukauskas - Introduction into Extreme ProgrammingAgile Lietuva
 
Agile Development
Agile DevelopmentAgile Development
Agile Developmentabdpse
 
Extreme programming
Extreme programmingExtreme programming
Extreme programmingMr SMAK
 
Succeeding with Agile
Succeeding with AgileSucceeding with Agile
Succeeding with AgileMike Cohn
 
Introduction to Extreme Programming
Introduction to Extreme ProgrammingIntroduction to Extreme Programming
Introduction to Extreme ProgrammingNaresh Jain
 

Was ist angesagt? (20)

12 principles for Agile Development
12 principles for Agile Development 12 principles for Agile Development
12 principles for Agile Development
 
Agile Values, Principles and Practices
Agile Values, Principles and PracticesAgile Values, Principles and Practices
Agile Values, Principles and Practices
 
Release planning using feature points
Release planning using feature pointsRelease planning using feature points
Release planning using feature points
 
Agile Estimation for Fixed Price Model
Agile Estimation for Fixed Price ModelAgile Estimation for Fixed Price Model
Agile Estimation for Fixed Price Model
 
Madhur Kathuria Release planning using feature points
Madhur Kathuria Release planning using feature pointsMadhur Kathuria Release planning using feature points
Madhur Kathuria Release planning using feature points
 
An Agile approach to Business Metrics
An Agile approach to Business MetricsAn Agile approach to Business Metrics
An Agile approach to Business Metrics
 
Agile stories, estimating and planning
Agile stories, estimating and planningAgile stories, estimating and planning
Agile stories, estimating and planning
 
Андрій Татчин "Software Project Estimation: Theory and Reality"
Андрій Татчин "Software Project Estimation: Theory and Reality" Андрій Татчин "Software Project Estimation: Theory and Reality"
Андрій Татчин "Software Project Estimation: Theory and Reality"
 
Scrum agile process
Scrum agile processScrum agile process
Scrum agile process
 
Collaboration Through Conflict - SFAA 2013
Collaboration Through Conflict - SFAA 2013Collaboration Through Conflict - SFAA 2013
Collaboration Through Conflict - SFAA 2013
 
Agile Executive Briefing - Situational Assessment + 50k Ft View
Agile Executive Briefing - Situational Assessment + 50k Ft ViewAgile Executive Briefing - Situational Assessment + 50k Ft View
Agile Executive Briefing - Situational Assessment + 50k Ft View
 
Dare to Explore: Discover ET!
Dare to Explore: Discover ET!Dare to Explore: Discover ET!
Dare to Explore: Discover ET!
 
Agile Estimating
Agile EstimatingAgile Estimating
Agile Estimating
 
Lean Software 101
Lean Software 101Lean Software 101
Lean Software 101
 
Audrys Kažukauskas - Introduction into Extreme Programming
Audrys Kažukauskas - Introduction into Extreme ProgrammingAudrys Kažukauskas - Introduction into Extreme Programming
Audrys Kažukauskas - Introduction into Extreme Programming
 
Lean Software Delivery
Lean Software DeliveryLean Software Delivery
Lean Software Delivery
 
Agile Development
Agile DevelopmentAgile Development
Agile Development
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Succeeding with Agile
Succeeding with AgileSucceeding with Agile
Succeeding with Agile
 
Introduction to Extreme Programming
Introduction to Extreme ProgrammingIntroduction to Extreme Programming
Introduction to Extreme Programming
 

Andere mochten auch

How to build & Coach an Agile team
How to build & Coach an Agile teamHow to build & Coach an Agile team
How to build & Coach an Agile teamVinh Bao Quang
 
7 things to sabotage an agile coach camp
7 things to sabotage an agile coach camp7 things to sabotage an agile coach camp
7 things to sabotage an agile coach campMarc Löffler
 
SAFe: An Introduction to the Scaled Agile Framework
SAFe: An Introduction to the Scaled Agile FrameworkSAFe: An Introduction to the Scaled Agile Framework
SAFe: An Introduction to the Scaled Agile Frameworkjaredrrichardson
 
Introduction to Disciplined Agile Technology
Introduction to Disciplined Agile TechnologyIntroduction to Disciplined Agile Technology
Introduction to Disciplined Agile TechnologySoftware Guru
 
The Volcano - Enterprise kanban board
The Volcano - Enterprise kanban boardThe Volcano - Enterprise kanban board
The Volcano - Enterprise kanban boardTomas Rybing
 
Disciplined Agile Delivery: Foundation for Scaling Agile
Disciplined Agile Delivery: Foundation for Scaling AgileDisciplined Agile Delivery: Foundation for Scaling Agile
Disciplined Agile Delivery: Foundation for Scaling AgileSoftware Guru
 
Why Agile? Why Now? IPMA Forum 2009
Why Agile? Why Now?   IPMA Forum 2009Why Agile? Why Now?   IPMA Forum 2009
Why Agile? Why Now? IPMA Forum 2009skipangel
 
The Arrow - Advanced Kanban board
The Arrow - Advanced Kanban boardThe Arrow - Advanced Kanban board
The Arrow - Advanced Kanban boardTomas Rybing
 
Effort estimation for web applications
Effort estimation for web applicationsEffort estimation for web applications
Effort estimation for web applicationsNagaraja Gundappa
 
Agile Software Estimation
Agile Software EstimationAgile Software Estimation
Agile Software EstimationSunil Jakkaraju
 
Agile effort estimation
Agile effort estimation Agile effort estimation
Agile effort estimation Elad Sofer
 
Kanban pizza game
Kanban pizza gameKanban pizza game
Kanban pizza gameRalf Kruse
 
Becoming an Agile Coach
Becoming an Agile CoachBecoming an Agile Coach
Becoming an Agile CoachGrowing Agile
 
Agile Estimation And Planning
Agile Estimation And PlanningAgile Estimation And Planning
Agile Estimation And PlanningPhil Calçado
 

Andere mochten auch (15)

How to build & Coach an Agile team
How to build & Coach an Agile teamHow to build & Coach an Agile team
How to build & Coach an Agile team
 
Lecture 5
Lecture 5 Lecture 5
Lecture 5
 
7 things to sabotage an agile coach camp
7 things to sabotage an agile coach camp7 things to sabotage an agile coach camp
7 things to sabotage an agile coach camp
 
SAFe: An Introduction to the Scaled Agile Framework
SAFe: An Introduction to the Scaled Agile FrameworkSAFe: An Introduction to the Scaled Agile Framework
SAFe: An Introduction to the Scaled Agile Framework
 
Introduction to Disciplined Agile Technology
Introduction to Disciplined Agile TechnologyIntroduction to Disciplined Agile Technology
Introduction to Disciplined Agile Technology
 
The Volcano - Enterprise kanban board
The Volcano - Enterprise kanban boardThe Volcano - Enterprise kanban board
The Volcano - Enterprise kanban board
 
Disciplined Agile Delivery: Foundation for Scaling Agile
Disciplined Agile Delivery: Foundation for Scaling AgileDisciplined Agile Delivery: Foundation for Scaling Agile
Disciplined Agile Delivery: Foundation for Scaling Agile
 
Why Agile? Why Now? IPMA Forum 2009
Why Agile? Why Now?   IPMA Forum 2009Why Agile? Why Now?   IPMA Forum 2009
Why Agile? Why Now? IPMA Forum 2009
 
The Arrow - Advanced Kanban board
The Arrow - Advanced Kanban boardThe Arrow - Advanced Kanban board
The Arrow - Advanced Kanban board
 
Effort estimation for web applications
Effort estimation for web applicationsEffort estimation for web applications
Effort estimation for web applications
 
Agile Software Estimation
Agile Software EstimationAgile Software Estimation
Agile Software Estimation
 
Agile effort estimation
Agile effort estimation Agile effort estimation
Agile effort estimation
 
Kanban pizza game
Kanban pizza gameKanban pizza game
Kanban pizza game
 
Becoming an Agile Coach
Becoming an Agile CoachBecoming an Agile Coach
Becoming an Agile Coach
 
Agile Estimation And Planning
Agile Estimation And PlanningAgile Estimation And Planning
Agile Estimation And Planning
 

Ähnlich wie Estimation Agile Projects

The Business Analysts Role in Agile Software Development
The Business Analysts Role in Agile Software DevelopmentThe Business Analysts Role in Agile Software Development
The Business Analysts Role in Agile Software Developmentallan kelly
 
The BA role in Agile software development
The BA role in Agile software developmentThe BA role in Agile software development
The BA role in Agile software developmentallan kelly
 
What is this thing called Agile?
What is this thing called Agile?What is this thing called Agile?
What is this thing called Agile?John Goodpasture
 
Practices of an agile developer
Practices of an agile developerPractices of an agile developer
Practices of an agile developerDUONG Trong Tan
 
Integrating agile in a waterfall world pmi 2012, full slides
Integrating agile in a waterfall world pmi 2012, full slidesIntegrating agile in a waterfall world pmi 2012, full slides
Integrating agile in a waterfall world pmi 2012, full slidesatlgopi
 
Week_03-Agile Developmnet.ppt
Week_03-Agile Developmnet.pptWeek_03-Agile Developmnet.ppt
Week_03-Agile Developmnet.pptRedHeart11
 
From Waterfall to Agile - from predictive to adaptive methods
From Waterfall to Agile - from predictive to adaptive methodsFrom Waterfall to Agile - from predictive to adaptive methods
From Waterfall to Agile - from predictive to adaptive methodsBjörn Jónsson
 
Introduction To Scrum
Introduction To ScrumIntroduction To Scrum
Introduction To ScrumDave Neuman
 
Building an Agile framework that fits your organisation
Building an Agile framework that fits your organisationBuilding an Agile framework that fits your organisation
Building an Agile framework that fits your organisationKurt Solarte
 
Value driven continuous delivery
Value driven continuous deliveryValue driven continuous delivery
Value driven continuous deliveryGabriel Prat
 
Amy.stapleton
Amy.stapletonAmy.stapleton
Amy.stapletonNASAPMC
 
Key Considerations for a Successful Hyperion Planning Implementation
Key Considerations for a Successful Hyperion Planning ImplementationKey Considerations for a Successful Hyperion Planning Implementation
Key Considerations for a Successful Hyperion Planning ImplementationAlithya
 

Ähnlich wie Estimation Agile Projects (20)

Agile - Monojit basu
Agile - Monojit basuAgile - Monojit basu
Agile - Monojit basu
 
Agile - Monojit Basu
Agile - Monojit BasuAgile - Monojit Basu
Agile - Monojit Basu
 
Agile Webinar: Managing Distributed Teams
Agile Webinar: Managing Distributed TeamsAgile Webinar: Managing Distributed Teams
Agile Webinar: Managing Distributed Teams
 
AMI Presentation
AMI PresentationAMI Presentation
AMI Presentation
 
The Business Analysts Role in Agile Software Development
The Business Analysts Role in Agile Software DevelopmentThe Business Analysts Role in Agile Software Development
The Business Analysts Role in Agile Software Development
 
The BA role in Agile software development
The BA role in Agile software developmentThe BA role in Agile software development
The BA role in Agile software development
 
What is this thing called Agile?
What is this thing called Agile?What is this thing called Agile?
What is this thing called Agile?
 
Practices of an agile developer
Practices of an agile developerPractices of an agile developer
Practices of an agile developer
 
Integrating agile in a waterfall world pmi 2012, full slides
Integrating agile in a waterfall world pmi 2012, full slidesIntegrating agile in a waterfall world pmi 2012, full slides
Integrating agile in a waterfall world pmi 2012, full slides
 
Week_03-Agile Developmnet.ppt
Week_03-Agile Developmnet.pptWeek_03-Agile Developmnet.ppt
Week_03-Agile Developmnet.ppt
 
From Waterfall to Agile - from predictive to adaptive methods
From Waterfall to Agile - from predictive to adaptive methodsFrom Waterfall to Agile - from predictive to adaptive methods
From Waterfall to Agile - from predictive to adaptive methods
 
Agile Engineering Practices
Agile Engineering PracticesAgile Engineering Practices
Agile Engineering Practices
 
Agile
AgileAgile
Agile
 
Introduction To Scrum
Introduction To ScrumIntroduction To Scrum
Introduction To Scrum
 
Utah PMA Quarterly Meeting, June, 2009
Utah PMA Quarterly Meeting, June, 2009Utah PMA Quarterly Meeting, June, 2009
Utah PMA Quarterly Meeting, June, 2009
 
Software Lifecycle
Software LifecycleSoftware Lifecycle
Software Lifecycle
 
Building an Agile framework that fits your organisation
Building an Agile framework that fits your organisationBuilding an Agile framework that fits your organisation
Building an Agile framework that fits your organisation
 
Value driven continuous delivery
Value driven continuous deliveryValue driven continuous delivery
Value driven continuous delivery
 
Amy.stapleton
Amy.stapletonAmy.stapleton
Amy.stapleton
 
Key Considerations for a Successful Hyperion Planning Implementation
Key Considerations for a Successful Hyperion Planning ImplementationKey Considerations for a Successful Hyperion Planning Implementation
Key Considerations for a Successful Hyperion Planning Implementation
 

Mehr von Ram Srivastava

Michigan enterprise architecture framework
Michigan enterprise architecture frameworkMichigan enterprise architecture framework
Michigan enterprise architecture frameworkRam Srivastava
 
Project audit & review checklist
Project audit & review checklistProject audit & review checklist
Project audit & review checklistRam Srivastava
 
Research Report Future CRM Technology 2010 to 2013
Research Report Future CRM Technology 2010 to 2013Research Report Future CRM Technology 2010 to 2013
Research Report Future CRM Technology 2010 to 2013Ram Srivastava
 
Technological Hpothesis Research Plan In The CRM Future1
Technological Hpothesis Research Plan In The CRM Future1Technological Hpothesis Research Plan In The CRM Future1
Technological Hpothesis Research Plan In The CRM Future1Ram Srivastava
 
Atithi Devo Bhav - Guest is God (Incredible India)
Atithi  Devo  Bhav - Guest is God (Incredible India)Atithi  Devo  Bhav - Guest is God (Incredible India)
Atithi Devo Bhav - Guest is God (Incredible India)Ram Srivastava
 
Sprint Backlog Quick Start
Sprint Backlog Quick StartSprint Backlog Quick Start
Sprint Backlog Quick StartRam Srivastava
 
Sprint Backlog Template Multiple Burndowns(2)
Sprint Backlog Template Multiple Burndowns(2)Sprint Backlog Template Multiple Burndowns(2)
Sprint Backlog Template Multiple Burndowns(2)Ram Srivastava
 
Project Initiation Presentation Template
Project Initiation Presentation TemplateProject Initiation Presentation Template
Project Initiation Presentation TemplateRam Srivastava
 
Product Backlog Priority Overview
Product Backlog Priority OverviewProduct Backlog Priority Overview
Product Backlog Priority OverviewRam Srivastava
 
Measuring The Reliability Of An Agile Software Development Team
Measuring The Reliability Of An Agile Software Development TeamMeasuring The Reliability Of An Agile Software Development Team
Measuring The Reliability Of An Agile Software Development TeamRam Srivastava
 
Product Sprint Backlog 0 03
Product Sprint Backlog 0 03Product Sprint Backlog 0 03
Product Sprint Backlog 0 03Ram Srivastava
 
Measuring The Quality Of An Agile Software Development Team
Measuring The Quality Of An Agile Software Development TeamMeasuring The Quality Of An Agile Software Development Team
Measuring The Quality Of An Agile Software Development TeamRam Srivastava
 
Measuring Operational Cost Savings Associated With Going Agile
Measuring Operational Cost Savings Associated With Going AgileMeasuring Operational Cost Savings Associated With Going Agile
Measuring Operational Cost Savings Associated With Going AgileRam Srivastava
 
Introducing Agile User Stories
Introducing Agile User StoriesIntroducing Agile User Stories
Introducing Agile User StoriesRam Srivastava
 
Agile Epic Card Template
Agile Epic Card TemplateAgile Epic Card Template
Agile Epic Card TemplateRam Srivastava
 
Cmmi Ior Agile Why Not Embrace Both
Cmmi Ior Agile Why Not Embrace BothCmmi Ior Agile Why Not Embrace Both
Cmmi Ior Agile Why Not Embrace BothRam Srivastava
 

Mehr von Ram Srivastava (20)

Michigan enterprise architecture framework
Michigan enterprise architecture frameworkMichigan enterprise architecture framework
Michigan enterprise architecture framework
 
Project audit & review checklist
Project audit & review checklistProject audit & review checklist
Project audit & review checklist
 
Research Report Future CRM Technology 2010 to 2013
Research Report Future CRM Technology 2010 to 2013Research Report Future CRM Technology 2010 to 2013
Research Report Future CRM Technology 2010 to 2013
 
Technological Hpothesis Research Plan In The CRM Future1
Technological Hpothesis Research Plan In The CRM Future1Technological Hpothesis Research Plan In The CRM Future1
Technological Hpothesis Research Plan In The CRM Future1
 
Atithi Devo Bhav - Guest is God (Incredible India)
Atithi  Devo  Bhav - Guest is God (Incredible India)Atithi  Devo  Bhav - Guest is God (Incredible India)
Atithi Devo Bhav - Guest is God (Incredible India)
 
Sprint Backlog Quick Start
Sprint Backlog Quick StartSprint Backlog Quick Start
Sprint Backlog Quick Start
 
Template Backlog
Template BacklogTemplate Backlog
Template Backlog
 
Agile User Story
Agile User StoryAgile User Story
Agile User Story
 
Sprint Backlog Template Multiple Burndowns(2)
Sprint Backlog Template Multiple Burndowns(2)Sprint Backlog Template Multiple Burndowns(2)
Sprint Backlog Template Multiple Burndowns(2)
 
Project Initiation Presentation Template
Project Initiation Presentation TemplateProject Initiation Presentation Template
Project Initiation Presentation Template
 
Product Backlog Priority Overview
Product Backlog Priority OverviewProduct Backlog Priority Overview
Product Backlog Priority Overview
 
Measuring The Reliability Of An Agile Software Development Team
Measuring The Reliability Of An Agile Software Development TeamMeasuring The Reliability Of An Agile Software Development Team
Measuring The Reliability Of An Agile Software Development Team
 
Product Sprint Backlog 0 03
Product Sprint Backlog 0 03Product Sprint Backlog 0 03
Product Sprint Backlog 0 03
 
Measuring The Quality Of An Agile Software Development Team
Measuring The Quality Of An Agile Software Development TeamMeasuring The Quality Of An Agile Software Development Team
Measuring The Quality Of An Agile Software Development Team
 
Measuring Operational Cost Savings Associated With Going Agile
Measuring Operational Cost Savings Associated With Going AgileMeasuring Operational Cost Savings Associated With Going Agile
Measuring Operational Cost Savings Associated With Going Agile
 
Introducing Agile User Stories
Introducing Agile User StoriesIntroducing Agile User Stories
Introducing Agile User Stories
 
Lets Talk Agile
Lets Talk AgileLets Talk Agile
Lets Talk Agile
 
Agile Epic Card Template
Agile Epic Card TemplateAgile Epic Card Template
Agile Epic Card Template
 
Forrester Agile
Forrester AgileForrester Agile
Forrester Agile
 
Cmmi Ior Agile Why Not Embrace Both
Cmmi Ior Agile Why Not Embrace BothCmmi Ior Agile Why Not Embrace Both
Cmmi Ior Agile Why Not Embrace Both
 

Kürzlich hochgeladen

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 

Kürzlich hochgeladen (20)

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 

Estimation Agile Projects

  • 1. IBM Global Services Estimation in Agile Projects Dr. Christoph Steindl Senior IT Architect and Method Exponent christoph_steindl@at.ibm.com Pål Krogdahl Senior IT Architect and Method Exponent pal.krogdahl@se.ibm.com IBM Academy of Technology Best Practices in Project Estimation Conference © 2005 IBM Corporation
  • 2. IBM Global Services Goals of this presentation Explain (just) a little bit what “Agile” means. Describe estimation and NOT planning in agile projects. At the conclusion of this session, you should be able to understand: – There are different processes for “Predictable Manufacturing” and “New Software Development”. – Estimation in a highly dynamic environment is done differently – How estimation is done in an agile way – What the reasons are for doing it that way 2 IBM Academy of Technology Best Practices in Project Estimation Conference © 2005 IBM Corporation
  • 3. IBM Global Services Motivation Plans are only as good as the estimates, that the plans are based on, and estimates always come second to actuals. The real world has this horrible habit of destroying plans. The customer has the right to an overall plan, to see progress and to be informed of schedule changes. Whereas the developer has the right to make and update his own estimates and to accept responsibility instead of having responsibility assigned to him. You can’t put 10 pounds of (whatever) into a 5 pound bag. Forecasting tomorrow’s weather is much more difficult than telling what the weather was like yesterday. Don’t try to be too sophisticated; estimates will never be anything other than approximate, however hard you try. From: Kent Beck and Martin Fowler: Planning Extreme Programmin 3 IBM Academy of Technology Best Practices in Project Estimation Conference © 2005 IBM Corporation
  • 4. IBM Global Services Software is New Product Development Most software is not a predictable or mass manufacturing problem. Software development is new product development. Predictable Manufacturing New Product Development It is possible to first complete specifications, Rarely possible to create upfront unchanging and then build. and detailed specs. Near the start, one can reliably estimate Near the beginning, it is not possible. As effort and cost. empirical data emerge, it becomes increasingly possible to plan and estimate. It is possible to identify, define, schedule, Near the beginning, it is not possible. and order all the detailed activities. Adaptive steps driven by build-feedback cycles are required. Adaptation to unpredictable change is not Creative adaptation to unpredictable change the norm, and change-rates are relatively is the norm. Change rates are high. low. A “waterfall” lifecycle, big up-front specifications, estimates, and speculative plans applicable to predictable manufacturing have been misapplied to software projects, a domain of inventive, high-change, high-novelty work. From: Craig Larman: Agile & Iterative Developme 4 IBM Academy of Technology Best Practices in Project Estimation Conference © 2005 IBM Corporation
  • 5. IBM Global Services Background Complexity in development projects „It is typical to adopt the defined (theoretical) Ogunnaike and Ray: Process Dynamics, Modelin modeling approach when the underlying and Control. mechanisms by which a process operates are reasonably well understood. When the process is too complicated for the defined approach, the empirical approach is the appropriate choice.“ Empirical Processes: – When you can‘t define things enough so that they run unattended and produce repeatable, acceptable quality output. – Empirical models are used when the activities are not predictable, are non-linear, and are too complex to define in repeatable detail. – Small changes in the input can lead to huge changes in the output („butterfly effect“, chaos theory) – Control is through inspection and adaptation. 5 IBM Academy of Technology Best Practices in Project Estimation Conference © 2005 IBM Corporation
  • 6. IBM Global Services http://www.xp2003.org/xp2002/talksinfo/johnson.pdf 6 IBM Academy of Technology Best Practices in Project Estimation Conference © 2005 IBM Corporation
  • 7. IBM Global Services Background Manifesto for Agile Software Development 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. * Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas, 2001. 7 IBM Academy of Technology Best Practices in Project Estimation Conference © 2005 IBM Corporation
  • 8. IBM Global Services Agile Methods are in Wide-Spread Use Extreme Programming (Kent Beck) Scrum (Ken Schwaber, Jeff Sutherland, Mike Beedle) Crystal (Alistair Cockburn) DSDM (Arie van Bennekum) Feature-Driven Development (Jeff De Luca) Lean Development (Bob Charette) Adaptive Software Development (Jim Highsmith) There are tons of books on the subject. Google reports 49.700 hits for „Agile methods“. 8 IBM Academy of Technology Best Practices in Project Estimation Conference © 2005 IBM Corporation
  • 9. IBM Global Services How Iterative & Incremental Development Daily Stand-Up Meetings Frequent inspection and adaptation – Daily within team, monthly with customer 1d Collaboration, close communication Demo – Daily Stand-up Meetings within team, where Retrospective the customer may attend, but not intrude Frequent delivery 1 mo – Demo increment of potentially shippable functionality Reflective improvement – At the end of each iteration, consider what Increment o Iteration Backlog functionality worked well, what did not work well, what to try next iteration (fine-grain features (Incremental) Emergence of requirements, and tasks) Release technology, and team capabilities Backlog Iteration Planning Empowerment and self-organization (coarse-grain Meeting: Tasks – Team makes up the tasks to deliver the functionality features) emerge from features – Team estimates the effort and cost Release Planning Meeting: Dealing with reality, not artefacts Features emerge from – Deliver software (mainly) plus additional vision statement requested deliverables 9 IBM Academy of Technology Best Practices in Project Estimation Conference © 2005 IBM Corporation
  • 10. IBM Global Services How Iterative Estimation with Frequent Delivery Developers re-estimate effort still open daily. The team understands - by and by – its Customer Display results velocity, how much it can deliver in an prioritizes publicly. iteration. for business value and criticality Team members sign up for tasks, there is no project manager who assigns the tasks. Everyone estimates his/her tasks, there is no estimation guru who estimates all tasks for all Increment o people. The quality of the estimate is Iteration functionality commensurate with the information available. Backlog Team brainstorms necessary Release tasks, everyone estimates Everyone estimates often: at the beginning of Backlog his/her tasks. the iteration, daily during the iteration to estimate the remaining effort. Team estimates effort and costs for implementation The effort remaining (and not the effort already spent) is displayed publicly to enable collaborating teams that work together to meet the target of the iteration. 10 IBM Academy of Technology Best Practices in Project Estimation Conference © 2005 IBM Corporation
  • 11. IBM Global Services Agile Principles for Estimation If estimating is difficult, the agile approach increases the feedback – shorten the time from estimating to feedback about accuracy of estimate – increase the frequency of estimating – sketch out options and get feedback from the customer before doing detailed estimating – The guideline here is: Don't estimate too far into the future, if the future is unclear! If the requirements and assumptions are not really clear, the team develops multiple estimates (“Options Thinking”): – communicate the constraints / assumptions of the estimates rather than just the numbers – discuss the constraints / assumptions with the customer and the customer can give feedback to better align the team's understanding with the business drivers. Validate estimates by comparing them with other estimates / experience, use simple rules, triangulation and intuitive decision making. The agile approach relies on self-organization of the team, continuous learning and emergence of estimates (besides requirements and design). 11 IBM Academy of Technology Best Practices in Project Estimation Conference © 2005 IBM Corporation
  • 12. IBM Global Services stimating coarse-grained features How (Scrum Estimating Release Backlog (1/2) To gain an understanding of the amount of effort to develop the product or system (long-term view). Make more effort to reach this estimate for higher priority than lower priority items, since the lower priority items may change prior to being developed. Don’t spend too much time on estimating. The goal of the estimates is to gain a general understanding of the cost of the system or product. This is used to determine whether it is economic to develop it. Be aware of diminishing returns. Do enough, but not too much. The Product Owner works with the business departments and the development organization to develop estimates (to analyze, design, develop, document, and test the functionality, i.e. whole lifecycle), usually in person days. Use the people who will be staffing the project teams to make the estimates. If they aren’t known yet, have people of equal skills and project domain knowledge make the estimates. Do not have experts or outsiders make the estimates. Their estimates are irrelevant to those who will actually be doing the work. From: Ken Schwaber: Scrum Methodolog 12 IBM Academy of Technology Best Practices in Project Estimation Conference © 2005 IBM Corporation
  • 13. IBM Global Services stimating coarse-grained features How (Scrum Estimating Release Backlog (2/2) Estimating is iterative. Estimates change as more information emerges. If you can’t get a believable estimate for a top priority backlog item, lower its priority (to delay working on that item until you know more about it). Alternatively, keep them high priority but reclassify them as an issue. The work to turn this issue into required functionality might take ten days; so estimate the issue at ten days. Break down features to under 10 days if they are to be implemented within the next 6 months. Lower priority product backlog is vague, a placeholder for further investigation/thinking as its priority increases. The estimates (often 10-40 days) are not very reliable. From: Ken Schwaber: Scrum Methodology 13 IBM Academy of Technology Best Practices in Project Estimation Conference © 2005 IBM Corporation
  • 14. IBM Global Services stimating coarse-grained features How (Scrum Adjusting Release Backlog Estimates (1/2) To reflect any factors that reduce team effectiveness. Scrum assumes an optimal work environment. This activity forces an understanding that suboptimal product factors have a cost. The guidelines for adjusting estimates to reflect complexity are just that: guidelines. This is not a precise science. The estimated time for each item can be adjusted by a “complexity factor.” reflecting the degree of complexity due to requirements and technology that will affect the estimates. Keep adjustment for complexity separate from 2.0 the base estimate. Requirements 0.6 Apply the complexity factor only to a known horizon. 0.2 If it is possible that the team environment will change, don’t apply complexity factors past that horizon. 0 0.2 Complex Diminish the impact of the complexity factors as the team 0.6 can be expected to master the technical and business domain. From: Ken Schwaber: Scrum Methodology Deployment 14 IBM Academy of Technology Best Practices in Project Estimation Conference Technology Corporation © 2005 IBM
  • 15. IBM Global Services stimating coarse-grained features How (Scrum Adjusting Release Backlog Estimates (2/2) Drag # of years Know ledge of Know ledge together technology dom ain Drag on team productivity: when teams 0.8 < 3 months Low Low haven’t worked together before, when they are 0.75 0.7 < 3 months < 3 months Low Low Medium High not familiar with the technology, and when they 0.75 < 3 months Medium Low 0.5 < 3 months Medium Medium aren’t familiar with the business domain. 0.5 < 3 months Medium High 0.75 < 3 months High Low 0.5 < 3 months High Medium Adequacy of working environment: when the 0.35 < 3 months High High 0.6 < 1 year Low Low team is not together in an open environment with 0.55 < 1 year Low Medium adequate work and conference rooms. Usually a 0.5 0.55 < 1 year < 1 year Low Medium High Low factor of 0.2 0.3 < 1 year Medium Medium 0.25 < 1 year Medium High 0.5 < 1 year High Low Multiple teams: due to management and 0.25 < 1 year High Medium 0.2 < 1 year High High communications overhead caused by multiple 0.5 > 1 year Low Low 0.45 > 1 year Low Medium teams. Usually an additional factor of 0.1 0.4 > 1 year Low High 0.45 > 1 year Medium Low 0.35 > 1 year Medium Medium Adjusted Estimate = Raw Effort * (1 + 0.2 > 1 year Medium High complexity factor + drag + working 0.4 0.2 > 1 year > 1 year High High Low Medium environment + multiple teams) 0 > 1 year High High From: Ken Schwaber: Scrum Methodolog 15 IBM Academy of Technology Best Practices in Project Estimation Conference © 2005 IBM Corporation
  • 16. IBM Global Services stimating fine-grained features How (XP) User Stories (XP) A user story describes functionality that will be valuable to either a user or purchaser of a system or software. User stories are composed of three aspects. – A written description of the story used for planning and as a reminder (“Card”) – Conversations about the story that serve to flesh out the details of the story (“Conversation”) – Tests that convey and document details and that can be used to determine when a story is complete (“Confirmation”) While the Card may contain the text of the story, the details are worked out in the Conversation and recorded in the Confirmation. User stories can be coded and tested between half a day and two weeks by one or a pair of programmers. Because user stories shift emphasis toward talking and away from writing, important decisions are not captured in documents (that are unlikely to be read anyway). Instead, important aspects about stories are captured in automated acceptance tests and run frequently. User stories encourage deferring detail – it allows us to not spend time thinking about a new feature until we are sure that the feature is needed. Stories discourage us from pretending we can know and write everything down in advance. Try to implement at least half a dozen of stories in an iteration. Mostly from: Mike Cohn: User Stories Applie 16 IBM Academy of Technology Best Practices in Project Estimation Conference © 2005 IBM Corporation
  • 17. IBM Global Services stimating fine-grained features How (XP) Estimating User Stories Size of story is given in “story points” (an abstract unit). The team defines how a story point translates to effort (typically: 1 story point = 1 ideal day of work). The number of story points that a team can deliver in an iteration is called “team velocity”. Estimate as a team – A story comprises multiple tasks which will be done by different people. – The estimate for the entire story is developed by the entire team, utilizing the experience of all members, similarly to the “Wideband Delphi” approach. – The estimates are verified with triangulation and with previous estimates. Periodically re-estimate a story, which gives you a chance to incorporate additional information. At the end of an iteration, measure how much stuff got done. Add up the ideal time in all the stories to determine the team’s velocity. Each developer measures his velocity by tracking his accomplishments every iteration. He can only sign up for the same number of day’s worth of tasks the next time (be careful not to use that data against him). Mostly from: Mike Cohn: User Stories Applie 17 IBM Academy of Technology Best Practices in Project Estimation Conference © 2005 IBM Corporation
  • 18. IBM Global Services stimating fine-grained features How (XP) Adapted Delphi Wideband Approach 1. Gather together the customer and the developers. Bring along the story cards. Distribute a handful of blank cards to each participant. 2. The customer selects a story at random and reads it to the developers. The developers ask as many questions as they need. 3. When there are no more questions, each developer writes an estimate on a card, not yet showing the estimate to the others. 4. When everyone has finished, the estimators turn over their cards so everyone can see them. 5. If estimates differ, the high and low estimators explain their estimates. 6. The group discusses it for up to a few minutes, the customer clarifies issues. The developers estimate again write their estimates on cards. In many cases, the estimates will already converge by the second round. But, if they have not, repeat the process. 7. If the estimates differ slightly, reach group consensus on one value. Follow the rule “Optimism wins” (team members whose optimism burned the team once will learn to temper that optimism). Mostly from: Mike Cohn: User Stories Applie 18 IBM Academy of Technology Best Practices in Project Estimation Conference © 2005 IBM Corporation
  • 19. IBM Global Services stimating fine-grained features How (XP) Triangulation After the first few estimates have been made, verify them by relating them to each other. – A two-point story should be half the effort of a four-point story. – A three-point story should be more roughly larger than a two-point story, but yet smaller than a four-point story. Although not exact, triangulation is an effective means for a team to verify that they aren’t gradually altering the meaning of a story point. It builds on intuitive decision making. Pin the story cards to the wall based on their size, compare newly-estimated stories to others that may already have been implemented. Precision decreases as story size increases, therefore constrain estimates to pre-defined values (e.g. ½, 1, 2, 3, 5, 8, 13, 20, 40, 80) 1 2 3 5 8 13 A user A user A user A user A user A user can... can... can... can... can... can... A user A user A user A user A user can... can... can... can... can... A user A user A user can... can... can... A user A user can... can... From: Mike Cohn: User Stories Applie 19 IBM Academy of Technology Best Practices in Project Estimation Conference © 2005 IBM Corporation
  • 20. IBM Global Services stimating fine-grained features How (XP) Yesterday’s weather Say you’ll do as much today (in the next iteration) as you actually got done yesterday (in the last iteration). Emergent properties of this rule: – We won’t habitually overestimate our abilities. We have to use actual accomplishment. If we overestimate once, we won’t be able to the next time. – If we are overcommitted, we will tend to try to finish some items in any given time period instead of half finishing them all. It is so embarrassing to tell the customer they can have zero features next time. – On the other hand, if we have a disastrous period, we are guaranteed a little breathing space to recover. – Everyone learns to trust our numbers because they are so easy to explain. – Our estimates automatically track all kinds of changes – changes to the team, new technology, dramatic changes in product direction, etc. The first estimate (at the beginning of the project, when there is no yesterday) is the hardest and least accurate. Fortunately you only have to do it once. From: Kent Beck and Martin Fowler: Planning Extreme Programmin 20 IBM Academy of Technology Best Practices in Project Estimation Conference © 2005 IBM Corporation
  • 21. IBM Global Services Why Lean Software Development with 7 Principles and 22 Tools Eliminate Waste – Seeing Waste, Value Stream Mapping Amplify Learning – Feedback, Iterations, Synchronization, Set-Based Development Decide as Late as Possible – Options Thinking, The Last Responsible Moment, Making Decisions Deliver as Fast as Possible – Pull Systems, Queuing Theory, Cost of Delay Empower the Team – Self-Determination, Motivation, Leadership, Expertise Build Integrity In – Perceived Integrity, Conceptual Integrity, Refactoring, Testing See the Whole – Measurements, Contracts From: Mary and Tom Poppendieck: Lean Software Developmen 21 IBM Academy of Technology Best Practices in Project Estimation Conference © 2005 IBM Corporation
  • 22. IBM Global Services Why Principles of agile estimation (1/2) Eliminate Waste Don’t estimate waste, don‘t look too far into the future. Decide as Late as Possible Estimate up to 2 iterations into the future (fine grain). Estimate up to 2 releases into the future (coarse grain). Estimate as a team (development + customer). This reduces the “blame game”, you can no longer point accusing fingers at the person who made the plan. Amplify Learning Estimate your own work. Empower the Team You feel committed as an individual for the development of the self-selected tasks. You feel committed as a group for delivering the iteration goal. Base estimates on facts, rather than on speculation. Use actual data. Use what happened in the past. Feedback Yesterday’s weather, team velocity, triangulation Measurements Estimate early. Value-Stream Mapping Start getting estimates as soon as you write stories. Amplify Learning You will know what questions to ask if you can’t estimate a story. Principles 22 IBM Academy of Technology Best Practices in Project Estimation Conference © 2005 IBM Corporation
  • 23. IBM Global Services Why Principles of agile estimation (2/2) Amplify Learning Estimate often. Learn from experience. Empower the Team At the beginning of an iteration. Update the effort remaining daily / every other day. Estimate small features. Deliver as Fast as Possible Stories of several days up to 2 weeks Keep it simple. Use simple rules. Making Decisions Communicate the constraints / assumptions of your estimates rather than just the numbers. Options Thinking Estimate total effort for implementing a story (development, testing, documentation etc.) Measurements Don’t bring initial estimates (from release planning) into sessions for detailed estimates (iteration planning). Otherwise, the estimators will be tempted to force fit the task estimates to sum to the story estimate. Track the effort spent and the effort still open until completion. Don’t ask for a percentage. Only count a story as implemented if it has passed the acceptance tests. Principles 23 IBM Academy of Technology Best Practices in Project Estimation Conference © 2005 IBM Corporation
  • 24. IBM Global Services Relationship to IBM Global Services Method Cone of Uncertainty There is a quite agile engagement model „Accelerated Development“ (formerly 4.0x bad time for „Rapid Custom Development“). estimation Every (?) engagement model contains at better time for the beginning of each phase the task 2.0x realistic „Refine Project Estimates“, so iterative estimates estimation is not a new concept. final x The main switch is from specialist actuals estimation to group estimation. Emergence of estimates might be hard to 0.5x accept, but the quality of estimates will always have to be commensurate with the information available. 0.25x iter 1 iter 2 iter 3 iter 4 .... PMI has the notion of “rolling wave planning” which is very similar to the adaptive estimation approach. Put just enough effort into estimation, and be aware of the diminishing returns, when additional effort doesn’t result into a much more accurate estimate. 24 IBM Academy of Technology Best Practices in Project Estimation Conference © 2005 IBM Corporation
  • 25. IBM Global Services Summary In a complex environment with frequent changes that cannot be anticipated, estimation must be done in an incremental and adaptive way. It can no longer be done in a sophisticated, big-upfront approach by highly skilled estimators at the beginning of the project. Agile approaches to estimation look extremely simple, but they work (somehow unexpectedly) quite well. Analogies to Lean Software Development (and Lean Manufacturing) explain why these simple approaches work. If you want to apply different (traditional, more complex, more rigorous,…) approaches in a complex environment, make sure that you understand the principles of Lean Software Development to check whether the approach can possibly work. 25 IBM Academy of Technology Best Practices in Project Estimation Conference © 2005 IBM Corporation
  • 26. IBM Global Services Questions? 26 IBM Academy of Technology Best Practices in Project Estimation Conference © 2005 IBM Corporation
  • 27. IBM Global Services Backup Slides IBM Academy of Technology Best Practices in Project Estimation Conference © 2005 IBM Corporation
  • 28. IBM Global Services Additional Next to estimation Estimating bugs Iceberg list (Crystal) Blitz planning (Crystal) Planning Game (XP) Sprint Planning Meeting (Scrum) Burn-down Chart (Scrum) Spatial Reasoning Wideband Delphi 28 IBM Academy of Technology Best Practices in Project Estimation Conference © 2005 IBM Corporation
  • 29. IBM Global Services How (XP) Estimating Bugs First, determine if the bug is critical (= can’t wait until the next iteration). – Only the customer can decide whether the bug is really critical. – Make the tradeoff “bug vs. function” explicit, since a fixed bug might push a story into the next release (see the “Iceberg list”). If it’s not critical, then log it on a card. Get development to look at it and estimate the effort. You can mark the effort as unknown. If it’s less than an ideal day, mark it as small. If the estimate is more than a day’s worth of effort, treat the defect as a story. The customer can then say which iteration should address the defect, just as with any other story. Usually it’s worth lumping several bugs together to get a week’s worth. Just before the next iteration planning meeting, the customer should take the small and unknown bugs and prioritize them. The customer should indicate how much ideal time the developers should spend dealing with them. Encourage everyone to deal with bugs in a rational way, to make sensible tradeoffs between fixing defects and adding features. From: Kent Beck and Martin Fowler: Planning Extreme Programmin 29 IBM Academy of Technology Best Practices in Project Estimation Conference © 2005 IBM Corporation
  • 30. IBM Global Services Additional Iceberg List (Crystal, Scrum) Sprint Backlog The “above water” part lists all the items that can be delivered in the current delivery cycle. The “below water” part lists every item that will be delivered in later cycles. When you add a new item to the above water part, it pushes everything else down, and something that was above water falls below water. The iceberg list is useful in hostile environments, where sponsors change the requirements and priorities on a daily basis. Product Backlog Product Backlog (Release Backlog): –List of functionality, technology, issues (placeholders that are later defined as work) –Emergent, prioritized, estimated with more detail on higher priority backlog –Product Owner responsible for priority, anyone can contribute –Maintained and posted visibly Sprint Backlog (Iteration Backlog): –Product Backlog selected for Sprint by team, team selects tasks to turn product backlog into working product functionality. –Cannot be added to or changed during Sprint from the outside, only team member can add, delete or change the Sprint Backlog. From: Alistair Cockburn: Crystal Cle 30 IBM Academy of Technology Best Practices in Project Estimation Conference © 2005 IBM Corporation
  • 31. IBM Global Services Additional Blitz Planning (Crystal) 1. Gather the attendees (representatives from each stakeholder category) John 2. Brainstorm the tasks (5-15 minutes) Walking skeleton Collect rq'ts 3. Lay out the tasks on a big table in 2 wks 1 wk dependency order (top to bottom), parallel tasks next to each other, remove John Sally duplicates Define 1st 4. Review the tasks, add tasks as needed Make test DB Initial functions acceptance test 5. Estimate effort and tag the tasks with 1 wk 2 wks 4 days names of specific people required. Identify over-loaded people. 6. Sort the tasks (parallel / sequential) First function ready 7. Mark the walking skeleton, the earliest for view release and the earliest revenue 2 wks A 8. Identify other releases A 9. Optimize the plan to fit the project priorities, re-prioritize, re-sort, delay Initial deployment tasks 4 days 10. Capture the output and display publicly From: Alistair Cockburn: Crystal Cle 31 IBM Academy of Technology Best Practices in Project Estimation Conference © 2005 IBM Corporation
  • 32. IBM Global Services Additional Planning Game (XP) People place index cards on the table, one user story per card. The group pretends there are no dependencies between cards, and simply lines them up in the preferred sequence of development The developers write on each card an estimate of how long it will take to produce the function. The sponsor or expert user puts them into development priority sequence, taking into account the development time and business value of each function. The cards are clustered into (fixed-length) iterations, and those iterations are clustered into releases, usually not longer than a few months each. From: Kent Beck and Martin Fowler: Planning Extreme Programmin 32 IBM Academy of Technology Best Practices in Project Estimation Conference © 2005 IBM Corporation
  • 33. IBM Global Services How (Scrum Sprint Planning Meeting (Scrum) 4 hours (max) for team to select Product Backlog and set Sprint Goal with Product Owner – Attended by Product Owner, Scrum team, customers, management in order to define what to build in the next Sprint – Team selects as much Product Backlog as it believes it can develop during the next Sprint. – Product Owner and customer devise Sprint Goal (which is the business value that the product increment must deliver regardless of functionality implemented). 4 hours (max) for team to define Sprint Backlog – Attended by Product Owner, Scrum team, development management in order to define how to build the product functionality into a product increment in the next Sprint. – Team defines Sprint Backlog, consisting of all tasks that need to be completed during Sprint. – Team members sign up for work and estimate their tasks. – Tasks are 1-16 hours long (XP suggests 1-3 days); if longer, break them down into more granularity. From: Mike Beedle and Ken Schwaber: Agile Software Development with Scru 33 IBM Academy of Technology Best Practices in Project Estimation Conference © 2005 IBM Corporation
  • 34. IBM Global Services How (Scrum Burn-down Chart (Scrum) Burn-down Chart shows the estimated number of hours required to complete the tasks of the Sprint. It shows both the status and rate of progress (“velocity”) in a way that is both clear and easy to discuss. Posted visibly. Similar to earned-value chart if you count the delivered functionality (instead of development effort) over time. From: Mike Beedle and Ken Schwaber: Agile Software Development with Scru 34 IBM Academy of Technology Best Practices in Project Estimation Conference © 2005 IBM Corporation
  • 35. IBM Global Services Spatial Reasoning Create a game table with enough slots available slots actual stories for the stories of an iteration. Create physical cards for the stories Bug where the size of the card matches the 1 pt. story points. Big user Validate whether the size of the cards story feel right. Typical Decide how to organize the story cards user on the game board. story 3 pts. 2 pts. By sizing the pieces so that all math can be done quickly using visual inspection, the planning meeting remains focused on the competing business issues. From: Mike Cohn: User Stories Applie 35 IBM Academy of Technology Best Practices in Project Estimation Conference © 2005 IBM Corporation
  • 36. IBM Global Services Wideband Delphi 1. Kickoff Meeting: At least three people discuss the source documents and project, as well as the units of estimation. 2. Estimation: Each person creates three estimates (using his/her preferred method): most likely, optimistic, pessimistic case. 3. Meeting: Each estimator gives his/her estimates to the facilitator who displays them with averages (owners of the estimates may not be revealed if it’s desired to reduce the influence of personality or seniority). Each estimator discusses the insights, problems and assumptions. 4. Repeat steps 2 and 3 at least once to get iterative estimation refinement: let the feedback drive adaptation and improvement 5. Calculate the final numbers using the averages from the final cycle. Estimate = (Optimistic + Pessimistic + 4 * Most likely) / 6 Likely Deviation = (Pessimistic – Optimistic) / 6 Wideband Delphi sits on top of any other estimation method, improving it through multiple participants, feedback, and iterative refinement 36 IBM Academy of Technology Best Practices in Project Estimation Conference © 2005 IBM Corporation
  • 37. IBM Global Services References Kent Beck and Martin Fowler: Planning Extreme Programming, Addison-Wesley, 2001. Mike Beedle and Ken Schwaber: Agile Software Development with Scrum, Prentice Hall, 2001. Alistair Cockburn: Crystal Clear, Addison-Wesley, 2005. Mike Cohn: User Stories Applied, Addison-Wesley, 2004. Mike Cohn: Agile Estimation and Planning, to be published, work in progress is available online at http://www.mountaingoatsoftware.com/agileplanning/ George D. Githens: Rolling Wave Project Planning, http://www.catalystpm.com/NP02.PDF Craig Larman: Agile & Iterative Development, Addison-Wesley, 2004. Todd Little: Agility, Uncertainty, and Software Project Estimation http://www.macs.ece.mcgill.ca/~radu/304428W03/AgilityUncertaintyAndEstimation.pdf Ogunnaike and Ray: Process Dynamics, Modeling, and Control, Oxford University Press, 1992. Mary and Tom Poppendieck: Lean Software Development, Addison-Wesley, 2003. Ken Schwaber: Agile Project Management with Scrum, Microsoft Press, 2004. Ken Schwaber: Scrum Methodology Revision 0.9, Advanced Development Methods Inc., 2003. 37 IBM Academy of Technology Best Practices in Project Estimation Conference © 2005 IBM Corporation