The Elusive Software Requirements

All textbooks told the developers to begin with the requirements, the more exact the better. Based on the requirements, the developers write the functional spec.

In the typical situation of not getting the requirements in time, the developers frequently make up the requirements by themselves — starting by listing the implementation restrictions, but also by the ego of “Look at me! I can make this!” This is fatal.

The requirements will never be complete or arrive in time. The developers must take a different approach. I favor the method of “Iterative Conversations™.”

Ask the stakeholders, preferably together and face-to-face, “What’s the problem?” or “What do you need?” and, critically, “Why?” Only seek clarifications and do not entertain implementation idea. Whoever says, “we can do this way …” Stop the person. That’s about implementation and it is a trap for you to be cornered into a specific approach. When you have understood the problem, or the need, adjourn the meeting.

Go back and think of the possible ways to solve the problems or address the needs. You will come up with either obvious or innovative solutions. But they carry consequences that you are not sure of. For these, you will call another meeting.

Same deal. You ask questions to the stakeholders. But this time tuned or steer the conversations toward those doubts or implementation consequences. Still, avoid discussing implementation approach. If you find yourself must, that will be the symptom that you actually did not have the questions or doubts thought through. Never ask the stakeholder to make implementation trade-offs for you.

Once you are relatively certain about a point, try to implement a partial solution to illustrate the idea. Show the stakeholders the prototype. Very frequently, you get confirmation or rejection from them that you are on the right track or not. Adjust accordingly.

This has worked for me for many years. This is, at least in spirit, a form of Agile methodology, at least until the QA consideration comes in. I will write about that later.

This entry was posted in Management Thoughts. Bookmark the permalink.

One Response to The Elusive Software Requirements

Leave a Reply

Your email address will not be published.