This article uses two opposing examples to illustrate how product development with Agile results in a relevant product that is launched in a timely fashion.
Join the DZone community and get the full member experience.Join For Free
You've been hearing a lot about agile software development, get started with the eBook: Agile Product Development from 321 Gang.
Backlog refinement (sometimes referred as grooming) is a very important and essential part of agile methodology. This is the only meeting in which teams get to know about the requirements to be worked upon and get all their queries clarified by product owner. Once all the requirements have been discussed and agreed upon, stories are moved to an approved state to commit to sprints. It seems a very simple process where the product owner discusses the requirements and clarifies all the questions asked by the team. Does this simple process of discussion and clarification make a team completely agile?
Teams recently started working on agile and know that there are mainly five ceremonies in Scrum: backlog refinement, planning, daily stand-up, demo, and retrospective. Agile teams know that refinement meetings provides them the work to commit and they expect complete functionality documents created and well-divided in the form of stories before getting into work. One aspect of thinking is correct and one is not. Teams should expect the requirements to be broken up in the form of stories, but it is impossible for stakeholders to provide them the complete requirement document as agile does not support this approach. Let’s discuss the "why."
As an example, assume there is an idea with Company XYZ that it wanted to be implemented and introduced first in the market. Introducing the product first in the market gives their company a profit margin of 200%. Company XYZ has its own robust market research team in place to cater the market need. An SOW has been signed with a service provider company to develop the product which will take almost 2 years to complete with no changes accepted in between. Until the time it gets developed and introduced, the idea might get out of market or old due to some other better product launched by Company ABC. Hence, the time and money consumed to develop the product gets wasted and Company XYZ might be at a loss.
Aspect 2: Until now, Company XYZ has only an idea with very few details about the actual product to be developed. To reduce the time and money consumed, Company XYZ decided the project should be developed in agile methodology, which accepts changes in between the development. They can provide more information on the requirements as their market research team provides them the inputs of the market needs.
Service Provider Company has created their team to work upon the particular project and is asking for requirements to work upon. Company XYZ agreed to provide initial inputs to start working and internal meeting is scheduled. In the internal meeting, Company XYZ, which includes the market research team, discussed the requirement till date to be developed by service Provider Company. They documented the requirements in the form of Investments/Initiatives and Epics are created for those. Company XYZ is prepared with their initial plan and requested Service Provider Company to schedule backlog refinement meeting.
Backlog refinement meeting is held between XYZ and service providers for the understanding of requirements and independent stories to be created on the basis of epics. Sprints starts for Service Provider Company to start working on the stories created as per capacity available for the sprint (assuming all the infrastructure and architecture is in place). This sprint is a two-week timeframe. After two weeks, XYZ Company will get a piece of working software. Meanwhile, the market research team gets new user needs. In the next backlog refinement meeting, XYZ and service provider companies discuss about the development of new requirements and how to integrate the functionality created in previous sprint.
This complete cycle of getting the requirements continues sprint by sprint until theproduct is complete. Changes are also accepted in between and incorporated in the form of new user stories. In this way the product which is launched in the market is up to date and as per current market requirements.
Opinions expressed by DZone contributors are their own.