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.
User Stories<br />Agile Software Development<br />
Topics<br />Objectives<br />Brief History – Motivation<br />Process Overview<br />A User Story<br />Writing Stories<br />M...
Objectives<br />Discuss agile software development practices, with 30% focus on user stories<br />
Brief History - Motivation<br />
Brief History - Motivation<br />g * Software<br />Number of Feature<br />m*t<br /> where <br />t   is proportional to  n*R...
Process Overview<br />Daily Standup<br />Customer + Dev Team<br />Story Workshop, Conversations, etc<br />Customer Team<br...
A User Story<br />3 parts<br />Planning placeholder & reminder<br />Notes from conversations<br />Tests<br />Not system’s ...
User Story – Planning Placeholder & Reminder<br />Taskboard & Release/Sprint Planning<br />(VersionOne*)<br />Card Walls &...
Notes from conversations<br />E.g.<br />	Customer Service can search for orders so that they can quickly access the custom...
Tests<br />Conveys to developers additional information <br />Developers get an idea if they are done<br />Treat as specif...
Tests – Specification/Test Collaboration Framework<br />
Questions<br />What are the 3 parts of a user story?<br />
Writing Stories<br />Form and function<br />Attributes INVEST<br />Trawling<br />Stories Smell<br />
Writing User Stories - Form and function<br />The role, goal and motivation.<br />&lt;role’s&gt; wants to do &lt;goal&gt; ...
Writing User Stories - INVEST<br />E.g. of non-independent story :<br />Customer can pay for basket items using iPay88 pay...
Writing User Stories – INVEST <br />Too much detail such that the extra details is associated to extra precision – always ...
Writing User Stories - INVEST<br />Estimatable<br />3 reasons for wrong estimation<br />Story is too big<br />Developers l...
Split to
Experiment within a specific time with the objectives of estimation - Spikes
Story to do the actual work</li></li></ul><li>Writing User Stories - INVEST<br />
Writing User Stories - INVEST<br />
Writing User Stories - Responsibilities<br />Customer Team : Responsible for writing stories, keeping in mind INVEST<br />...
Writing User Stories - Trawling for Requirements<br />User stories workshop, interviews ( open ended and context free ques...
Writing User Stories - Trawling for Requirements<br />Higher Fidelity Prototype<br />Low Fidelity Prototype<br />Returns/E...
Story Smell Catalogues<br />Stories are too small<br />Interdependent Stories<br />Goldplating<br />Too many details<br />...
Questions<br />What does INVEST stands for?<br />Who constitute the Customer team?<br />What are the tools available for t...
Managing<br />
Managing - Planning<br />Too many variables, too far ahead and replanning with better information not planned for <br /> 7...
Managing – Planning.Estimating<br />Establish definition of story points<br />Velocity = (Story Points Completed)/Sprint<b...
Managing – Planning.Estimating<br />
Managing – Cost.Resource<br />Developers are not Codys<br />
Managing – Planning.Release<br />Two areas<br />Features/Stories<br />Prioritization : MoSCow<br />Time <br />Iteration Le...
Managing – Planning.Sprint<br />Discuss a stories<br />For each stories disaggregate into tasks<br />Small enough to be ac...
Managing - Controls<br />Release<br />Burndown charts – sprint (x-axis)<br />Sprint<br />Daily burndown charts – day (x-ax...
Managing - Rules of the Game<br />No changes to during a sprint<br />Customer stay involves all the time<br />
User Stories<br />Not<br />IEEE 830 <br />Use cases – sized to deliver business value, “level of detail”<br />Why<br />Emp...
Team Practices<br />Start off with simple design, but expect changes <br />Refactoring ( and consequently test ) is import...
Questions<br />What are the tools used in estimation?<br />What is done in Release Planning?<br />What are the tools used ...
The Journey<br />
The Journey - Build<br />
The Journey - Communication<br />
Summary<br />	You can’t do agile you just have to be agile<br />
Upcoming SlideShare
Loading in …5
×

Agile User Stories

6,709 views

Published on

  • Be the first to comment

Agile User Stories

  1. 1. User Stories<br />Agile Software Development<br />
  2. 2. Topics<br />Objectives<br />Brief History – Motivation<br />Process Overview<br />A User Story<br />Writing Stories<br />Managing<br />Development Practices<br />The Journey<br />Summary<br />
  3. 3. Objectives<br />Discuss agile software development practices, with 30% focus on user stories<br />
  4. 4. Brief History - Motivation<br />
  5. 5. Brief History - Motivation<br />g * Software<br />Number of Feature<br />m*t<br /> where <br />t is proportional to n*RequirementComplexity + b*DesignComplexity + Code + y*Feedback<br /><ul><li>– number of iteration</li></ul>t- iteration size<br />g – Measure of usefulness, goodness<br />
  6. 6. Process Overview<br />Daily Standup<br />Customer + Dev Team<br />Story Workshop, Conversations, etc<br />Customer Team<br />I-Meet<br />Customer + Dev Team<br />Prioritize stories, estimate velocity<br />R-Meet<br />Customer + Dev Team<br />Prioritize stories, estimate<br />
  7. 7. A User Story<br />3 parts<br />Planning placeholder & reminder<br />Notes from conversations<br />Tests<br />Not system’s point of view<br />
  8. 8. User Story – Planning Placeholder & Reminder<br />Taskboard & Release/Sprint Planning<br />(VersionOne*)<br />Card Walls & Release/Sprint Planning<br />(Mingle*)<br />*Mingle is a trademark of Thoughtworks<br />*VersionOne is a trademark of VersionOne<br />
  9. 9. Notes from conversations<br />E.g.<br /> Customer Service can search for orders so that they can quickly access the customer’s order when customer calls in to make changes to the delivery address<br />Notes : Zie says always show customer name, order reference number, order date. <br />
  10. 10. Tests<br />Conveys to developers additional information <br />Developers get an idea if they are done<br />Treat as specification<br />
  11. 11. Tests – Specification/Test Collaboration Framework<br />
  12. 12. Questions<br />What are the 3 parts of a user story?<br />
  13. 13. Writing Stories<br />Form and function<br />Attributes INVEST<br />Trawling<br />Stories Smell<br />
  14. 14. Writing User Stories - Form and function<br />The role, goal and motivation.<br />&lt;role’s&gt; wants to do &lt;goal&gt; because &lt;motivation&gt;<br />Example : As an account holder, I want to transfer funds between two of my accounts so that I can maximize the performance of my savings and avoid any fees associated with overdrafts and minimum balance rules.<br />
  15. 15. Writing User Stories - INVEST<br />E.g. of non-independent story :<br />Customer can pay for basket items using iPay88 payment gateway<br />Customer can pay for basket items using WorldPay payment gateway<br />Possible Solutions:<br />Combine both<br />If combining both is too large – split out the base work: <br />Customer can pay with one type of payment gateway<br />Customer can pay with two additional types of payment gateway<br />
  16. 16. Writing User Stories – INVEST <br />Too much detail such that the extra details is associated to extra precision – always negotiable<br />Valuable to Users<br />User easily understands : Test with Credit Card, Debit Card and Cheque<br />User cannot understand : Test that Payment table contains the authorization id for credit card<br />Acceptable to indicate non-functional requirements like : This feature is expected to be used by 200 users concurrently and at any one time 200 payment records can be shown quickly, may be in 2s.<br />
  17. 17. Writing User Stories - INVEST<br />Estimatable<br />3 reasons for wrong estimation<br />Story is too big<br />Developers lack domain knowledge<br />Developers lack technical knowledge<br /><ul><li>Large stories/epic simply a large value if not the focus other break it
  18. 18. Split to
  19. 19. Experiment within a specific time with the objectives of estimation - Spikes
  20. 20. Story to do the actual work</li></li></ul><li>Writing User Stories - INVEST<br />
  21. 21. Writing User Stories - INVEST<br />
  22. 22. Writing User Stories - Responsibilities<br />Customer Team : Responsible for writing stories, keeping in mind INVEST<br />Developer : Help customer write stories which lack details, do not assume and always have conversation but have it at the point when supporting information is available<br />
  23. 23. Writing User Stories - Trawling for Requirements<br />User stories workshop, interviews ( open ended and context free questions ) , observation & questionnaire<br />Role Modeling, Personas , Extreme characters<br />
  24. 24. Writing User Stories - Trawling for Requirements<br />Higher Fidelity Prototype<br />Low Fidelity Prototype<br />Returns/Exchange<br />Status<br />Delivery Input<br />Return Details<br />Refund Details<br />(Based on Payment)<br />
  25. 25. Story Smell Catalogues<br />Stories are too small<br />Interdependent Stories<br />Goldplating<br />Too many details<br />Including user interface details too soon<br />Thinking too far ahead<br />Splitting too many stories<br />Customer has trouble prioritizing<br />Customer won’t write and prioritize stories<br />
  26. 26. Questions<br />What does INVEST stands for?<br />Who constitute the Customer team?<br />What are the tools available for trawling for requirements?<br />
  27. 27. Managing<br />
  28. 28. Managing - Planning<br />Too many variables, too far ahead and replanning with better information not planned for <br /> 75% of all US IT projects are considered to be failures by those responsible for initiating them. <br />Half of the projects exceeded budget by 200%<br />31% of projects were cancelled outright <br />53% of the all projects was so worrying that they were challenged.<br />
  29. 29. Managing – Planning.Estimating<br />Establish definition of story points<br />Velocity = (Story Points Completed)/Sprint<br />Previous velocity can be used to estimate<br />Tools : <br />Estimating : Tasks, Triangulating with Card Wall, Planning Poker<br />
  30. 30. Managing – Planning.Estimating<br />
  31. 31. Managing – Cost.Resource<br />Developers are not Codys<br />
  32. 32. Managing – Planning.Release<br />Two areas<br />Features/Stories<br />Prioritization : MoSCow<br />Time <br />Iteration Length<br />Time to complete - Product Roadmap<br />Move from story points to expected duration<br />Product will be ready for release in approximately 5-7 iteration<br />
  33. 33. Managing – Planning.Sprint<br />Discuss a stories<br />For each stories disaggregate into tasks<br />Small enough to be accurate<br />Developer accepts responsibility for each task<br />Individually ensures estimate<br />What! No task for upfront design?<br />
  34. 34. Managing - Controls<br />Release<br />Burndown charts – sprint (x-axis)<br />Sprint<br />Daily burndown charts – day (x-axis)<br />Daily<br />NotStarted,InProgress,Completed - Cardwalls<br />Standup<br />
  35. 35. Managing - Rules of the Game<br />No changes to during a sprint<br />Customer stay involves all the time<br />
  36. 36. User Stories<br />Not<br />IEEE 830 <br />Use cases – sized to deliver business value, “level of detail”<br />Why<br />Emphasize of quick chat<br />Comprehensible by everyone<br />Right size for planning<br />Works for iterative development<br />Defer details to a right point in time<br />Support opportunistic design<br />Encourages participatory design<br />Build up tacit knowledge<br />Stories may not be good<br />ISO 9001 companies – Will have an issue with tear up stories <br />
  37. 37. Team Practices<br />Start off with simple design, but expect changes <br />Refactoring ( and consequently test ) is important<br />Test Automation is crucial<br />Architecture, UML, use cases and agile software development<br />Middle out<br />
  38. 38. Questions<br />What are the tools used in estimation?<br />What is done in Release Planning?<br />What are the tools used in Release Planning?<br />Completion vs Number of Stories Points – which is preferred?<br />Name the Team Practices.<br />How do you deal with unplanned tasks?<br />
  39. 39. The Journey<br />
  40. 40. The Journey - Build<br />
  41. 41. The Journey - Communication<br />
  42. 42. Summary<br /> You can’t do agile you just have to be agile<br />
  43. 43. Q&A<br />
  44. 44. Reference<br />User Stories Applied for Agile Software Development – Mike Cohn – Addison Wesley<br />http://www.thoughtworks.com/what-we-say/presentations/AgileMadeUsBetter.pdf<br />Behavior Driven Development - Scott Belware - http://www.code-magazine.com/articleprint.aspx?quickid=0805061&printmode=true<br />

×