What are the different techniques of eliciting requirements for a new software development project?
A plethora of methods and tools are covered in the SearchSoftwareQuality Learning Guide entitled, Software requirements gathering techniques. Descriptions of prototyping, storyboards, modeling, state transition diagrams, use cases, tools and other resources can all be found in this guide. Besides these methods, other techniques include the creation of user stories and the use of visualization tools.
User stories are often used in agile environments as a way of quickly identifying business needs with a very short description of the business need. Doing this prevents discussion of the technology details to ensure the focus is on what is needed, not how it will be implemented.
Another method of gathering requirements that's been getting a lot of recent press is the use of visualizations. Visualizations are simulations that can be created by business analysts using special visualization software. Using the software, BA's are able to go a step beyond documentation and are able to actually create a working model of the application. Proponents of this approach claim it aids in communication and collaboration between team members and allows for an easier way to describe requirements.
However, there is some concern that with visualizations there might be the tendency to design the system and user interface rather than focus on business requirements.
Regardless of method or tool, it is important to focus on what the business needs rather than how the system will be designed. Communication with stakeholders throughout the lifecycle to help validate requirements can also help prevent unwelcome surprises at the end of the project.
Dig Deeper on Topics Archive
Related Q&A from Yvette Francino
Agile mobile development can be made easier by using a little-known methodology, called Mobile-D. Expert Yvette Francino takes us inside this process. Continue Reading
It may be challenging to make sure everyone's voice is heard in collaborative meetings, but a good facilitator can ensure this happens. Continue Reading
Agile methodologies stress the benefits of collaboration, working with cross-functional teams to encourage communication between business owners and ... Continue Reading