Times are always changing in the IT industry and newer work methods like Agile were a wind of change that swept away dusty old practices in the way development and testing teams worked.
Keeping up to speed with this innovation is not always easy. In this article we take a look at how requirements management and testing evolved due to the pressures of Agile principles and their implementation in team projects.
The evolution of requirements documentation
Requirements used to be very limited and they lacked the exhaustive detail that characterised the documentation practices of the 2000’s. In fact, throughout most of the last decade, the norm was to write hefty documentations which included meticulous use cases that obsessively covered every possible situation.
Nowadays, the trend has shifted again towards briefer requirements documentation. In part, this is due to the widespread adoption of Agile, since in this methodology requirements are written in tandem with the development process.
Obviously, for high level requirements, a greater deal of collaboration is needed between the requirements writer and the product developer. Good communication between these two parties is essential for a clear definition of the finished product to emerge.
Documenting requirements the Agile way
Agile permits a wider variety of ways to document requirements and the final choice is up to the individual. The important point here isn’t which specific technique to be used but that agile principles are followed in every case, namely that it is a truly collaborative effort that draws information from multiple sources within the team.
Among the techniques you can use for requirements are the most popular user stories, use cases, normal text, sketches or prototypes.
Don’t bog yourself down with heavily detailed requirements before the actual product is in development. Chances are you’ll have to go back and edit your work to accommodate technical changes in the product or even scrap entire sections if the product owner decides to change course.
In short: keep it brief.
Stating the obvious
Very often you’ll come across obvious requirements that should be accounted for no matter the specifics of the project.
Consider these as the fundamentals over which the product will be built.
Through discussions and usability testing obvious requirements can be readily pinpoint. Having the right people to point them out however is something that needs more effort to ensure.
BONUS – Here are some obvious requirements you should look out for:
Agile: the serial-approach killer
Another important aspect to working with requirements and testing in Agile projects is that these are typically conducted in parallel, rather than the serial approach favoured in traditional methodologies.
By conducting different tasks simultaneously, your team can integrate feedback from one task to guide the development of the other and produce an end-result which is more tightly integrated and ‘organic’.
Requirements management isn’t just an activity that is done at the beginning of the project, but a process that extends throughout the development period. Likewise, testing doesn’t happen exclusively at the end of development but takes place whenever something new (and testable!) is added to the evolving product.
In summary, Agile has done much to redefine the way requirements and testing is carried out in a project.
Requirements are formulated and refined as development progresses.
Testing isn’t simply an excuse to find defects in the final product, but a process of continuous improvement that seeks to provide important feedback to the development team as they tinker with the 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.
Ulf’s goal is to life easier for everyone involved in testing and requirements management, and he works towards this goal in his role of Product Owner at ReQtest, where he strives to make ReQtest easy and logical for anyone to use, regardless of their technical knowledge or lack thereof.
The author of a number of white papers and articles, mostly on the world of software testing, Ulf is also slaving over a book, which will be compendium of his experiences in the industry. Ulf lives in Stockholm, Sweden.