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.

One day Course On Agile

369 views

Published on

A short one day course on Agile and Scrum (User Story Estimation and Planning)

Published in: Technology
  • Be the first to comment

  • Be the first to like this

One day Course On Agile

  1. 1. • • • • • • • • • • • • • • • •
  2. 2. Effective scrum teams – James Whitehead
  3. 3. Effective scrum teams – James Whitehead
  4. 4. Agile is Agile Is Not Scrum is Scrum Is Not
  5. 5. • • •
  6. 6. • • • • • • • •
  7. 7. Effective scrum teams – James Whitehead
  8. 8. • • • • • • • • •
  9. 9.
  10. 10. • • •
  11. 11. Putting It into Practice in their context or environment…..
  12. 12. Predictive Aim Fire! Empirical Aim Fire Aim! Vs
  13. 13. • •
  14. 14. • • • • • • • • •
  15. 15. Effective scrum teams – James Whitehead
  16. 16. • • •
  17. 17. • • • •
  18. 18. Manages Stakeholders and interests Presents Product/Project View Accepts or rejects work results Works with scrum team in refining backlog Prioritises work at project and sprint level Works with business/customer to determine what will make up project backlog Is responsible for Return on Investment of project Attends planning sessions, reviews and daily scrums
  19. 19. • • • • • • • •
  20. 20. • • • • • • • • •
  21. 21. Do whatever is needed to meet the goals of the SprintWork Product backlog in anticipation of next sprint Ensure work is delivered in priority order Take ownership of tasks in sprint Communicate with each other and product owner Break down Sprint work into tasks Provide Estimates
  22. 22. Functional Manager(s) Scrum Master Product Owner Scrum Team Project Manager Ensure consistency of scrum practices across teams I C C I R/A Provide vision and goal for the product I I R/A I I Provide resource with right skills and mindset R/A I I C/I C Prioritise and manage the product backlog I F R/A C F Remove impediments R R R/A R R Manage the implementation of the project plan I I C C R/A Make sure scrum practices are used and improved within the team RI R/A C R F Create, apply and continuously improve the Definition of Done C F R R/A F On time reporting to management I F R/A I F Define acceptance criteria I F R/A C F Write acceptance tests I F C R/A F Ensure quality of the product R R R/A R R Manage Risks C C R/A C R Approve user stories (user stories meet the acceptance criteria) I F R/A C F Decide on release date and goal I I R/A I I
  23. 23. 1. 2.
  24. 24. • Is Responsible For… Is not responsible for Should have the following characteristics….. Should not have the following characteristics……..
  25. 25. Vision Aim of the project with and owner Vision Product Backlog Sprint Backlog Sprint Planning Meeting Review Product Backlog Estimate Sprint Backlog Commit to Timeframe S P R I N T 30 days 24 hrs Product Backlog Session Daily Scrum Meeting Done since last time Plan for today Barriers? Sprint Review Meeting and Sprint Retrospective Demo features to all Retrospect on progress Release Planning Meeting Product Backlog Prioritised features Desired by customer Burndown Chart Potentially Deployable Increment Backlog tasks expanded by the team
  26. 26. • • • • •
  27. 27. • • • • • •
  28. 28. • • • • • • • • •
  29. 29. • • • • • • • • • •
  30. 30. • • • • • • •
  31. 31. •Specifications will never be fully understood.Ziv’s Law •The user will never know what they want until the system is in production (and maybe not even then). Humphrey’s Law •Software evolves more rapidly as it approaches chaotic regions. Langdon’s Lemma •An interactive system can never be fully specified or tested Wegner’s Lemma •Organisations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations Conway’s Law
  32. 32. Effective scrum teams – James Whitehead
  33. 33. • •
  34. 34. • • •
  35. 35. • • • • • • • • • •
  36. 36. • • • • • • • • • • • • • • • • • • • • • • • • • • • •
  37. 37. • • •
  38. 38. • • • • • • • • • • •
  39. 39. • • • • • •
  40. 40. • • • •
  41. 41. • • • • • •
  42. 42. • • • • •
  43. 43. • • • •
  44. 44. • • • • • • • • • •
  45. 45. • • • • • • •
  46. 46. • • • •
  47. 47. • • • • • • • • • • • • HTTP://JENKINS-CI.ORG • HTTP://COBERTURA.SOURCEFORGE.NET/
  48. 48. • • • • • • • • • •
  49. 49. • • • • • •
  50. 50. • • • • • • • •
  51. 51. Effective scrum teams – James Whitehead
  52. 52. Effective scrum teams – James Whitehead
  53. 53. • • • • • • • •
  54. 54. • • • • • • • • • •
  55. 55. • • • • Subject to interpretation
  56. 56. As a course attendee I want Writing Good Stories Title Reserved for priorityPerspective To know how to write good user stories so that I can submit cards to the planning game that are clear and will be accepted to the next sprint Author Date Reserved for estimate Bob 08/05/15 Conversation starterConversation starter Reason Requirements WhyWhy WhatWhat WhoWho Good short titleGood short title
  57. 57. As a course attendee I want Writing Good Stories Title Reserved for priorityPerspective To know how to write good user stories so that I can submit cards to the planning game that are clear and will be accepted to the next sprint Author Date Reserved for estimate Bob 08/05/15 Conversation starterConversation starter Reason Requirements WhyWhy WhatWhat WhoWho Good short titleGood short title
  58. 58. • • • • • •
  59. 59. "As a reader of this presentation, I want to understand how to write so I can be competent in putting them together The visitor can enter a valid email to the subscribe form The visitor cannot submit the form without entering a valid email After submission, the visitor should see a "thank you" message on the top of the screen
  60. 60. User Story.. "As a reader of a blog post, I want to subscribe to a newsletter so I can follow the blog" Acceptance Criteria… The visitor can enter a valid email to the subscribe form The visitor cannot submit the form without entering a valid email After submission, the visitor should see a "thank you" message on the top of the screen
  61. 61. As a user of the library catalogue, I want advanced search options on the front page so that I can quickly and easily refine my search. I can limit the search by format/type. I can delineate the search by date range. I can limit the search to publisher information such as title, author, subject, place, publisher and call number. I can restrict the search to a particular website/catalogue, collection. I can find advanced search options – advanced search options are carried through as filters to search results page. I can filter by availability.
  62. 62. Students can purchase monthly parking passes online. Parking passes can be paid via credit cards. Parking passes can be paid via PayPal. Professors can input student marks. Students can obtain their current seminar schedule. Students can order official transcripts. Students can only enrol in seminars for which they have prerequisites. Transcripts will be available online via a standard browser.
  63. 63. • As a xxxxx I want xxx so that xxxx As a xxxxx I want xxx so that xxxx As a xxxxx I want xxx so that xxxx As a xxxxx I want xxx so that xxxx As a xxxxx I want xxx so that xxxx As a xxxxx I want xxx so that xxxx
  64. 64. How long is this going to take? - 1 day ? - 1 week? - Forever?
  65. 65. How long is this going to take? - 1 day ? - 1 week? - Forever? Estimates are not time based but relative to each other
  66. 66. • • • • #1 #2
  67. 67. • • • DECIDE ON THE BUCKETS OF COMPLEXITY • DISCUSS THE STORY IN EACH BUCKET LIGHT, MEDIUM, HIGH OR COMPLEX • ADD UP THE POINTS
  68. 68. User Interface Business Logic Data/Integration Testing L = 1 L = 1 L = 1 L = 1 M = 2 M = 2 M = 2 M = 2 H = 3 H = 3 H = 3 H = 3 C = 4 C = 4 C = 4 C = 4 Helpful Considerations Helpful Considerations Helpful Considerations Helpful Considerations - number of screen fields? - number of business rules? - number of data stores - user testing complexity - Screen validation logic? - business rules complexity - complexity of Stored procedures/triggers - data setup complexity for each test pack - number of screens? - number of tables/relationships - test automation complexity 1 2 3 5 8 13 21 Example As a customer, I want to browse the list of products so that I view the details. User interface: M = 2 Business Logic: N/A Data: L = 1 Testing: L = 1 Total is 4 points, which is between 3 and 5, team decide on 3.
  69. 69. • • • • • • • •
  70. 70. • • • • • • •
  71. 71. • • • • • • • •
  72. 72. • • • • • • • •
  73. 73. Letter Meaning Description I Independent The user story should be self-contained, in a way that there is no inherent dependency on another user story. N Negotiable User stories, up until they are part of a sprint, can always be changed and rewritten. V Valuable A user story must deliver value to the business E Estimable You must always be able to estimate the size of a user story. S Sized appropriately or Small User stories should not be so big as to become impossible to plan/task/prioritize with a certain level of certainty. T Testable The user story or its related description must provide the necessary information to make testing of the development possible. The INVEST mnemonic was created by Bill Wake as a reminder of the characteristics of a good quality user story, as may be used in a Scrum backlog.
  74. 74.
  75. 75.
  76. 76. • • • •
  77. 77. • • •
  78. 78. • •
  79. 79. • • •
  80. 80. • •
  81. 81.
  82. 82. • • •
  83. 83. LET'S LOOK AT AN EXAMPLE OF A COMMON PIECE OF WORK THAT CAN OFTEN BE REPRESENTED AS A THEME – ‘PERFORMANCE TUNING’. IMPROVING THE PERFORMANCE OF A SPECIFIC FEATURE OF AN APPLICATION OFTEN INVOLVES MAKING MANY SMALL IMPROVEMENTS TOWARD THE END GOAL OF A SIGNIFICANT PERFORMANCE IMPROVEMENT. FOR EXAMPLE, IMAGINE THAT YOUR APPLICATION INCLUDES A REPORT TO DISPLAY THE TOTAL SALES NUMBERS PER SALESPERSON. THESE NUMBERS MAY BE CALCULATED AS OF THE PREVIOUS DAY. THIS CAN BE A TIME-CONSUMING REPORT TO EXECUTE, AND AS A RESULT THE ENTIRE APPLICATION TENDS TO HANG FOR SEVERAL SECONDS EACH TIME A USER RUNS IT. THERE MAY BE SEVERAL THINGS WE CAN DO TO IMPROVE THIS REPORT, THINGS THAT ARE CAPTURED BELOW AS STORIES:
  84. 84. 1. AS A SALESPERSON, I'D LIKE FOR THE UI OF THE APPLICATION TO REMAIN RESPONSIVE WHILE THE REPORT IS LOADING, SO I CAN CANCEL THE REPORT IF DESIRED. 2. AS A DEVELOPER, I'D LIKE TO PRE-AGGREGATE AND CACHE THE SALES NUMBERS AS OF THE PREVIOUS DAY, SO THEY DO NOT NEED TO BE RECALCULATED EACH TIME THE REPORT IS RUN. 3. AS A DEVELOPER, I'D LIKE TO GENERATE THE HTML TABLE CONTAINING THE SALES NUMBERS ON THE SERVER AND SEND IT PRE-RENDERED TO THE CLIENT, SO IT NO LONGER HAS TO BE RENDERED BY JAVASCRIPT ON THE CLIENT.
  85. 85. • •
  86. 86. EACH OF THESE STORIES HAS THE POTENTIAL TO IMPROVE THE PERFORMANCE OF THE REPORT. HOWEVER, WHILE EACH STORY CONTRIBUTES TO THE SAME OVERARCHING GOAL, THEY DO NOT NEED TO BE COMPLETED IN A SPECIFIC ORDER. FURTHERMORE, EACH STORY COULD BE DELIVERED INDEPENDENTLY FROM THE OTHERS AND STILL PROVIDE SOME MEASURABLE BENEFIT TO THE END USER. FOR THESE REASONS, THESE STORIES ARE BEST GROUPED INTO A THEME RATHER THAN AN EPIC. GROUPING THESE STORIES BY THEME ALLOWS US TO SEE THE BROADER GOAL THAT EACH STORY CONTRIBUTES TO WITHOUT FORCING US TO APPROACH THE STORIES IN A SPECIFIC ORDER. ALSO, GROUPING THE STORIES AS A THEME ALSO NEGATES THE NEED TO HOLD DELIVERY OF THE ENTIRE GROUP UNTIL EACH STORY IS COMPLETE. THIS GIVES US MORE FLEXIBILITY IN SCHEDULING AND PLANNING AS WELL AS IN OUR ABILITY TO ADD AND REMOVE STORIES AS THE SHAPE OF THE BACKLOG CHANGES.
  87. 87. • • •
  88. 88. • • •
  89. 89.
  90. 90. Has too many dependencies on other stories You could negotiate on parts of the story Clearly there is business value here avoids spending on campaigns and maximises investment in good campaigns Can you really size this properly. This story is very large and not small at all There are so many test here on data and output to get testing into shape is complex and time consuming
  91. 91. • •
  92. 92. • • •
  93. 93. • • • • • •
  94. 94. • • • • •
  95. 95. • • • • •
  96. 96. • • • • •
  97. 97. • • • • •
  98. 98. • • • •
  99. 99. • • • •
  100. 100. • • • • •
  101. 101. • • • •
  102. 102. • • • • • •
  103. 103. • • • • •
  104. 104. Data Expected Result Expected Message Aa9ab$ Fail Too Short AAbbCC11 Fail No Special Characters $$$bbb111 Fail No Upper Case AAA%% Fail No Lower Case AAAA%%%%bb bbb Fail No numbers IsThis$AGood11 Pass
  105. 105. Product Backlog Release Backlog Sprint Backlog Might have an initial estimate (perhaps both analysis and development and an expression of technical and business confidence that this is real and achievable As a __, I want to be able to __ so that __ As a __, I want to be able to __ so that __ More detailed estimate and a specific acceptance test – low confidence stories might be spiked or prototyped I will know this is done when _____ As a __, I want to be able to __ so that __ I will know this is done when _____ To do this I must 1) ______ 2) ______ Business Goal Possible automation of the acceptance test Development team breaks out the detail of work needed to pass test
  106. 106. Effective scrum teams – James Whitehead
  107. 107. Effective scrum teams – James Whitehead
  108. 108. 0 5 10 15 20 25 30 35 40 45 1 2 3 4 5 6 7 8 9 Velocity Sprints Last Observation = 42 Mean = 38 Mean (worst 3) = 35
  109. 109. • • • • • • •
  110. 110. • • • • • • • • •
  111. 111. • Release Plan Sprint 1 •User Story 1 •User Story 2 Sprint 2 •User Story 5 •User Story 3 Sprint 3-6 •User Story 4 •User Story 6
  112. 112. • • • • • • •
  113. 113. Effective scrum teams – James Whitehead
  114. 114. Product Backlog Team Capabilities Business Conditions Retrospective Previous Product Increment Part 1 Part 2 5% of the Sprint: Time Boxed PO TM SM Explain Goal, Vision & Backlog Items Design, Plan & Commit to work Facilitate & Timebox WHY HOW ALL Next Sprint Goal Product Backlog Sprint Backlog
  115. 115. • • • • • • • • •
  116. 116. • • • • •
  117. 117. Effective scrum teams – James Whitehead
  118. 118. • • • • • Effective scrum teams – James Whitehead
  119. 119. • • • • Show and Tell
  120. 120. • • • • • • •
  121. 121. • •
  122. 122.
  123. 123. • • • • • • •
  124. 124. Excel/Trello Visual Studio Online
  125. 125. Effective scrum teams – James Whitehead
  126. 126. • • • • • • •

×