Wednesday, September 26, 2018

Determine The Requirements Now

Building without a plan. (Posted by jerry yoakum)


Requirements are hard to understand and harder to specify. The wrong solution to this problem is to do a slipshod job of requirements specification, and rush ahead to design and code in the vain hope that:
  1. Any system is better than no system.
  2. The requirements will work themselves out sooner or later.
  3. Or the designers will figure out what can be built as they are building it.
The right solution is to do whatever it takes to learn as many of the requirements as possible now.
  • Do prototyping.
  • Talk with more customers.
  • Work with a customer to get to know his or her job firsthand.
  • Collect data.
  • Do whatever it takes.
Now document the requirements that you understand and plan to build a system to meet those requirements. If you expect requirements to change significantly, that's okay; plan to build incrementally (Grow Systems Incrementally), but that is no excuse for doing a poor job of requirements specification on any one increment.


Reference:
Boehm, B., "Verifying and Validating Software Requirements and Design Specifications, IEEE Software, January 1984.