I started learning how to define software requirements back in 1996. The process back then was relatively straight forward and hasn’t changed much over the years. However, there are some new methodologies and technology on the market that help speed up the process and make it more efficient. One such company has been a pioneer in the software requirements space for the past 6 years.
OneSpring (www.onespring.net) has led the way in how to define software requirements through the use of something called software visualization. They also pioneered a new requirements elicitation process called Joint Application Modeling, or JAM Session for short. The JAM Session allows stakeholders and consultants to get together in the same room and rapidly prototype or visualize their software idea/concept in real-time. This process differs drastically from when I first started defining software requirements in that it’s highly visual and textual at the same time.
In the past I would interview stakeholders and simply take notes. These notes would later be worked on and compiled into something called a Vision Document and ultimately a Functional Specification. I believe the new trend behind defining software requirements is going away from textual definition alone and to more of a visual representation of the requirements. If you think about it, it makes sense. Would you rather “see” something before it gets developed, or would you rather “read” about it? Most people would rather see and experience something before they build or buy it, correct? Stakeholders now have that capability through the use of visualization and the JAM Session that OneSpring has pioneered.
The goal of defining requirements remains the same, to develop the best software requirements possible in order to have the best software product produced. You must get the requirements right in order to be successful during development. This holds true for just about anything that gets produced today, have it be automobiles. planes, homes, etc.
"I can tell you first hand that developing your own software is easy, if you know the correct process."Jason Moccia,
Author of Software Requirements Unleashed