Software Requirements Specification Helps to Protect IT Projects From Failure

Software Requirements Specification Document (SRS) gives business owners a clear vision of how much does it cost to develop their custom software product (web, mobile or desktop one). Who should write a software requirement specification? A business analyst. Belitsoft as a business analysis services company can help you with writing an SRS. Get a free quote or check out how to start custom software development without creating an SRS!
Aug 08, 2016

Software Requirements Specification

Working without a software requirements specification document. Source: projectcartoon.com

THE COMMON CAUSE OF SOFTWARE PROJECT FAILURE: ABSENCE OF WELL-DEFINED REQUIREMENTS

Unfortunately, up to 70 percent of IT projects without well-defined requirements fail. Poor management of requirements is the second most commonly-cited reason projects fail. Organizations are wasting up to 10 times more money on projects and programs due to poor management of requirements.

Case study: Libra IT system for magistrates’ courts. The cost of the Libra project to provide a national system for 385 magistrates courts in Great Britain soared from £146m to £390m, and the main supplier Fujitsu twice threatened to withdraw unless it was paid more money. Review in February 2002 revealed that Fujitsu had made "too many mistakes in the early life of the project" including a poor analysis of requirements.

Professor Leon Kappelman who consults for the White House and United Nations puts in his research article ‘Early warning signs of it project failure: the dominant dozen’: «If functional, performance, and reliability requirements are not documented, then each project team member and stakeholder inevitably will have different expectations and assumptions about the project, because each participant is working from a different mental blueprint. Asking for sign-offs on requirements documentation forces differences in expectations and assumptions to the surface where they can be resolved».

Software Requirements Specification

List of failed and overbudget custom software projects.
Image source: spectrum.ieee.org/computing/software/why-software-fails

BENEFITS OF SOFTWARE REQUIREMENTS SPECIFICATION

According to International Standard ISO/IEC/IEEE 29148:2011 (Systems and software engineering — Life cycle processes — Requirements engineering), the benefits of documenting the software requirements include:

  • It provides a realistic basis for estimating product costs, risks and schedules.
  • It provides an informed basis for deploying a product to new users or new operational environments.
  • It provides a basis for product enhancement.
  • It forces a rigorous assessment of requirements before design can begin and minimizes later redesign.
  • It establishes the basis for agreement between the acquirers or suppliers on what the product is to do (in market driven projects, the user input may be provided by marketing).
  • Organizations can use the specifications to develop validation and verification plans.

Software Requirements Specification

Figure. What should be considered before Software Requirement document is done.

THE RIGHT PEOPLE SHOULD WRITE THE SOFTWARE REQUIREMENTS SPESIFICATION

The software requirements specification may be written by one or more representatives of the supplier, one or more representatives of the acquirer, or by both.

The main rule here is that only professionals should write it. Otherwise, software requirements specification should be reworked to detect defects in it, further fix them and thus avoid problems in future.

Defects in software requirements specification can lead to wrong or incomplete product. The outcome of the development process will not satisfy the customers’ needs. The more progress is achieved in the software development life cycle, the more defects will emerge. Consequently, the earlier the detection of requirements defects, the more money and time of rework that can be saved.  

Here, the most typical mistakes in the software requirement specification (SRS) are gathered. Examples are taken from real documents in real commercial software projects.

Typical Mistakes

  • SRS has no glossaries. «UUID is set incrementally to make sure there are no two users with the same account number». It would be great to know what “UUID” stands for. What is the difference between UUID and account number? Is it "unique user ID" or maybe "unified user identity descriptor"?
  • SRS has questions, opinions and so on. «I believe that multiple versions of the API must be supported. What options do we have? I'd suggest we go with versioned URLs. Feel free to post your thoughts here». SRS should contain exactly what needs to be done without discussions.
  • SRS has un-measurable quality requirements. «The app should launch in less than 2 seconds». On what equipment? What does "launch" mean? Such a requirement is difficult to implement or test.
  • SRS describes functions without defined user. «PDF report should be generated when required. It is possible to download a report or save it in the account». It's not clear who is doing all this. It may be a system, a RESTful API client, a database, registered user, admin etc.
  • SRS contains no requirements. «Our primary concern is performance and an attractive user interface». This is an example of useless information for the developer.

EXAMPLE OF SOFTWARE REQUIREMENTS SPECIFICATION

There is no one optimal complete example of software requirement specification for all types of software projects. Besides, these documents are confidential (check out our Privacy Policy). 

However, we prepared a general example of what kind of information the software requirement specification should contain to prevent software projects from failure.

Blog writers

Subscribe to Belitsoft's Blog for Entrepreneurs

Join successful software startup founders! Get insights from growing companies like, where to get an idea, how to validate it, how to launch, and how to hire people - everything. Enter your email address below (no spam):

Email *

RECOMMENDED FOR YOU

Lead Generation Design of The Best SaaS Websites

If clothes make the man, the design makes the website. That's where potential customers start evaluating a product. The SaaS website can (and should) be an online lead-generation machine, so each component of it has to be as good as possible. As people generally remember the first and the last thing they see, having impressive header and footer can go a long way towards making your product successful. What do some of the best SaaS companies do with their websites’ headers/footers? Look at this list to get and keep in mind some ideas for custom software development while building or redesigning your SaaS website. ...

PHP 7 vs Node.js

Our team is experienced both in PHP programming and Node.js development. We have a portfolio with both PHP-based applications and Node.js-based applications as well as mixed ones. What do we take into account when considering which tool to use in custom software development? ...

The Top 10 Advantages Of Laravel for Cost-Effective Web Development

Laravel framework is very popular for custom software development. It is the Most Starred PHP Framework on Github: more than 35 000 developers from all over the world (mostly from the USA) greatly appreciate robust features of this platform. Based on data of the BuiltWith, Laravel's popular websites verticals include Business, Entertainment, Media, News, Shopping, Technology, Vehicles. Why is Laravel so popular? ...

100% Remote Million-Dollar SaaS Companies

Companies that hire remote (distributed, virtual, dispersed, or dedicated) workers and do it well seem to have a huge leg up on the competition. Let’s learn how these successful SaaS companies use global talents to increase software quality and reduce the cost of rent and office supplies: Basecamp, Buffer, Chargify, Convertkit, Ghost(pro), Groove, Hubstaff, Invision, Olark, and Zapier. As the company where you can find a remote PHP developer, we believe that you could utilize their experience and expertise to build your own full remote SaaS company. ...

SaaS Founders Who Became Rich Starting With MVP

Belitsoft has a huge experience in MVP software development for startups and prototypes for existing brands. MVP is a minimal version of the product with the minimum set of features that is enough to deploy and test the key hypothesis to solve problems of this product’ potential customers. Experts suggest that, in B2B, it’s not an MVP until you sell it. Viable means you can sell it. ...

Profitable SaaS Startup Ideas

The way to get profitable startup idea is not to try to think of startup ideas (including SaaS development). It's to look for problems, preferably problems you have yourself.  In fact, for many entrepreneurs, successful business ideas start out as solutions designed to address a challenge they face personally. Solving the problem that frustrates you may be one of the best ways of finding an idea for your startup. Look at these software developers who turned their problem into success.  ...

Get A Free Quote

Do you have a software development project to implement? We have people to work on it.
We will be glad to answer all your questions as well as estimate any project of yours.
Use the form below to describe the project and we will get in touch with you within 1 business day.

Call us:
Phone - USA
Phone - BELARUS
Skype
EMAIL US:
Contact form