Agile has been around for many years now with many organizations tailoring their agile approach in different ways that work best for them.
While it is important to have an agile model that fits / works best for an organization, there are certain aspects of agile that, if followed in a certain way consistently across any organization, would yield better results. One such aspect is user story creation and tracking which is the focus area of this blog.
What is a story?
Stories are a thin vertical slice of functionalities that when implemented provide incremental value to the customer. Story is the way to capture and communicate requirements within a time-boxed scrum style agile project.
The product owner is responsible for creating stories in a program backlog and also refining the stories into team’s backlog based on predefined priorities or a change in customer preference. Individuals in the team would create associated stories that are needed to deliver scope captured by the product owner. In Scaled Agile Framework for enterprise (SAFe) the stories created by product owners are referred to as user stories (ones that convey the requirements of the customer). The stories created by the team are referred to as enabler stories which convey the technical requirements to implement and deliver the scope within the user story in its entirety. Refactoring, research, prototyping etc. are some of the examples of enabler stories.
Importance of having a well-refined story:
I can’t stress enough the importance of having a well-refined story in an iterative, time-boxed project implementation, especially while estimating the relative story points during a sprint planning session. This effort helps teams negotiate the scope of the story with the product owner and helps product owners set the right delivery expectations with the stakeholders.
Story refinement best practices & effective backlog grooming:
A story moves up from the bottom to the top of the backlog until it is identified to be worked in the next immediate iteration. Now the details around the story should evolve as assumptions are called out and validated. The entire team should question the story as they strive to bring more clarity and organization into the units that represent value. A quality story will make the estimation more accurate. The outcome of all of this should be well-refined stories that identify volume, complexity, knowledge and uncertainties.
Effective Sprint Planning:
During Sprint Planning it is optional to decompose stories into subtasks. Here, I have seen our team effectively knocking out stories with good quality into production especially when effort is taken during sprint planning to flush out both technical & non-technical tasks related to the story.
Breaking down of stories into smaller subtasks enables the distribution of tasks among developers, preventing them from working in silos and driving them into making coordinated, informed decisions during the development phase.
Tracking Stories and Subtasks through Agile dashboard:
Agile dashboard helps product owners, project managers and the entire sprint team stay abreast of the slightest changes affecting the committed scope delivery. The dashboard tracks stories and subtasks as the team progress through the sprints. The subtasks move through different stages until they are done. A story can be moved to “Done” only after all subtasks associated with the story are complete. When a bug is identified as part of testing, a bug task can be created as part of the parent story. Like subtasks, the bug task will move through the different stages until fixed and retested. The dashboard captures every element of every story from creation to Done!
There are many ways of driving an agile project. I recommend making User Stories the foundation for your agile approach and monitoring your progress using your agile dashboard. To learn more about the Scaled Agile Framework visit http://www.scaledagileframework.com and discover the latest in Lead-Agile thinking. Find the approach that works for your organization and adapt to yield better results.