The common wisdom is that Agile register requirements using the user stories format: “”As a , I want <goal/desire> so that “. In this article, Earl Beede explains why user stories are not requirements.
Agile doesn’t use the traditional requirements techniques because it tries to avoid doing work that will be wasted as users might change their needs during the evolution of the project. Earl Beede reminds that requirements come in two parts: functional and non-functional. Most requirements focuses on the functional part and the article says that the user story is “a reasonably good approximation-some may argue a substitution-for the functional part of a requirement.” But they are incomplete as the non-functional parts of a requirement are harder than functional parts to capture and define. Agile does however use the acceptance criteria to define the non-functional part before developing a user story. Thus Agile has a way to capture complete requirements with association of the two items: the user story and acceptance criteria.
Modern software development approaches like Agile and Scrum support a strong collaboration between all member of the software development team, software testers and business analysts included. Even if you don’t use a method like Behavior-Driven Development (BDD) or Specification by Example, checking the fact that you will be able to actually test your requirements is […]
User stories are a technique taken from the agile development playbook that can easily be applied in traditional systems development and maintenance. User stories help you document needs in a structured way, from the users’ perspective. They’re a good basis for test cases, so as to support integrated requirements management and testing. In this article, […]
This article is an extract of the “Complete Systems Analysis” written by James and Suzanne Robertson. It explains the basics of analysis models and emphasize that the important thing to remember is that modeling tools are complementary. Each shows one aspect of the system. Together, they make a complete working model of the system.