Scrum Planning and Estimating Workshop
                                                                                                   Joshua Partogi
                                                                                                       @jpartogi
                                                                                     Agile Korea Conference 2012




Scrum.org - Improving the Profession of Software Development
Who Am I? 안녕
  •   Professional Scrum Trainer through Scrum.org
  •   Scrum Indonesia 인도네시아 community founder
  •   K-pop 가요 and Korean drama 한국드라마 avid and Korean food lover




Scrum.org - Improving the Profession of Software Development
The rule of the game

                                                                                         5
  •   Every events in Scrum have timebox                                                mins

  •   We are going to do many discussions and exercises in groups
  •   Every discussions and exercises will have timebox




                                                               This shows the timebox




Scrum.org - Improving the Profession of Software Development
Team Forming and Discussion

                                                                5
  Form a group of 5 and discuss these questions                mins

  •   Give your team a name




Scrum.org - Improving the Profession of Software Development
How do we answer these questions?
  •   When is the project is going to finish?
  •   How much is the project going to co$t?




Scrum.org - Improving the Profession of Software Development
Today we are going to learn about estimating and
                  planning in Scrum
                                                                                cises
                                                               Wit h joyful exer
                                                                                 y
                                                                   along the wa




Scrum.org - Improving the Profession of Software Development
Group Estimation
  In Scrum, estimation is only done by group of people who will be committing to
  do the work.
                                                                                               Everyb
                                     e                                                                 o
                              eads ar                                                         own o dy have thei
                       Two h          e                                                              p
                                                                                             solid p inions of how
                                                                                                                   r
                               than on
                       better                                                                       roduct
                                                                                                           should a
                                                               By getting many opinions from                     be
                                                                many different people we can
                                                               have many alternatives that can
                                                                 be systematically evaluated
                                                                                                ore
                                                                                  People are m       ork
                                                                              committe  d with the w
                                                                                                    by
                                                                                that are estimated
                                                                                      themselves
Scrum.org - Improving the Profession of Software Development
The Myth

    With more analysis and
    effort, estimates get
    significantly more accurate.




Scrum.org - Improving the Profession of Software Development
Estimation is often Expensive




                            Accuracy'




                                                               Effort'or'Time'




Scrum.org - Improving the Profession of Software Development
The Basic Truths
  •   It doesn’t matter how long you do the planning and estimate, if you don’t have all
      the skills required you may still come up with a bad plan.
  •   The best way to predict the future is not to come up with detailed analysis but to
      invent it and inspect the outcome.
  •   It is important to have cross-functional team to come up with good estimate
      otherwise you have a dysfunctional team.




Scrum.org - Improving the Profession of Software Development
Levels of Planning in Scrum
 •    Sprint Planning is just first step
 •    Plan constantly, not just in the beginning
 •    Planning is an activity, not a document
 •    Recognize, embrace, and support                          Release     Sprint      Daily
                                                               Planning   Planning   Planning
         change rather than trying to control it




Scrum.org - Improving the Profession of Software Development
Visit Korea Mobile Apps
  To support the Visit Korea program, the Korea Tourism Organisation want to make
  a location based mobile apps that will help tourists find notable places in Korea.
    •   Tourist should be able to search and make an online        •   The system should handle internationalization as many
        both from browser and mobile app booking for all types         tourists from all over the world will be using this
        of accomodation (i.e Hotel, Budget, Homestay) in Korea.        application.
    •   Tourist should be able to rate and give a comment for      •   The web application should be viewable on major
        the accomodation they have stayed in.                          browsers.
    •   Tourist should be able to search other members who         •   The apps should support mobile web and native mobile
        offers their service as tourist guide.                          apps as well as desktop web.
    •   Tourist should be able to give an online financial reward   •   The system should be scalable for up to 100,000 users
        and give a recommendation for these tourist guides.            and available 24/7.
    •   Tourist should be able to find nearby notable restaurants   •   The system should be secure as there will be some
        and places to visit from their mobile phone.                   transaction involved.
    •   Tourist should be able to rate and give a comment for
        the restaurants and places they have visited.


Scrum.org - Improving the Profession of Software Development
The Plan
  •   The KTO virtually has unlimited funding for this project but would prefer something
      is released as soon as possible so that users can use it and give feedback about the
      apps.
  •   Today is the September 1st. KTO plan to have the first release on December 1st
      right before Christmas.
  •   The first release should be the minimum viable product with core functionalities and
      should at least support one mobile platform.
  •   If the core functionalities is not available, user will not use the product and the
      project will be a loss.
  •   The second release is planned for March 1st should at least support another mobile
      platform and have more functionalities.
Scrum.org - Improving the Profession of Software Development
The Release Planning Exercise




Scrum.org - Improving the Profession of Software Development
Creating the Product Backlog for December 1st Release

                                                                          15
  •   Create a Product Backlog for December 1st Release ( 3 Sprints )     mins

  •   Just make sure you have enough work until December 1st, you don’t
      have to create the Product Backlog for the whole product.
  •   Create a card for each Product Backlog Item / work item
  •   Do not strive for perfection, just the best you can do




Scrum.org - Improving the Profession of Software Development
Product Backlog Ordering 순서
  •   A Product Backlog layout a roadmap for the product so that everyone can see
      the vision for the product itself.

                                            1st Quarter        2nd Quarter   2nd Half-year    The future
                         1st Sprint




                                                                                               If we still
                                                                                             have money
                                                                                                  and
                                                                                             everything is
                         2nd & 3rd Sprint




                                                                                              going well




Scrum.org - Improving the Profession of Software Development
Ordering 순서 the Product Backlog

                                                                                                    15
  •   Order the Product Backlog so that everyone can see what Product Backlog                       mins

      Item will be done first and what will be done last.
  •   Put the relative value number on each card. Assume that you will use the
      number 1-500 No two PBI can have the same value number.
  •   The system will be unusable if the non-functionality requirements are not
      fulfilled.
  •   New PBI may emerge.

                                    1                          10   20   30   40   50   100   500

                                    2                               21        41

Scrum.org - Improving the Profession of Software Development
Estimating Product Backlog Items with Points
  •   Very common way to estimate work                         •   Points are additive
  •   Based on size and complexity, not                        •   Based on historical reality
         duration or man hours                                 •   Easy to use and understand
  •   Unitless and numerically relative
  •   Different for each team of estimators




Scrum.org - Improving the Profession of Software Development
Estimating with Points
                                                                                                 ∞ : not feasible for
                                                               8                 ?       8       the time being
                                                                                                 ? : still unclear
                                                                       Product Backlog           0 : it is already
                                                                            Item                 supported by the
                                                                                             8   system
                                                                   4
                                                                             2




Scrum.org - Improving the Profession of Software Development
Estimating 평가 the size of Product Backlog Item

                                                                                      15
  •   We are going to play Planning Poker cards. The number describe the size         mins

      or effort (not man hours) to implement the PBI.
  •   Select the PBI that have a medium relative size and assign it a 4.
  •   Put the PBI that are relatively easier on the left hand side and the PBI that
      are relatively more difficult on the right hand side of the medium PBI.
  •   Now estimate the PBI as a group.
  •   Each estimator selects a card that’s his or her estimate.
  •   Cards are turned over so all can see them (synchronously).
  •   Don’t broadcast opinion before the cards are turned over.
  •   Re-estimate until estimates converge.

Scrum.org - Improving the Profession of Software Development
The Sprint Planning Exercise




Scrum.org - Improving the Profession of Software Development
Sprint Planning
  •   In Scrum, Sprint Planning is divided into two parts.
  •   In the first part, the purpose is to discuss what to make. The Sprint Goal is
      crafted.
  •   In the second part, the purpose is to discuss how to implement the selected
      Product Backlog Item from the first part. The output is the Sprint Backlog




Scrum.org - Improving the Profession of Software Development
Sprint Planning Part 1

                                                                               15
  •   There are three 1 month Sprints until December 1st.                      mins

  •   Your team has worked together before and based on historical data your
      team is only able to deliver 16 points of work in one month Sprint.
  •   Based on the ordered Product Backlog, select the Product Backlog Items
      for the 1st Sprint.
  •   If the PBIs are too large, you may need to decompose the PBIs into
      several smaller items so that it fits in one Sprint.
  •   Tear apart the cards that are no longer used to prevent confusion.
  •   From the selected Product Backlog Items, define the Sprint goal



Scrum.org - Improving the Profession of Software Development
Sprint Planning Part 2

                                                                                 15
  •   Now that we have selected the PBIs for the first Sprint we are going to     mins

      define the works to implement the PBIs
  •   For each PBIs, define the tasks needed to be done.
  •   Each tasks may not exceed more than one day to accomplish.
  •   Tasks may include several functions such as design, programming, quality
      control, documentation
  •   Write each tasks on one sticky.
  •   Write the number of hours needed for each tasks.




Scrum.org - Improving the Profession of Software Development
Scrum Board
  Put these Sprint Backlog to be visible for everyone to see so that everyone knows
  what needs to be done during the Sprint

                                                  PBI          TODO   In Progress   Done




Scrum.org - Improving the Profession of Software Development
Monitoring Sprint Progress
                                                                                        •   Scrum suggests that the team
     150
                                                                                            has a tool to monitor progress
                                                                                            towards the end of the Sprint
  112.5
                                                                                        •   Sprint Burndown chart is one of

        75
                                                                                            the tool
                                                                                        •   The metric can be number of

    37.5
                                                                                            remaining hours, remaining tasks
                                                                                            or remaining points
          0
                                                                                        •   This is updated daily usually after
               1             2              3             4    5   6   7   8   9   10
                                                                                            Daily Scrum Meeting


Scrum.org - Improving the Profession of Software Development
Velocity
  •   Velocity 속도 is the capacity 용적 of how much the team can do in one Sprint.
  •   Usually an accumulation or addition of points “done” PBIs in one Sprint.




Scrum.org - Improving the Profession of Software Development
Release Planning Rule of Thumb
  1. An accurate Release Plan requires an ordered an estimated Product Backlog
  2. An accurate Release Plan requires a known Velocity




Scrum.org - Improving the Profession of Software Development
From here we can be confident to tell the
        customer when a project will be finished and go
                     for a fix bid project




Scrum.org - Improving the Profession of Software Development
Thank You
                                                               감사합니다
                                                                @jpartogi




Scrum.org - Improving the Profession of Software Development
Learn more about Scrum at
                                         Professional Scrum Master Training
                                                               Visit http://scrumway.asia




Scrum.org - Improving the Profession of Software Development

Agile planning & estimating joshua partogi

  • 1.
    Scrum Planning andEstimating Workshop Joshua Partogi @jpartogi Agile Korea Conference 2012 Scrum.org - Improving the Profession of Software Development
  • 2.
    Who Am I?안녕 • Professional Scrum Trainer through Scrum.org • Scrum Indonesia 인도네시아 community founder • K-pop 가요 and Korean drama 한국드라마 avid and Korean food lover Scrum.org - Improving the Profession of Software Development
  • 3.
    The rule ofthe game 5 • Every events in Scrum have timebox mins • We are going to do many discussions and exercises in groups • Every discussions and exercises will have timebox This shows the timebox Scrum.org - Improving the Profession of Software Development
  • 4.
    Team Forming andDiscussion 5 Form a group of 5 and discuss these questions mins • Give your team a name Scrum.org - Improving the Profession of Software Development
  • 5.
    How do weanswer these questions? • When is the project is going to finish? • How much is the project going to co$t? Scrum.org - Improving the Profession of Software Development
  • 6.
    Today we aregoing to learn about estimating and planning in Scrum cises Wit h joyful exer y along the wa Scrum.org - Improving the Profession of Software Development
  • 7.
    Group Estimation In Scrum, estimation is only done by group of people who will be committing to do the work. Everyb e o eads ar own o dy have thei Two h e p solid p inions of how r than on better roduct should a By getting many opinions from be many different people we can have many alternatives that can be systematically evaluated ore People are m ork committe d with the w by that are estimated themselves Scrum.org - Improving the Profession of Software Development
  • 8.
    The Myth With more analysis and effort, estimates get significantly more accurate. Scrum.org - Improving the Profession of Software Development
  • 9.
    Estimation is oftenExpensive Accuracy' Effort'or'Time' Scrum.org - Improving the Profession of Software Development
  • 10.
    The Basic Truths • It doesn’t matter how long you do the planning and estimate, if you don’t have all the skills required you may still come up with a bad plan. • The best way to predict the future is not to come up with detailed analysis but to invent it and inspect the outcome. • It is important to have cross-functional team to come up with good estimate otherwise you have a dysfunctional team. Scrum.org - Improving the Profession of Software Development
  • 11.
    Levels of Planningin Scrum • Sprint Planning is just first step • Plan constantly, not just in the beginning • Planning is an activity, not a document • Recognize, embrace, and support Release Sprint Daily Planning Planning Planning change rather than trying to control it Scrum.org - Improving the Profession of Software Development
  • 12.
    Visit Korea MobileApps To support the Visit Korea program, the Korea Tourism Organisation want to make a location based mobile apps that will help tourists find notable places in Korea. • Tourist should be able to search and make an online • The system should handle internationalization as many both from browser and mobile app booking for all types tourists from all over the world will be using this of accomodation (i.e Hotel, Budget, Homestay) in Korea. application. • Tourist should be able to rate and give a comment for • The web application should be viewable on major the accomodation they have stayed in. browsers. • Tourist should be able to search other members who • The apps should support mobile web and native mobile offers their service as tourist guide. apps as well as desktop web. • Tourist should be able to give an online financial reward • The system should be scalable for up to 100,000 users and give a recommendation for these tourist guides. and available 24/7. • Tourist should be able to find nearby notable restaurants • The system should be secure as there will be some and places to visit from their mobile phone. transaction involved. • Tourist should be able to rate and give a comment for the restaurants and places they have visited. Scrum.org - Improving the Profession of Software Development
  • 13.
    The Plan • The KTO virtually has unlimited funding for this project but would prefer something is released as soon as possible so that users can use it and give feedback about the apps. • Today is the September 1st. KTO plan to have the first release on December 1st right before Christmas. • The first release should be the minimum viable product with core functionalities and should at least support one mobile platform. • If the core functionalities is not available, user will not use the product and the project will be a loss. • The second release is planned for March 1st should at least support another mobile platform and have more functionalities. Scrum.org - Improving the Profession of Software Development
  • 14.
    The Release PlanningExercise Scrum.org - Improving the Profession of Software Development
  • 15.
    Creating the ProductBacklog for December 1st Release 15 • Create a Product Backlog for December 1st Release ( 3 Sprints ) mins • Just make sure you have enough work until December 1st, you don’t have to create the Product Backlog for the whole product. • Create a card for each Product Backlog Item / work item • Do not strive for perfection, just the best you can do Scrum.org - Improving the Profession of Software Development
  • 16.
    Product Backlog Ordering순서 • A Product Backlog layout a roadmap for the product so that everyone can see the vision for the product itself. 1st Quarter 2nd Quarter 2nd Half-year The future 1st Sprint If we still have money and everything is 2nd & 3rd Sprint going well Scrum.org - Improving the Profession of Software Development
  • 17.
    Ordering 순서 theProduct Backlog 15 • Order the Product Backlog so that everyone can see what Product Backlog mins Item will be done first and what will be done last. • Put the relative value number on each card. Assume that you will use the number 1-500 No two PBI can have the same value number. • The system will be unusable if the non-functionality requirements are not fulfilled. • New PBI may emerge. 1 10 20 30 40 50 100 500 2 21 41 Scrum.org - Improving the Profession of Software Development
  • 18.
    Estimating Product BacklogItems with Points • Very common way to estimate work • Points are additive • Based on size and complexity, not • Based on historical reality duration or man hours • Easy to use and understand • Unitless and numerically relative • Different for each team of estimators Scrum.org - Improving the Profession of Software Development
  • 19.
    Estimating with Points ∞ : not feasible for 8 ? 8 the time being ? : still unclear Product Backlog 0 : it is already Item supported by the 8 system 4 2 Scrum.org - Improving the Profession of Software Development
  • 20.
    Estimating 평가 thesize of Product Backlog Item 15 • We are going to play Planning Poker cards. The number describe the size mins or effort (not man hours) to implement the PBI. • Select the PBI that have a medium relative size and assign it a 4. • Put the PBI that are relatively easier on the left hand side and the PBI that are relatively more difficult on the right hand side of the medium PBI. • Now estimate the PBI as a group. • Each estimator selects a card that’s his or her estimate. • Cards are turned over so all can see them (synchronously). • Don’t broadcast opinion before the cards are turned over. • Re-estimate until estimates converge. Scrum.org - Improving the Profession of Software Development
  • 21.
    The Sprint PlanningExercise Scrum.org - Improving the Profession of Software Development
  • 22.
    Sprint Planning • In Scrum, Sprint Planning is divided into two parts. • In the first part, the purpose is to discuss what to make. The Sprint Goal is crafted. • In the second part, the purpose is to discuss how to implement the selected Product Backlog Item from the first part. The output is the Sprint Backlog Scrum.org - Improving the Profession of Software Development
  • 23.
    Sprint Planning Part1 15 • There are three 1 month Sprints until December 1st. mins • Your team has worked together before and based on historical data your team is only able to deliver 16 points of work in one month Sprint. • Based on the ordered Product Backlog, select the Product Backlog Items for the 1st Sprint. • If the PBIs are too large, you may need to decompose the PBIs into several smaller items so that it fits in one Sprint. • Tear apart the cards that are no longer used to prevent confusion. • From the selected Product Backlog Items, define the Sprint goal Scrum.org - Improving the Profession of Software Development
  • 24.
    Sprint Planning Part2 15 • Now that we have selected the PBIs for the first Sprint we are going to mins define the works to implement the PBIs • For each PBIs, define the tasks needed to be done. • Each tasks may not exceed more than one day to accomplish. • Tasks may include several functions such as design, programming, quality control, documentation • Write each tasks on one sticky. • Write the number of hours needed for each tasks. Scrum.org - Improving the Profession of Software Development
  • 25.
    Scrum Board Put these Sprint Backlog to be visible for everyone to see so that everyone knows what needs to be done during the Sprint PBI TODO In Progress Done Scrum.org - Improving the Profession of Software Development
  • 26.
    Monitoring Sprint Progress • Scrum suggests that the team 150 has a tool to monitor progress towards the end of the Sprint 112.5 • Sprint Burndown chart is one of 75 the tool • The metric can be number of 37.5 remaining hours, remaining tasks or remaining points 0 • This is updated daily usually after 1 2 3 4 5 6 7 8 9 10 Daily Scrum Meeting Scrum.org - Improving the Profession of Software Development
  • 27.
    Velocity • Velocity 속도 is the capacity 용적 of how much the team can do in one Sprint. • Usually an accumulation or addition of points “done” PBIs in one Sprint. Scrum.org - Improving the Profession of Software Development
  • 28.
    Release Planning Ruleof Thumb 1. An accurate Release Plan requires an ordered an estimated Product Backlog 2. An accurate Release Plan requires a known Velocity Scrum.org - Improving the Profession of Software Development
  • 29.
    From here wecan be confident to tell the customer when a project will be finished and go for a fix bid project Scrum.org - Improving the Profession of Software Development
  • 30.
    Thank You 감사합니다 @jpartogi Scrum.org - Improving the Profession of Software Development
  • 31.
    Learn more aboutScrum at Professional Scrum Master Training Visit http://scrumway.asia Scrum.org - Improving the Profession of Software Development