Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

No estimates


Published on

Estimating software projects, features and tasks is not easy. This presentation shows a way to change the focus from "how long is going to take" to "what can I build in xx days"

Published in: Technology
  • Hello there! Get Your Professional Job-Winning Resume Here!
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No estimates

  1. 1. No estimates
  2. 2. Capturing Requirements
  3. 3. How do you capture requirements?
  4. 4. Reality always wins
  5. 5. Requirements will change
  6. 6. Cone of Uncertainty
  7. 7. Sizing Requirements
  8. 8. How do you choose a size?
  9. 9. Task Breakdown
  10. 10. Shirt Sizes (XXL, XL, L, M, S, XS, etc)
  11. 11. Throwing dice
  12. 12. FDD Frown Driven Development
  13. 13. Magic 8 ball Two Months One Month
  14. 14. User Story Points Using Fibonacci (1, 2, 3, 5, 8, 13 …)
  15. 15. Planning poker
  16. 16. Discovering complexity
  17. 17. Complexity is relative
  18. 18. Tends to average
  19. 19. Can we avoid estimation?
  20. 20. It will take what it takes?
  21. 21. Use Facts
  22. 22. Units of work per week
  23. 23. Let’s make each unit of work…
  24. 24. Around the same size
  25. 25. How?
  26. 26. Focus on…
  27. 27. What can we build in xxx days that adds value?
  28. 28. NO ESTIMATES!
  29. 29. Acceptance Criteria
  30. 30. When are we done?
  31. 31. Writing Scenarios Input Output Step 1 Step 2 … Step N
  32. 32. Multiple Scenarios
  33. 33. Gherkin DSL Business readable DSL Flush out requirements Automated testing Used by Cucumber, SpecFlow, jBehave
  34. 34. Features Feature: Listing movies As a User I want to list movies So I can see the contents of the library
  35. 35. Scenarios Scenario: List all movies Given I'm logged in And I have (some data loaded) When I (do some action) Then I (should see expected results)
  36. 36. Writing reviews Scenario: Write a review for a movie Given I'm logged in as a Critic When I write a review for a movie Then I should see the new review in the reviews section for the movie
  37. 37. Example II Scenario: See most recent movies first Given I'm logged in as a User When I order the list by release date Then I should see the movies with the release date most recent first
  38. 38. Guidelines to write scenarios
  39. 39. ?????? Scenario: Perfect world Given the application is setup When I want to use some projects Then I should be able to load data And have a great user experience but no bugs should appear
  40. 40. ????? Scenario: Redirect user Given a User "dave" with pwd "secret" And I am not logged in When I navigate to the home page And I fill in "Username" with "dave" And I fill in "Password" with "secret" And I press “Login" Then I am redirected to the login form
  41. 41. Just right Scenario: List all projects Given I'm logged in And I have some projects stored When I list the projects Then I should see all of them
  42. 42. Estimating using scenarios
  43. 43. New Functionality When is the right time to write scenarios? During Inception? During Analysis? During Development? During QA?
  44. 44. Order Matters Not! Can every feature be independent?
  45. 45. Size Matters not! Can every feature be of the same size?
  46. 46. Value matters a lot! Otherwise why are we building it?
  47. 47. Complexity∝ amount How many scenarios per feature?
  48. 48. Complexity ∝ amount Scenarios 0 1 2 4 5 6 7 Complexity Simple Medium Complex WTF?
  49. 49. Complexity ∝ Clarity Too many steps
  50. 50. Complexity∝Clarity If scenarios are unclear then is time to rethink the feature
  51. 51. Complexity ∝ Clarity Takes more than 10 minutes to write
  52. 52. Complexity ∝ Clarity You read it the next day and have no clue what it means
  53. 53. Recipe Focus on what can be built in X days
  54. 54. Recipe One or two scenarios at most
  55. 55. Recipe Make sure you can implement it in XX amount of time (1 or 2 days)
  56. 56. Recipe Find the simplest scenario that provides value
  57. 57. Recipe Find the FACTS (metrics/speed) and use it to estimate
  58. 58. Recipe Improve and repeat
  59. 59. THANK YOU!
  60. 60. The Smartest tool for agile project management
  61. 61. @abarylko