As a business analyst (or any person interested in writing software requirements and quality), there is one thing you should always ask yourself whenever you write a business requirement:
Is this software requirement testable?
I've seen some business analysts write some crazy things and call them requirements, but IMHO, if you can't test it, it's not a requirement.
(And quality software requirements helps lead to quality software applications.)
I've seen some really crazy "software requirements", but I'll try to keep it simple here and just share some of the slightly-crazy things I've seen business analysts write:
Right now you should read one of those requirements, and ask yourself, "Is this requirement testable?" Or, more to the point, you should put yourself on the spot and ask, "After the software is written, how am I going to test this requirement?" Again, if you can't test it, it's not a requirement.
As a quick example, let's look at the first application "requirement" above ("The system shall be fast.") and re-write it. Let's write some testable requirements related to "speed", something like these:
Now, compare these requirements to the "requirement" that "The system shall be fast", and I think you'll see what I mean: Now you have something that's well-defined and testable. Better requirements leads to better quality software.
I could continue working on the other "requirements" I showed at the beginning, but now that you see the difference, why don't you give it a try? I think you'll see the difference, and it will make a world of difference in the quality of your own requirements specifications.
In the words of the old tv show "Moonlighting" ... always remember, and never forget (to ask yourself):
Is this software requirement testable?
And then remember this:
If you can't test it, it's not a requirement.
Post new comment