Charuta Phansalkar writes on the necessity of capturing and understanding requirements using agile practices. Agile, when implemented effectively, will ensure that the customer's voice is clearly understood throughout the project, which results in maximum customer satisfaction.
A lot has been said and discussed about the challenges faced by Scrum teams to manage the expectations of product managers on their journey to build great products. Many product owners and ScrumMasters find that there is a lack of guidelines and tools available to effectively facilitate the requirements handshake between business and technical teams. There also can be challenges when dealing with version control requirements along with providing the history and traceability that are often a must-have.
There is a constant struggle between the product owners and Scrum teams to establish, at a granular level, the requirements and user stories. Typically, product owners are busy with outbound or operational activities, such as conducting customer demos, attending events, supporting sales activities, and collecting user feedback post implementation.
Meanwhile, Scrum teams are involved in activities like designing, implementing, and releasing the user stories planned in their sprints. So, how do these parties meet and exchange thoughts over the requirements? How can the product owner be sure that the Scrum team has understood the requirements in its entirety and is on the right path for development?
Product owners play the role of representing the customer. They should have a clear idea of what customer needs and expects. On the other hand, the Scrum team members come from a technical background and they should understand the technical intricacies of implementing a story. So, how do these two parties work together in harmony to provide the optimum solution to the customer?
Here is where ScrumMaster comes into the picture. This person is responsible for ensuring that the Scrum team gets all inputs from the product owner. The ScrumMaster's real challenge is in implementing processes and best practices so that there is a constant flow of well-scoped, meaningful, well-prioritized user stories, from the product owner to the Scrum team. This is tricky business for the ScrumMaster who needs to communicate these user stories at a granular level, which are executable within a sprint.
Effective and painless agile requirements management begins with the product owner creating a simple story and passing it along to the Scrum team. The Scrum team then either comes back with queries around that story or a story point estimate. On obtaining clarification on all queries and after receiving development estimates, the product owner prioritizes the various stories. Further fragmentation of stories is advisable so that functional implementation of stories with higher business value can precede those of lower business value.
The ScrumMaster plays a crucial role in balancing the act of requirements management between the product owner and Scrum team. During this process the product owner focuses on delivering the following items. First, an elaboration of the product backlog, which includes identifying and clarifying the user stories. Next, this backlog of clearly identified user stories is passed to the Scrum team to provide estimates on delivering the aforementioned user stories. Thirdly, the product owner prioritizes the user stories, typically focusing on getting the more complex or significant (based on business value and customer expectations) user stories completed first. The end result is the creation of the product backlog.
Product and estimation backlogs can be well managed via Scrum boards, in which a filtered product backlog is available for sprint planning and estimation. However, if there is constant or frequent changing of requirements and feedback from customers (like in a help desk scenario), a kanban (or scrumban) board would be more appropriate as it allows for more freedom and flexibility within the workflow.
It is critical to understand that the process of prioritizing requirements or subsequent user stories are driven by factors like ROI and the total effort and cost required for product completion. The fool-proof calculation of these two factors leads to an impeccable business value for every user story. This assists the product owner in prioritizing user stories more effectively and in inline with the goals of the organization and customer, resulting in a win-win situation.
But how can these backlogs of user stories, estimations, prioritization, and development progress all be tracked on a scrum board throughout the sprint?
Agile has an answer for this.