Software Requirements Specification
The fact that most software projects fail due to poorly gathered requirements has inspired the Maelstrom team to develop its own methodology. We call this our Solution Requirements Specification (SRS). The SRS process is structured in such a way as to prevent the most common mistakes associated with custom software development. Maelstrom feels strongly that this tool will save time and money, and has experienced that result project after successful project. In fact, many companies now use Maelstrom to help them with the requirements process so their internal development teams know what to create.
No war is won according to plan, but no battle is ever won without one.
– Dwight D. Eisenhower
The last thing you want a developer doing is making business decisions for you. This is precisely what happens on a majority of client driven endeavors. When an custom application is poorly defined, the developer will use his or her best guess as to what you had intended. Often the result of this is a project that never ends. We bet many of you reading this have seen this exact problem, as it is amazingly common.
In general, the SRS process will consist of from 3 to 4, two hour meetings between Maelstrom the staff and the various “actors” or users of the intended application. The number and length of these meetings will be determined by the size and complexity of the desired solution. Without any “technology talk”, Maelstrom experts will collect the needed information from the customer to create a document that will become the detailed blueprint for the application’s development.
This document will capture several things including:
- project vision
- business rules
- assumptions
- dependencies
- critical work flow
- voice of the customer
Note that our process is a merger of several different methodologies and frameworks (PMI, Microsoft MSF & and others). However, we have removed much of the labor intensive diagrams and other charts that really don’t help to define the application beyond what is needed to reach success. The end result is a lean and mean process that does what it is designed to do.
The SRS process will define what the application needs to do now and also will capture what you would like it to do in the future. Knowing with reasonable accuracy what you will want in the future allows developers to keep an “open door” to these features so that it will be simple to add them when you are ready. This is the type of forward thinking that is generally missing in “Scope of Work” documents used by most development or contractor developers. It can cost up to 8 times as much to go back and fix a poorly designed application as it does to design it correctly in the first place. So every dollar spent building your “application blueprint” is money well spent. Rushing to development is short-sighted and costly. This is further insight as to why 70 to 90% of software projects fail.
Maelstrom also provides requirements gathering as a separate service. If you already have a development team in place and wish to avoid the common pitfalls of the normal requirements gathering process, please contact the Maelstrom team (sales@maelstromsolutions.com). Also consider that the output of our SRS process could serve as a wonderfully detailed RFP. By giving the potential developers more information and detail, the bids you receive will be more accurate and the end product much closer to meeting your needs.
SRS Process
“Thank you for introducing us to the SRS process. It proved valuable in identifying our program requirements and gave us the ability to assess our ‘needs’ versus ‘wants’, thus allowing us to target our current budget toward the critical components, while allowing for future upgrades.”Lisa Heltemes, DirectorMidwest Auto Clubs, L.L.C.
Certain Doom?
- Deliver what is expected
- Deliver in the expected time frame
- Deliver with the quality expected
- Perform all critical functionality
- Deliver at or under budget
If you take the time and energy to properly specify what you want delivered, you will get what you expect and avoid the pitfalls listed above. In fact, if you have had a failed custom development project done in the past, ask yourself if any of those were true.
Not all developers are alike in skill, but the specification can keep a weak developer on the proper goal. So, even if your developers are slower, in the end you will at least have a working application that does what is expected.
You can avoid these problems by augmenting your project with a senior developer from Maelstrom. Simply contact our sales department for details on borrowing an architect or developer to assist your staff. We will come to your site, work with your team and help you spec the project that your developers will build. This is also an excellent opportunity to send the specification out for bid. Maelstrom can help you be sure your project is well defined so it can be properly developed.