SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Agile Planning

  Artem Marchenko
  AgileEE, September 19, 2009


             © 2003–2009 Artem Marchenko and Mountain Goat Software®
Artem Marchenko - background




            © 2003–2009 Artem Marchenko and Mountain Goat Software®
What’s a good plan?
•   A good plan is one that supports reliable
    decision-making
•   Will go from
    •   We’ll be done in the third quarter
    •   We’ll be done in August
    •   We’ll be done August 18th




                          © 2003–2009 Artem Marchenko and Mountain Goat Software®
What makes planning agile?
  Is more focused on
 planning than the plan

         Encourages change

              Results in plans that
              are easily changed
                        Is spread throughout
                             the project
                 © 2003–2009 Artem Marchenko and Mountain Goat Software®
Starting assumptions
•   We have a product backlog (prioritized feature
    list)
•   Items on the product backlog (user stories is my
    preference) have been estimated in story points
    or ideal days
•   We have a team with a known velocity
    •   We’ll relax this assumption shortly




                          © 2003–2009 Artem Marchenko and Mountain Goat Software®
An example with velocity=14
                           Story A            Story F
 Sprint 1                 Sprints 3-4
                                        5                   5
                           Story B            Story G

                                        8                   1
                           Story C            Story H
 Sprint 2
                                        3                  13
                           Story D            Story I

                                        5                   5
                           Story E             Story J

                                         1                  8
            © 2003–2009 Artem Marchenko and Mountain Goat Software®
Release and sprint planning

  Release Plan
   Sprint   Sprint   Sprint       Sprints 4–7
     1        2        3




                                        Task A       8 hours
                                        Task B      16 hours
                                        Task C       5 hours
                                        Task D       8 hours


                        © 2003–2009 Artem Marchenko and Mountain Goat Software®
Agenda

• Sprint planning
• Estimating velocity
• Release planning
   • Contracting on fixed-date
   & fixed-scope projects




          © 2003–2009 Artem Marchenko and Mountain Goat Software®
© 2003–2009 Artem Marchenko and Mountain Goat Software®
Two approaches
•   Velocity-driven sprint planning
•   Commitment-driven sprint planning




                      © 2003–2009 Artem Marchenko and Mountain Goat Software®
Velocity-driven sprint planning
•   “We finished 15 story points last time, let’s plan
    on 15 story points this time.”
•   Very unreliable in what will be accomplished
    during an iteration
    •   Velocity is mostly useful over the long term




                          © 2003–2009 Artem Marchenko and Mountain Goat Software®
Commitment-driven sprint planning
• Discuss the highest priority item on the product
 backlog
• Decompose it into tasks
• Estimate each task
• Ask ourselves, “Can we commit to this?”
  • If yes, see if we can add another backlog item
  • If not, remove this item but see if we can add another
    smaller one. Possibly by splitting the original story



                       © 2003–2009 Artem Marchenko and Mountain Goat Software®
It looks something like this
As a user, I want ...       • Code the abc class (8 hours)
                            • Code the user interface (4)
                            • Write test fixtures (4)      26
                            • Code the xyz class (6)
                    2       • Update performance tests (4)


         Team can commit, so they continue...

As a user, I want ...
                            • Prototype the UI (8 hours)
                            • Demo UI to 3 outside users (3)
                            • Code new UI (12)            26
                            • Update documentation (3)
                    3
                        © 2003–2009 Artem Marchenko and Mountain Goat Software®
1


                              2
time


                             time


       © 2003–2009 Artem Marchenko and Mountain Goat Software®
© 2003–2009 Artem Marchenko and Mountain Goat Software®
How to estimate velocity
1
    Use historical values

           2
               Don’t, until you’ve run
                  a sprint or two
                        3
                                      Forecast it


                     © 2003–2009 Artem Marchenko and Mountain Goat Software®
Forecasting velocity
•   Just like commitment-driven sprint planning
    •   Estimate available hours for the sprint
    •   Repeat until full:
        •   Pick a story, break into tasks, estimate each task




                              © 2003–2009 Artem Marchenko and Mountain Goat Software®
An example
•   Estimating available hours

        Person       Hours per Day            Hours per Sprint

        Sergey              4-6                       40-60

        Kimmo               5-7                       50-70

        Jarmo               2-3                       20-30

                 Total                              110-160

                     © 2003–2009 Artem Marchenko and Mountain Goat Software®
An example
              At 110-160 available hours per
            sprint, what is the team’s velocity?

  Code the ...    12
                                                              Code the UI        8
   Do the...      8
                        As a frequent flyer, I
                                                            Write test fixture   6
        48
Document the...   8
                              want to...         3                  31
                                                            Code middle tier     12
  Test the...     8
                                                               Write tests       5
 Analyze the...   4    As a user, I want to...   5
 Document ...     8    As a vacation planner,
                             I want to...        5                  50
                                                                   ...           50
                        As a frequent flyer, I
        20
      ...         20          want to...         2


                             © 2003–2009 Artem Marchenko and Mountain Goat Software®
Put a range around it
•   You’re unlikely to have precisely forecasted the
    exact velocity the team will average
•   So, put a range around your velocity estimate:
               Known team, domain,                      +5%
                   technology                           −10%
                                                        +10%
                                                        −25%
                  Unknown team,                         +25%
                domain, technology                      −50%
    †Numbers  based on PMI advice on progressive
    accuracy of estimates.       © 2003–2009 Artem Marchenko and Mountain Goat Software®
Expressing velocity as a range

                        1.10       20                200 ÷ 20 = 10
   Estimated velocity
         = 18
                        .75        14               200 ÷ 14 = 15

   Adjustments                Total of
 from prior page           estimates on
    or intuition             product
                             backlog

         “Right now, before we start this project,
           our best estimate is that it will take
              between 10 and 15 sprints.”
                          © 2003–2009 Artem Marchenko and Mountain Goat Software®
© 2003–2009 Artem Marchenko and Mountain Goat Software®
Create a range from historical
data
                                           Mean (Best 3) = 37
                                           Mean (Last 8) = 33
                                           Mean (Worst 3) = 28




          Sprints
                © 2003–2009 Artem Marchenko and Mountain Goat Software®
Predicting where we finish


         At our slowest velocity we’ll finish here
         (5×28)

         At our long-term average we’ll finish here
         (5×33)
         At our best velocity we’ll finish here (5×37)




              © 2003–2009 Artem Marchenko and Mountain Goat Software®
Planning on contracted projects
    Fixed-date projects
                               Fixed-scope projects

    A caveat
•   There are times you need to do this
    • So let’s look at some good techniques
•   Better though is try for a collaborative
    relationship with your customer
    • “You’ll have this team for each sprint, can
       direct them at the start of each, and stop
       when you have enough”
                      © 2003–2009 Artem Marchenko and Mountain Goat Software®
Fixed-date planning
           How much can I get by <date>?
1. Determine how many sprints you have
2. Estimate velocity as a range
3. Multiply low velocity × number of sprints
  •   Count off that many points
      •   These are “Will Have” items

4. Multiply high velocity × number of sprints
  •   Count off that many more points
      •   These are “Might Have items”



                              © 2003–2009 Artem Marchenko and Mountain Goat Software®
Fixed-date planning: an example
   Desired
               30 June
release date
                                          Will have
Today’s Date 1 January

 Number of                          6×15
           6 (monthly)                         Might
  sprints
                                               have
   Low                              6×20
               15
  velocity
   High
               20                       Won’t have
  velocity

                    © 2003–2009 Artem Marchenko and Mountain Goat Software®
Fixed-date contracting
                  If you write a contract
                  for just the will haves:
                  • You won’t likely win the contract
  Will have       • But you’ll probably make money if
                    you do

6×15              If you write a contract that
       Might      includes the might haves:
       have       • You will likely win the contract
6×20              • But probably not make money on it

 Won’t have         It’s a risk issue
                    Where do you want to be?
               © 2003–2009 Artem Marchenko and Mountain Goat Software®
Fixed-scope planning
          When will all of this be done?
1. Sum all the backlog items the customer needs
2. Estimate velocity as a range
3. Divide total story points by high velocity
  •   This is the shortest number of sprints it could
      take
4. Divide total story points by low velocity
  •   This is the “most” sprints it could take


                       © 2003–2009 Artem Marchenko and Mountain Goat Software®
Fixed-scope planning: an example
   Total story points desired                   120
          Low velocity                           15
          High velocity                          20

120÷20=



120÷15=


                   © 2003–2009 Artem Marchenko and Mountain Goat Software®
Fixed-scope contracting
 If you write a contract
 for the short duration:

 • You’ll likely win the contract
 • But may not make any money

                             If you write a contract
                             for the long duration:
                              • You probably won’t win the contract
                              • But will make money if you


                 It’s a risk issue

                 Where do you want to be?
                             © 2003–2009 Artem Marchenko and Mountain Goat Software®
Ranges
•   Notice in both cases we had a range
•   For a fixed date project, use a scope range:
    •   “By that date you’ll have all of these features and
        some of these.”
•   For a fixed-scope project, use a date range:
    •   “It will take us between 5 and 8 sprints to deliver all
        of those features.”



                           © 2003–2009 Artem Marchenko and Mountain Goat Software®
Artem Marchenko contact info


        artem.marchenko@gmail.com
     http://AgileSoftwareDevelopment.com
         http://twitter.com/AgileArtem




                © 2003–2009 Artem Marchenko and Mountain Goat Software®

Weitere ähnliche Inhalte

Andere mochten auch (20)

20101008 agileee v11
20101008 agileee v1120101008 agileee v11
20101008 agileee v11
 
Sept. 1 5
Sept. 1 5Sept. 1 5
Sept. 1 5
 
Shadow Art
Shadow ArtShadow Art
Shadow Art
 
May12 16
May12 16May12 16
May12 16
 
Unusual churches
Unusual churchesUnusual churches
Unusual churches
 
Sept.13 17a
Sept.13 17aSept.13 17a
Sept.13 17a
 
Amazing gardens
Amazing gardensAmazing gardens
Amazing gardens
 
August 19 23
August 19 23August 19 23
August 19 23
 
Establishing Peace, Ducks In A Row (Part 2)
Establishing Peace, Ducks In A Row (Part 2)Establishing Peace, Ducks In A Row (Part 2)
Establishing Peace, Ducks In A Row (Part 2)
 
Social Media and Respiratory Health
Social Media and Respiratory HealthSocial Media and Respiratory Health
Social Media and Respiratory Health
 
How to Implement Integrated (pURL) Campaigns
How to Implement Integrated (pURL) CampaignsHow to Implement Integrated (pURL) Campaigns
How to Implement Integrated (pURL) Campaigns
 
January 6 10
January 6 10January 6 10
January 6 10
 
Nov. 14 18
Nov. 14 18Nov. 14 18
Nov. 14 18
 
10h time-difference-creating-effective-highly-distributed-teams
10h time-difference-creating-effective-highly-distributed-teams10h time-difference-creating-effective-highly-distributed-teams
10h time-difference-creating-effective-highly-distributed-teams
 
I.I 2796
I.I 2796I.I 2796
I.I 2796
 
April 4 8
April 4 8April 4 8
April 4 8
 
Feb. 11 15 ver. 2
Feb. 11 15 ver. 2Feb. 11 15 ver. 2
Feb. 11 15 ver. 2
 
Sept.20 24
Sept.20 24Sept.20 24
Sept.20 24
 
Retiring Preacher/Young Preacher in the Same Congregation
Retiring Preacher/Young Preacher in the Same CongregationRetiring Preacher/Young Preacher in the Same Congregation
Retiring Preacher/Young Preacher in the Same Congregation
 
Mar. 17 21
Mar. 17 21Mar. 17 21
Mar. 17 21
 

Ähnlich wie Agile Planning

Planning and Tracking Agile Projects
Planning and Tracking Agile ProjectsPlanning and Tracking Agile Projects
Planning and Tracking Agile Projects
Mike Cohn
 
Getting Agile with Scrum
Getting Agile with ScrumGetting Agile with Scrum
Getting Agile with Scrum
Mike Cohn
 
Experiencing Agility From Requirements to Planning
Experiencing Agility From Requirements to PlanningExperiencing Agility From Requirements to Planning
Experiencing Agility From Requirements to Planning
Mike Cohn
 
Scrum Introduction
Scrum IntroductionScrum Introduction
Scrum Introduction
James Brett
 
RMiller.FromMaxL.presentation
RMiller.FromMaxL.presentationRMiller.FromMaxL.presentation
RMiller.FromMaxL.presentation
Randy Miller
 
Programme evaluation and review technique (pert)
Programme evaluation and review technique (pert)Programme evaluation and review technique (pert)
Programme evaluation and review technique (pert)
Anupam Kumar
 
Planning for Contract Agile Projects
Planning for Contract Agile ProjectsPlanning for Contract Agile Projects
Planning for Contract Agile Projects
Mike Cohn
 

Ähnlich wie Agile Planning (20)

Planning and Tracking Agile Projects
Planning and Tracking Agile ProjectsPlanning and Tracking Agile Projects
Planning and Tracking Agile Projects
 
Getting Agile with Scrum
Getting Agile with ScrumGetting Agile with Scrum
Getting Agile with Scrum
 
Experiencing Agility From Requirements to Planning
Experiencing Agility From Requirements to PlanningExperiencing Agility From Requirements to Planning
Experiencing Agility From Requirements to Planning
 
Scrum Introduction
Scrum IntroductionScrum Introduction
Scrum Introduction
 
Getting agile-with-scrum-ndc-2104
Getting agile-with-scrum-ndc-2104Getting agile-with-scrum-ndc-2104
Getting agile-with-scrum-ndc-2104
 
RMiller.FromMaxL.presentation
RMiller.FromMaxL.presentationRMiller.FromMaxL.presentation
RMiller.FromMaxL.presentation
 
Becoming Indie
Becoming IndieBecoming Indie
Becoming Indie
 
Tms days 04 2012 manuel herranz pangea mt
Tms days 04 2012 manuel herranz pangea mtTms days 04 2012 manuel herranz pangea mt
Tms days 04 2012 manuel herranz pangea mt
 
Programme evaluation and review technique (pert)
Programme evaluation and review technique (pert)Programme evaluation and review technique (pert)
Programme evaluation and review technique (pert)
 
Aocr Hmm Presentation
Aocr Hmm PresentationAocr Hmm Presentation
Aocr Hmm Presentation
 
Yakiniku on the Cloud
Yakiniku on the CloudYakiniku on the Cloud
Yakiniku on the Cloud
 
Getting Agile with Srum
Getting Agile with SrumGetting Agile with Srum
Getting Agile with Srum
 
Apache Sparkを用いたスケーラブルな時系列データの異常検知モデル学習ソフトウェアの開発
Apache Sparkを用いたスケーラブルな時系列データの異常検知モデル学習ソフトウェアの開発Apache Sparkを用いたスケーラブルな時系列データの異常検知モデル学習ソフトウェアの開発
Apache Sparkを用いたスケーラブルな時系列データの異常検知モデル学習ソフトウェアの開発
 
Agile and Scrum for Video Game Development
Agile and Scrum for Video Game DevelopmentAgile and Scrum for Video Game Development
Agile and Scrum for Video Game Development
 
Planning for Contract Agile Projects
Planning for Contract Agile ProjectsPlanning for Contract Agile Projects
Planning for Contract Agile Projects
 
Scrum Out Of The Nutshell
Scrum Out Of The NutshellScrum Out Of The Nutshell
Scrum Out Of The Nutshell
 
Scrum Out Of The Nutshell V3
Scrum Out Of The Nutshell V3Scrum Out Of The Nutshell V3
Scrum Out Of The Nutshell V3
 
Jtf new
Jtf newJtf new
Jtf new
 
How to setup MateriApps LIVE!
How to setup MateriApps LIVE!How to setup MateriApps LIVE!
How to setup MateriApps LIVE!
 
JVM and OS Tuning for accelerating Spark application
JVM and OS Tuning for accelerating Spark applicationJVM and OS Tuning for accelerating Spark application
JVM and OS Tuning for accelerating Spark application
 

Mehr von Agileee

Robin Dymond: "Your Brain and Better Product Development"
Robin Dymond: "Your Brain and Better Product Development"Robin Dymond: "Your Brain and Better Product Development"
Robin Dymond: "Your Brain and Better Product Development"
Agileee
 
Lyssa Adkins & Michael Spayd: The Essential Transformations: How Agile Calls ...
Lyssa Adkins & Michael Spayd: The Essential Transformations: How Agile Calls ...Lyssa Adkins & Michael Spayd: The Essential Transformations: How Agile Calls ...
Lyssa Adkins & Michael Spayd: The Essential Transformations: How Agile Calls ...
Agileee
 
Piotr Burdylo: Managing developers is complex
Piotr Burdylo: Managing developers is complexPiotr Burdylo: Managing developers is complex
Piotr Burdylo: Managing developers is complex
Agileee
 
Nick Oostvogels: 5 Arguments Against Kanban
Nick Oostvogels: 5 Arguments Against KanbanNick Oostvogels: 5 Arguments Against Kanban
Nick Oostvogels: 5 Arguments Against Kanban
Agileee
 
Anthony Marchenko: Опыт внедрения Kanban
Anthony Marchenko: Опыт внедрения KanbanAnthony Marchenko: Опыт внедрения Kanban
Anthony Marchenko: Опыт внедрения Kanban
Agileee
 
Henrik Kniberg: Agile at home
Henrik Kniberg: Agile at homeHenrik Kniberg: Agile at home
Henrik Kniberg: Agile at home
Agileee
 
Henrik Kniberg: Lean from the Trenches keynote @ AgileEE
Henrik Kniberg: Lean from the Trenches keynote @ AgileEEHenrik Kniberg: Lean from the Trenches keynote @ AgileEE
Henrik Kniberg: Lean from the Trenches keynote @ AgileEE
Agileee
 
Scrum and kanban
Scrum and kanbanScrum and kanban
Scrum and kanban
Agileee
 
How To Change The World
How To Change The WorldHow To Change The World
How To Change The World
Agileee
 
The Extreme Decade
The Extreme DecadeThe Extreme Decade
The Extreme Decade
Agileee
 
Agile Testing. Risks, Uncertainty and Why It All Works
Agile Testing. Risks, Uncertainty and Why It All WorksAgile Testing. Risks, Uncertainty and Why It All Works
Agile Testing. Risks, Uncertainty and Why It All Works
Agileee
 
Movivation 3.0
Movivation 3.0Movivation 3.0
Movivation 3.0
Agileee
 
Effective Software Development in the 21st Century
Effective Software Development in the 21st CenturyEffective Software Development in the 21st Century
Effective Software Development in the 21st Century
Agileee
 
Myths, Legends and Monsters of Enterprise Agility
Myths, Legends and Monsters of Enterprise AgilityMyths, Legends and Monsters of Enterprise Agility
Myths, Legends and Monsters of Enterprise Agility
Agileee
 
Lightening Talk: Software craftsmanship
Lightening Talk: Software craftsmanshipLightening Talk: Software craftsmanship
Lightening Talk: Software craftsmanship
Agileee
 
Lightening Talk: Lean start up
Lightening Talk: Lean start upLightening Talk: Lean start up
Lightening Talk: Lean start up
Agileee
 
Lightening Talk: lama sutra of retrospective
Lightening Talk: lama sutra of retrospectiveLightening Talk: lama sutra of retrospective
Lightening Talk: lama sutra of retrospective
Agileee
 
Lightening Talk: Just do it eng
Lightening Talk: Just do it engLightening Talk: Just do it eng
Lightening Talk: Just do it eng
Agileee
 
Lightening Talk: Why do they leave
Lightening Talk: Why do they leaveLightening Talk: Why do they leave
Lightening Talk: Why do they leave
Agileee
 

Mehr von Agileee (20)

Robin Dymond: "Your Brain and Better Product Development"
Robin Dymond: "Your Brain and Better Product Development"Robin Dymond: "Your Brain and Better Product Development"
Robin Dymond: "Your Brain and Better Product Development"
 
Lyssa Adkins & Michael Spayd: The Essential Transformations: How Agile Calls ...
Lyssa Adkins & Michael Spayd: The Essential Transformations: How Agile Calls ...Lyssa Adkins & Michael Spayd: The Essential Transformations: How Agile Calls ...
Lyssa Adkins & Michael Spayd: The Essential Transformations: How Agile Calls ...
 
Piotr Burdylo: Managing developers is complex
Piotr Burdylo: Managing developers is complexPiotr Burdylo: Managing developers is complex
Piotr Burdylo: Managing developers is complex
 
Nick Oostvogels: 5 Arguments Against Kanban
Nick Oostvogels: 5 Arguments Against KanbanNick Oostvogels: 5 Arguments Against Kanban
Nick Oostvogels: 5 Arguments Against Kanban
 
Anthony Marchenko: Опыт внедрения Kanban
Anthony Marchenko: Опыт внедрения KanbanAnthony Marchenko: Опыт внедрения Kanban
Anthony Marchenko: Опыт внедрения Kanban
 
Henrik Kniberg: Agile at home
Henrik Kniberg: Agile at homeHenrik Kniberg: Agile at home
Henrik Kniberg: Agile at home
 
Henrik Kniberg: Lean from the Trenches keynote @ AgileEE
Henrik Kniberg: Lean from the Trenches keynote @ AgileEEHenrik Kniberg: Lean from the Trenches keynote @ AgileEE
Henrik Kniberg: Lean from the Trenches keynote @ AgileEE
 
Nathaniel Cadwell: The Art of Facilitation
Nathaniel Cadwell: The Art of Facilitation Nathaniel Cadwell: The Art of Facilitation
Nathaniel Cadwell: The Art of Facilitation
 
Scrum and kanban
Scrum and kanbanScrum and kanban
Scrum and kanban
 
How To Change The World
How To Change The WorldHow To Change The World
How To Change The World
 
The Extreme Decade
The Extreme DecadeThe Extreme Decade
The Extreme Decade
 
Agile Testing. Risks, Uncertainty and Why It All Works
Agile Testing. Risks, Uncertainty and Why It All WorksAgile Testing. Risks, Uncertainty and Why It All Works
Agile Testing. Risks, Uncertainty and Why It All Works
 
Movivation 3.0
Movivation 3.0Movivation 3.0
Movivation 3.0
 
Effective Software Development in the 21st Century
Effective Software Development in the 21st CenturyEffective Software Development in the 21st Century
Effective Software Development in the 21st Century
 
Myths, Legends and Monsters of Enterprise Agility
Myths, Legends and Monsters of Enterprise AgilityMyths, Legends and Monsters of Enterprise Agility
Myths, Legends and Monsters of Enterprise Agility
 
Lightening Talk: Software craftsmanship
Lightening Talk: Software craftsmanshipLightening Talk: Software craftsmanship
Lightening Talk: Software craftsmanship
 
Lightening Talk: Lean start up
Lightening Talk: Lean start upLightening Talk: Lean start up
Lightening Talk: Lean start up
 
Lightening Talk: lama sutra of retrospective
Lightening Talk: lama sutra of retrospectiveLightening Talk: lama sutra of retrospective
Lightening Talk: lama sutra of retrospective
 
Lightening Talk: Just do it eng
Lightening Talk: Just do it engLightening Talk: Just do it eng
Lightening Talk: Just do it eng
 
Lightening Talk: Why do they leave
Lightening Talk: Why do they leaveLightening Talk: Why do they leave
Lightening Talk: Why do they leave
 

Kürzlich hochgeladen

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
Earley Information Science
 
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
giselly40
 

Kürzlich hochgeladen (20)

Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
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...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
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...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
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
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 

Agile Planning

  • 1. Agile Planning Artem Marchenko AgileEE, September 19, 2009 © 2003–2009 Artem Marchenko and Mountain Goat Software®
  • 2. Artem Marchenko - background © 2003–2009 Artem Marchenko and Mountain Goat Software®
  • 3. What’s a good plan? • A good plan is one that supports reliable decision-making • Will go from • We’ll be done in the third quarter • We’ll be done in August • We’ll be done August 18th © 2003–2009 Artem Marchenko and Mountain Goat Software®
  • 4. What makes planning agile? Is more focused on planning than the plan Encourages change Results in plans that are easily changed Is spread throughout the project © 2003–2009 Artem Marchenko and Mountain Goat Software®
  • 5. Starting assumptions • We have a product backlog (prioritized feature list) • Items on the product backlog (user stories is my preference) have been estimated in story points or ideal days • We have a team with a known velocity • We’ll relax this assumption shortly © 2003–2009 Artem Marchenko and Mountain Goat Software®
  • 6. An example with velocity=14 Story A Story F Sprint 1 Sprints 3-4 5 5 Story B Story G 8 1 Story C Story H Sprint 2 3 13 Story D Story I 5 5 Story E Story J 1 8 © 2003–2009 Artem Marchenko and Mountain Goat Software®
  • 7. Release and sprint planning Release Plan Sprint Sprint Sprint Sprints 4–7 1 2 3 Task A 8 hours Task B 16 hours Task C 5 hours Task D 8 hours © 2003–2009 Artem Marchenko and Mountain Goat Software®
  • 8. Agenda • Sprint planning • Estimating velocity • Release planning • Contracting on fixed-date & fixed-scope projects © 2003–2009 Artem Marchenko and Mountain Goat Software®
  • 9. © 2003–2009 Artem Marchenko and Mountain Goat Software®
  • 10. Two approaches • Velocity-driven sprint planning • Commitment-driven sprint planning © 2003–2009 Artem Marchenko and Mountain Goat Software®
  • 11. Velocity-driven sprint planning • “We finished 15 story points last time, let’s plan on 15 story points this time.” • Very unreliable in what will be accomplished during an iteration • Velocity is mostly useful over the long term © 2003–2009 Artem Marchenko and Mountain Goat Software®
  • 12. Commitment-driven sprint planning • Discuss the highest priority item on the product backlog • Decompose it into tasks • Estimate each task • Ask ourselves, “Can we commit to this?” • If yes, see if we can add another backlog item • If not, remove this item but see if we can add another smaller one. Possibly by splitting the original story © 2003–2009 Artem Marchenko and Mountain Goat Software®
  • 13. It looks something like this As a user, I want ... • Code the abc class (8 hours) • Code the user interface (4) • Write test fixtures (4) 26 • Code the xyz class (6) 2 • Update performance tests (4) Team can commit, so they continue... As a user, I want ... • Prototype the UI (8 hours) • Demo UI to 3 outside users (3) • Code new UI (12) 26 • Update documentation (3) 3 © 2003–2009 Artem Marchenko and Mountain Goat Software®
  • 14. 1 2 time time © 2003–2009 Artem Marchenko and Mountain Goat Software®
  • 15. © 2003–2009 Artem Marchenko and Mountain Goat Software®
  • 16. How to estimate velocity 1 Use historical values 2 Don’t, until you’ve run a sprint or two 3 Forecast it © 2003–2009 Artem Marchenko and Mountain Goat Software®
  • 17. Forecasting velocity • Just like commitment-driven sprint planning • Estimate available hours for the sprint • Repeat until full: • Pick a story, break into tasks, estimate each task © 2003–2009 Artem Marchenko and Mountain Goat Software®
  • 18. An example • Estimating available hours Person Hours per Day Hours per Sprint Sergey 4-6 40-60 Kimmo 5-7 50-70 Jarmo 2-3 20-30 Total 110-160 © 2003–2009 Artem Marchenko and Mountain Goat Software®
  • 19. An example At 110-160 available hours per sprint, what is the team’s velocity? Code the ... 12 Code the UI 8 Do the... 8 As a frequent flyer, I Write test fixture 6 48 Document the... 8 want to... 3 31 Code middle tier 12 Test the... 8 Write tests 5 Analyze the... 4 As a user, I want to... 5 Document ... 8 As a vacation planner, I want to... 5 50 ... 50 As a frequent flyer, I 20 ... 20 want to... 2 © 2003–2009 Artem Marchenko and Mountain Goat Software®
  • 20. Put a range around it • You’re unlikely to have precisely forecasted the exact velocity the team will average • So, put a range around your velocity estimate: Known team, domain, +5% technology −10% +10% −25% Unknown team, +25% domain, technology −50% †Numbers based on PMI advice on progressive accuracy of estimates. © 2003–2009 Artem Marchenko and Mountain Goat Software®
  • 21. Expressing velocity as a range 1.10 20 200 ÷ 20 = 10 Estimated velocity = 18 .75 14 200 ÷ 14 = 15 Adjustments Total of from prior page estimates on or intuition product backlog “Right now, before we start this project, our best estimate is that it will take between 10 and 15 sprints.” © 2003–2009 Artem Marchenko and Mountain Goat Software®
  • 22. © 2003–2009 Artem Marchenko and Mountain Goat Software®
  • 23. Create a range from historical data Mean (Best 3) = 37 Mean (Last 8) = 33 Mean (Worst 3) = 28 Sprints © 2003–2009 Artem Marchenko and Mountain Goat Software®
  • 24. Predicting where we finish At our slowest velocity we’ll finish here (5×28) At our long-term average we’ll finish here (5×33) At our best velocity we’ll finish here (5×37) © 2003–2009 Artem Marchenko and Mountain Goat Software®
  • 25. Planning on contracted projects Fixed-date projects Fixed-scope projects A caveat • There are times you need to do this • So let’s look at some good techniques • Better though is try for a collaborative relationship with your customer • “You’ll have this team for each sprint, can direct them at the start of each, and stop when you have enough” © 2003–2009 Artem Marchenko and Mountain Goat Software®
  • 26. Fixed-date planning How much can I get by <date>? 1. Determine how many sprints you have 2. Estimate velocity as a range 3. Multiply low velocity × number of sprints • Count off that many points • These are “Will Have” items 4. Multiply high velocity × number of sprints • Count off that many more points • These are “Might Have items” © 2003–2009 Artem Marchenko and Mountain Goat Software®
  • 27. Fixed-date planning: an example Desired 30 June release date Will have Today’s Date 1 January Number of 6×15 6 (monthly) Might sprints have Low 6×20 15 velocity High 20 Won’t have velocity © 2003–2009 Artem Marchenko and Mountain Goat Software®
  • 28. Fixed-date contracting If you write a contract for just the will haves: • You won’t likely win the contract Will have • But you’ll probably make money if you do 6×15 If you write a contract that Might includes the might haves: have • You will likely win the contract 6×20 • But probably not make money on it Won’t have It’s a risk issue Where do you want to be? © 2003–2009 Artem Marchenko and Mountain Goat Software®
  • 29. Fixed-scope planning When will all of this be done? 1. Sum all the backlog items the customer needs 2. Estimate velocity as a range 3. Divide total story points by high velocity • This is the shortest number of sprints it could take 4. Divide total story points by low velocity • This is the “most” sprints it could take © 2003–2009 Artem Marchenko and Mountain Goat Software®
  • 30. Fixed-scope planning: an example Total story points desired 120 Low velocity 15 High velocity 20 120÷20= 120÷15= © 2003–2009 Artem Marchenko and Mountain Goat Software®
  • 31. Fixed-scope contracting If you write a contract for the short duration: • You’ll likely win the contract • But may not make any money If you write a contract for the long duration: • You probably won’t win the contract • But will make money if you It’s a risk issue Where do you want to be? © 2003–2009 Artem Marchenko and Mountain Goat Software®
  • 32. Ranges • Notice in both cases we had a range • For a fixed date project, use a scope range: • “By that date you’ll have all of these features and some of these.” • For a fixed-scope project, use a date range: • “It will take us between 5 and 8 sprints to deliver all of those features.” © 2003–2009 Artem Marchenko and Mountain Goat Software®
  • 33. Artem Marchenko contact info artem.marchenko@gmail.com http://AgileSoftwareDevelopment.com http://twitter.com/AgileArtem © 2003–2009 Artem Marchenko and Mountain Goat Software®