Software requirements elicitation and documentation

Software requirements elicitation and documentation

Do you recommend any particular format for requirements documentation? One that perhaps we can forward to prospects/clients or engage with them as consultants in completing and that enables them to explain the functionality and features they are seeking?

Our worst experiences have come when the clients had no clue what their use case requirements are -- and we have learned that the hard way. Any insights you have are valuable.

    Requires Free Membership to View

    When you register, you'll receive targeted emails designed to keep you informed of the most relevant information on Agile development, application security, testing & QA, software requirements, and more.

    Hannah Smalltree, Editorial Director

    By submitting your registration information to SearchSoftwareQuality.com you agree to receive email communications from TechTarget and TechTarget partners. We encourage you to read our Privacy Policy which contains important disclosures about how we collect and use your registration and other information. If you reside outside of the United States, by submitting this registration information you consent to having your personal data transferred to and processed in the United States. Your use of SearchSoftwareQuality.com is governed by our Terms of Use. You may contact us at webmaster@TechTarget.com.

The only format I can recommend is one that allows you to collectively come to agreement about the requirements and allows you to effectively "sign off" on the requirements. Whether those requirements are for an iteration or sprint, or for an entire project, everyone needs to be able to agree on the set of requirements.

In terms of format I do find that any time the requirements are completely documented in a textual format, (read: very long document) there are disagreements or misunderstandings later about how the requirements should have been implemented. Complementing the requirements with some type of a visual goes a long way towards gaining acceptance and understanding. This could be a simple scenario diagram walking the user through the steps of a use case; or maybe even a basic prototype or wireframe. If your prospect/client has to read a long document without any visual aids, I bet there will be confusion later. You'll have to determine the visual method that works best for your prospects/clients, and it may take more time up front to build these visuals, but you will save time later.

Software requirements gathering resources:
How to communicate with the client for effective requirements engineering

Effective prototyping for quality software

Software requirements: Using models to understand users' needs

The issue that strikes me as more important is how to help draw out the requirements from those clients that don't know what their use cases are. It is not uncommon at all that asking a user what they want will elicit a response with lots of ideas, most of which are incomplete and would not qualify as a good "requirement" by any formal definition. Requirements management is part science and part art. The science part is writing down the requirements, or using a requirements management tool. The artful part is teasing out the details of what the user really wants. It's differentiating between what they want versus what they need and which items will translate into revenue. A quick search for "requirements elicitation" on Amazon.com yields several decent books on the topic. Building your interviewing skills will help you capture the important set of requirements, instead of gathering all of the requirements.

This was first published in February 2008