31 Aug 2010 - 9
Template of task breakdown for a user story
- Design for the story – This task is specifically for white boarding or group discussion on how story will be implemented.
- Implementation of the story – This task could include defining the interface and methods needed to fulfill the story. There can be multiple tasks for this type.
- Write unit tests (TDD) – I encourage and enforce teams to write code using Test Driven Development (TDD). For any coding story this task is mandatory.
- Write Acceptance tests – This task is used to write the automated acceptance tests that will help with the story acceptance.
- Non functional requirements (NFR’s) – For each story, quality attributes like security, performance, usability, testability, maintainability, extensibility and scalability must be considered.
- Code Review – As a rule, every piece of code delivered to mainline repository should be peer reviewed.
- Code Re-factor – Beautifying the code by restructuring. This task should be included for each story to avoid a complex mesh of code later.
- Mock interfaces – At times, development can take a while to produce real implementations of the interface. In such cases, mock interfaces must be provided to help QA engineers with a head start.
- Exploratory testing -Perform Ad-hoc testing for the story. This could include performance testing, scalability testing, etc.
- Bug fixes – Depending on the story, appropriate time should be devoted for bug fixes
- Bug verification – Depending on the story, appropriate time should be devoted for bug verification
- Demo – Internal demo of the story within the team. I like to add this task as it helps Scrum team members to be on the same page. After the daily standup, if a story is complete members can take few minutes and educate others on the implementation of the story.
- Update Wiki or document repository with the design and findings of the story
- End user documentation – This is for updating the reference guide, Install document, etc, if applicable.