Software requirement specification is one among ‘must have’
document, which is equally important for business and the technical team.
SRS act as a foundation document for technical team
to prepare for any high or low level technical specification including the solution architecture. I am not adding more at technical side since that wasn’t this question.
Now when it comes to business and in particular the agreement, the SRS communicate and act as a safe bridge between two business. This outlines what consumer can expect from a complete software and what service provider agree to provide. This means, both parties get their ground to talk and to negotiate.
Ideally, when we prepare SRS, we include points such as product scope, business function, area of coverage, future directio
n and list goes on and on. And this document later ‘signed’
by the stakeholders including the product owners and end user. This agreement gives both parties a structured understanding of their responsibilities
.
Therefore, for me, it is less likely to initiate any project without a draft version of SRS.
Finally, I wanted to touch the software development process. As you know, we have handful of development process, which we follow to simplify our life of software development. Eg: Waterfall, VModel, RUP, URUP, Agile are some of them.
Irrespective of any particular process, if it can provide following;
- a pleasant journey of end to end software development and it’s
management.
- has the ability to align and adopt changing business demand.
What happens if customer change their mind ?
Customer shall change
their mind over the course of development. Such changes are addressed differently in different process. In case of waterfall
, any breaking changes or extra requirement must go through a change requirement management process. This will help you to communicate and quantify time and cost. When it comes to agile
, we have to add/update/prioritize user stories followed by its impact, cost etc.
In one of the accepted answer, it was mentioned as ‘no upfront SRS’
in agile. I prefer it be reworded as ‘no complete SRS upfront’
. This means, it is less likely to have a complete SRS now a days due to nature of business. But this doesn’t means that no SRS.
To conclude, SRS must be your ‘must have’ document when you deal with external customers. Hence it doesn't really matter which process you follow in your organization.