Agile Planning And Estimation


Published on

A short introduction to agile planning and estimation.

Will add slide with copyright references to stuff I used from other presentations.

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

Agile Planning And Estimation

  1. 1. (Agile) planning and estimation How to plan the flight of a bird?
  2. 2. Planning, what is it? <ul><li>Estimation </li></ul><ul><ul><li>The art of guessing what the amount of time will be for a certain activity </li></ul></ul><ul><li>Planning </li></ul><ul><ul><li>The act of scheduling activities over resources and time in order to meet a certain deadline. </li></ul></ul>“ Prediction is very difficult, especially about the future. ” Niels Bohr
  3. 3. The planning onion
  4. 4. The ultimate goal?
  5. 5. Goals of planning <ul><li>Reducing Risk </li></ul><ul><li>Reducing Uncertainty </li></ul><ul><li>Supporting Better Decision Making </li></ul><ul><li>Establishing Trust </li></ul><ul><li>Conveying Information </li></ul>
  6. 6. Estimating <ul><li>Guessing the complexity and duration of a task/feature </li></ul>
  7. 7. Estimating: complexity <ul><li>Estimating on a relative scale! </li></ul><ul><li>We (humans) are good at relative estimating </li></ul><ul><ul><li>1 or 2, 5 or 10? </li></ul></ul><ul><li>Example: </li></ul>
  8. 8. Estimating: relative estimates <ul><li>Points are an abstract representation of size, which includes complexity, effort etc. </li></ul><ul><li>Scales often used: </li></ul><ul><ul><li>Fibonacci scale: 1,1,2,3,5,8,13,21,… </li></ul></ul><ul><ul><li>Linear scale: 1,2,3,4,… </li></ul></ul><ul><ul><li>T-shirt sizes: S,M,L,XL </li></ul></ul>
  9. 9. Estimating: relative points <ul><li>Points do not have units(!) </li></ul><ul><li>Points are not directly related to hours or days </li></ul><ul><li>So why use them, if we need to plan on time? </li></ul><ul><li>How can we use an abstract concept to derive durations? </li></ul>
  10. 10. Points: an example <ul><li>Dog-points: </li></ul><ul><ul><li>The height of a dog from the ground to the shoulder. </li></ul></ul><ul><li>Assign dog-points to the following breeds: </li></ul><ul><ul><li>Labrador retriever </li></ul></ul><ul><ul><li>Terrier </li></ul></ul><ul><ul><li>Great Dane (Deense dog) </li></ul></ul><ul><ul><li>Poodle </li></ul></ul><ul><ul><li>Dachshund </li></ul></ul><ul><ul><li>German Sheppard (Duitse herder) </li></ul></ul><ul><ul><li>St. Bernard </li></ul></ul><ul><ul><li>Bulldog </li></ul></ul>
  11. 11. A possible result… What did you choose as a basis, where are your dog-points relative to? 3 Bulldog 9 Saint Bernard 5 German Sheppard 1 Dachshund 3 Poodle 10 Great Dane 3 Terrier 5 Labrador Retriever Dog-points Breed
  12. 12. Important: Context! <ul><li>The context of the estimating in points determines the outcome. </li></ul><ul><li>What if we chose another dog in the previous example? </li></ul>
  13. 13. From points to time <ul><li>Remember the dogs? </li></ul><ul><li>Pick a “known” task as a basis, and extrapolate. </li></ul><ul><li>This is in IDEAL-time </li></ul>
  14. 14. Now estimate these (in ideal time)
  15. 15. So we are done now? <ul><li>We have a list of features expressed in ideal-time. </li></ul>
  16. 16. Two problems remain <ul><li>Where do we get the complexity points from? </li></ul><ul><ul><li>Single source is bad (less context) </li></ul></ul><ul><ul><li>Who has the most experience? </li></ul></ul><ul><ul><ul><li>The implementors! </li></ul></ul></ul><ul><li>Converting ideal-time to lead-time </li></ul><ul><li>Assigning Priority </li></ul><ul><ul><li>Business value first! </li></ul></ul><ul><ul><li>Technical complexity </li></ul></ul>
  17. 17. Getting complexity points <ul><li>A tool is PLANNING POKER </li></ul>
  18. 18. Intermezzo: Agile principles Collaborate Learn Speculate
  19. 19. Planning Poker <ul><li>To determine Estimates </li></ul><ul><ul><ul><li>By builders/implementors </li></ul></ul></ul><ul><li>Reaching consensus FAST! </li></ul><ul><li>Gain relative effort estimations </li></ul>Speculate Collaborate
  20. 20. Result Clear, Consise, tasks Relative effort Not: hours/days of work! 1 Task 15 8 Task 14 5 Task 13 3 Task 12 2 Task 11 2 Task 10 1 Task 9 13 Task 8 5 Task 7 2 Task 6 2 Task 5 5 Task 4 2 Task 3 3 Task 2 1 Task 1
  21. 21. Planning poker, the mechanics – the cards <ul><li>People are good at estmating within an order of magnitude. </li></ul><ul><li>Remember the ranges? Dog-points? </li></ul>
  22. 22. Planning poker --- preparations <ul><li>We need: </li></ul><ul><li>A prioritized list of features or tasks. </li></ul><ul><li>An analist or business-person to elaborate on the tasks. </li></ul>
  23. 23. Planning poker --- A round of play <ul><li>Per task: </li></ul><ul><li>Each person in the group shows his/her estimation at the same time, don’t think to long about it. </li></ul><ul><li>The highest and lowest scores elaborate on their choice (short!) </li></ul><ul><li>If needed, a short discussion about the values follows </li></ul><ul><li>Repeat the steps above until consensus is reached </li></ul>Important: don’t give any information about your estimate before showing the card!
  24. 25. Planning Filling the box…
  25. 26. Planning <ul><li>Several techniques </li></ul><ul><ul><li>Planning tasks and dependencies </li></ul></ul><ul><ul><li>Planning milestones </li></ul></ul><ul><ul><li>Linear planning </li></ul></ul><ul><ul><li>Gantt-charts </li></ul></ul><ul><ul><li>Time-boxing </li></ul></ul><ul><ul><li>Iterative </li></ul></ul>
  26. 27. Focus on: time-boxed planning <ul><li>A Time-box is a fixed period of time. During this time we can work on implementing features (and preferably nothing else..) </li></ul><ul><li>A typical time-box is between 2 weeks and 2 months. </li></ul><ul><li>Time-boxes are also called iterations </li></ul>
  27. 28. Planning with time-boxes <ul><li>Input: </li></ul><ul><ul><li>Desired end-date </li></ul></ul><ul><ul><li>Prioritized list of features </li></ul></ul><ul><ul><li>“ average speed of implementation” </li></ul></ul><ul><li>Output: </li></ul>
  28. 29. Nr. Of items can grow between time-boxes
  29. 30. Speculate Collaborate Learn
  30. 31. Safeguarding life, property and the environment