Thursday, December 15th, 2016
The idea of eliciting and capturing requirements is wrong because it leads to the twin fallacies that users already know all the requirements and that requirements can be captured and looked in a cage where they will remain unchanged.
The metaphor of trawling for requirements is far more useful: Trawling for requirements leads to the mental image that requirements are captured in a fishing net being pulled behind a boat. It uses the analogy of fishing, “running a net” through the organization to “trap” as many requirements as possible.
This metaphor is consistent with the idea that different-sized nets can be used to capture different-sized requirements:
- a first pass can be made over the requirements pond with a large mesh net to get all the big ones,
- a second pass with a smaller mesh net to get the medium-sized requirements,
- in subsequent passes we can get the small ones requirements.
This metaphor woks whether we think of size as business value, essentialness to the software, and so on. This metaphor also expresses the idea that requirements, like fish, mature and possibly die:
- Our net may miss a requirement today because the requirement is not important to the system today.
- As the system grows in unpredictable directions based on the feedback from each iteration, some requirements that were once considered important will decrease in importance to the point where we can consider them dead.
This “trawling of requirements” metaphor also captures the important reality that skill plays a factor in finding the requirements. A skilled requirements trawler will know where to look for requirements while the unskilled trawler will waste time with inefficient techniques or in the wrong locations, like fishing.
Summing-up: this metaphor captures the ideas that there are different sizes of requirements, that the requirements may change over time, and that it takes skill to find the requirements.
These notes have been taken from:
- The book Mastering the Requirements Process: Getting Requirements Right, by Suzanne Robertson and James Robertson
- The book User Stories Applied: For Agile Software Development , by Mike Cohn.