SOGETI UK BLOG

Transitioning to Agile is a little bit like landing on a different planet for testers used to working with a traditional approach. We have already discussed the main differences between Agile and traditional methods in previous articles, especially when it comes to test documentation.

Another major area where working agile is very different from old-school methods is in writing requirements for a project. In this article, I’ll go into the differences between the two approaches, the role of the tester in the team vis-à-vis requirements management, as well as a tip to rocket launch your work into Agile.

Getting up to speed with Agile

In traditional approaches, it is common to write most of the requirements for project at the very beginning, before there is any semblance of product to guide you. This method rests on your ability to accurately foresee the finished project in your mind and write requirements that cover all its aspects.

The approach described above fails most of the time because as the product develops, you learn more about the requirements needed. Existing requirements have to be extensively modified or scrapped completely to make way for newer ones. This is obviously a very wasteful method of work.

In Agile, requirements are written in parallel with the developing product. The two are inextricably linked in their progress, such that requirements arise organically from readily observable data obtained from the existing product instead of conjured out of thin air.

Linking requirements writing and product development is usually a product roadmap that charts the expected progress that will be covered during the project’s lifetime. Before every new sprint, the product owner will normally select the requirements that must be implemented in that iteration and these are documented in enough detail so that they can be put into practice.

This agile method of documentation is known as ‘just-in-time commitment’, and is based on the principle that the requirements and the product must develop hand-in-hand over the course of a project.

The testers’ contribution to the team

Agile projects require greater interaction between team members; testers are involved in gathering and documenting requirements.

Their involvement is very valuable to any discussion surrounding requirements. The end-result of this synergistic approach to requirements writing is higher quality products that benefit from the combined skills and knowledge of multiple team members. At ReQtest, we elicit requirements at our daily meetings and during workshops with our clients.

The testers’ role in agile work goes beyond simply testing. They should also be on board while the requirements are being reviewed during the planning phase. The testers’ input can be useful to ensure that requirements are testable from an early stage and that you hit your development targets on time.

Image: qareacts.tumbr.com

Introducing testers to other departments increases their understanding of customers’ overall needs and enables them to become fluent in areas beyond their specialisation. This input can be invaluable during design discussions; thanks to a diversity of perspectives, greater innovation is possible within the team.

Putting it into practice

User stories are a popular way to document requirements for a project. These are short (invented) accounts of user experiences with the finished product. The relevant documentation can then be prepared understanding the specific requirement evoked by the story.

This system of requirements documentation is quicker than traditional methods and stimulates into the team’s imagination alongside their analytic skills. To create accurate user stories, more communication is needed within the team and with the customer. A user story is a “promise for communication”. It is very short and its details have to be further discussed within the development team to get a clear picture.

This can be achieved by cultivating an atmosphere of collaboration among the team members, rather than segregation, encouraging them to learn from each other and bring new perspectives to their specialised knowledge for the greater good of the team and the final product.

About the author

Ulf Eriksson is one of the founders of ReQtest, an online bug tracking software hand-built and developed in Sweden. ReQtest is the culmination of Ulf’s decades of work in development and testing. Ulf is a huge fan of Agile and counts himself as an early adopter of the philosophy, which he has abided to for a number of years in his professional life as well as in private.

AUTHOR:

Posted in: Agile, Collaboration, communication, project management, user stories      
Comments: 0
Tags: , , , , , , , , , , ,