Back

You don’t need SRS: explaining why specification is a relic of the past

No technical requirements — no effective result. This rule works in many spheres: a contractor can't do anything well without concrete technical tasks. In IT, technical specifications for development projects have long outlived their usefulness. With the advent of agile and SCRUM methodologies, you no longer need to write 40-page documents and explain each solution in detail. In the article, we will help you figure out why it’s time to forget about SRS documents, and how to replace a complex technical task.

Reading time: 9 minutes

Table of contents

SMS? BTS? CMS? SRS!

Software requirements specification is a document with requirements for an app. The SRS document includes functionality and performance requirements and limitations. SRS is compiled to facilitate transparent interaction between a client and a contractor.

SRS is written in the client language based on their opinion. To start cooperation, a contractor should know what clients want, and understand their desires and business goals. Based on information gathered during several calls, contractors make an SRS document.

The SRS document has several features.

Structure

Looks scary. On the one hand, having a template for every project is convenient, on the other hand, there is a risk of putting yourself in the box and losing product individuality.

SRS structure includes a detailed description of each part of the future app. The problem is that 90% of the information there is useless. Only design examples and explanations of complicated work algorithms are valuable. If Tinder had SRS, there would be a matching algorithm. And 37 useless pages.

The typical structure of software specifications looks like this:

  • Introduction:

1. Goals

2. Terminology conventions

3. Target audience and consistency of perception

4. Project scope

5. Links to sources

  • General description

1. Product vision

2. Product functionality

3. Classes and characteristics of users

4. Product operating environment (operating environment)

5. Scope, restrictions, rules and standards

6. User documentation

7. Assumptions and dependencies

  • System functionality

1. Functional block X (there can be several such blocks)

2. Description and Priority

3. Causal relationships, algorithms (movement of processes, workflows)

4. Functional requirements

  • Requirements for external interfaces

1. User interfaces (UX)

2. Programming interfaces

3. Equipment interfaces

4. Communication and communication interfaces

  • Non-functional requirements

1. Performance requirements

2. Security (data) requirements

3. Software quality criteria

4. System security requirements

  • Other requirements

Appendix A: Glossary

Appendix B: Domain Process Models and Other Diagrams

Appendix B: List of Key Tasks

Relevance

As much as we would like to talk about the advantages of the company or ideas that came to mind already during the development process, it is prohibited to do so in the SRS document. The document has a clear purpose and must have clear content. SRS always reflects the functionality and technical characteristics of a product.

Transparency

This is about terms and language. Use the client language, but don’t oversimplify, or go overboard with euphemisms and literary tricks. It would help if you didn’t write about the magic work of code masters and the ingenious inventions of picture masters. It’s better to be overly specific than ambiguous. The software requirements specification is not a masterpiece of world classics, so even the most rudimentary stylistic rules can be ignored in the name of clarity.

Accuracy

Abbreviations, names — should not differ in the document. At first glance, this is a trifle, but since the document is official by nature, you should not make mistakes in such moments. This is how it should and should not be:

srs document

Priority rating

If it takes a long time to fulfill a requirement, it is worth giving it a high priority. In general, ranking requirements by importance and stability is a good idea. By stability, we mean how accurately we set the task, and whether we will have to change something during execution.

Changes

Although the SRS is a highly regulated document, it can and should be systematically changed. True, this is not as easy as it seems — the SRS document is far from flexible. Startups suffer the most from this: MVP applications often need to be changed in the process, and everyone forgets to update the software requirements specification. Even in large companies that love paperwork and bureaucracy, you can often find Confluence with 5-year-old documentation. Why was it even done? Of course, for the show!

Don’t know where to start with app development?
After 300+ completed projects, we can create an app in any niche — from fintech to IoT. Contact us and get a free project estimation in 48 hours.
Find out

SRS in Russia and abroad

Over seven years of work, we have noticed that the attitude towards SRS documents in Russia and abroad is significantly different. We are trying to understand why Russia is so fond of paperwork, and how to ‘sell a design concept at the SRS price.’

Russia Abroad
Russian clients often ask us to make an SRS. It is customary to make big reports on everything that happens around, so even the modern IT sphere can’t live without red tape.

Sometimes, we are forced to make such documents because the client is a large government entity, where, as you know, people can do nothing without reports. For one of such clients, we wrote the case ‘Big Brother is real.’ Tap the link below to read more 👇

However, foreign clients rarely require SRS. They willingly accept our rules and agree on a flexible working model. There are, of course, principal clients too.
Once, a client insisted on drawing up an SRS document because he wanted to request development from another contractor. We ‘rebuilt’ it: we made a hybrid of the SRS and our standard design description and added illustrations. He liked it and stayed with us!
See also  Big Brother is real: how the Purrweb dev-team created a system that knows everything about you

5 reasons to give up on SRS

At Purrweb, we don’t do SRS documents. This is a principled position, from which we retreated only a couple of times — we remind you that the number of our projects has exceeded 250. We don’t waste time on paperwork and bureaucracy and save clients’ resources. We highlighted five main reasons why you don’t need the SRS.

Time

SRS will gobble up your time and won’t choke on the bones of sales managers. How long will it take to complete the document? We asked our COO to rate this task. The numbers speak for themselves:

2 weeks to make an srs document

It’s all about the high detail of the SRS document. Collecting the necessary information can take a long time — business analysts must approach designers, developers, QA engineers, and team leads. There are many technical issues inside the software requirements specification that are hard to comprehend for a person far from development. During the time spent on SRS, we managed to complete one sprint and come to the client with the first results. We are sure this is better than a piece of paper.

Non-effectivity

It doesn’t matter how good managers write the requirements at the start of the project. EVERYTHING can go wrong at ANY moment. So, the time and money you spent on the SRS, to put it mildly, don’t pay off. Your business analysts will probably feel useless. The client needs only 15-20% of the whole document they spend 80 work hours on.

All the rest of the SRS document is bureaucracy bullshit. Such documents are drawn up in large companies for the effect of ‘creating turbulent activity’ and a report for the sake of a report, which in 9 out of 10 cases will not even be opened.

Anti-agile

SRS is not compatible with agile development. It is impossible to look at a blank screen and see the future application down to a button. However, the methodology for drafting the SRS document states the opposite: you must draw up a detailed action plan with a detailed description of each step before the team starts working.

captain jack sparrow meme srs document

This approach matches the Waterfall model well. The peculiarity of waterfall is that all stages of project creation are in order. First, they do the whole design, then the entire development, and they test everything. If they find bugs, they fix it in the already-finished application. There is no return to the previous step, so it is important to do each step ‘perfectly.’ In our opinion, it is an extremely romantic model. No SRS will save you from bugs or urgent tasks that the software requirements specification does not provide.

So, companies that use agile and SCRUM methodologies reject SRS documents. There (and here) they work in sprints. Testing takes place at the end of a two-week iteration, so bugs are found immediately. This way developers don’t have to go through all the code to find a breakdown.

This model is convenient not only for the development company but also for the client. With the agile approach, you are always in touch with the project manager, which means you always have up-to-date information on the project. You do not have to constantly refer to the SRS document, as the data may become outdated at the very first iteration.

At Purrweb, we keep in touch with each client, especially if the project has specific conditions. For example, in the Headcount case, the client had a limited time frame, so he was heavily involved in the development process and micromanaged all our steps. Read more about high-speed application development for the fintech industry here 👇

See also  Cutting scope and fixing bugs in someone else’s API: how to finish a 3-month project in 2 months

Dev companies don’t need SRS

Let’s reveal a terrible secret: we would not use the SRS, even if a client insisted on preparing it. The document would be dead weight on the developers’ desktops. When we were first asked to draw up an SRS document, we simply downloaded a template from the Internet and customized it for the client. Spoiler alert: the startupper didn’t even notice. We don’t think he opened it. And we didn’t open it either.

…And startups too

‘What’s wrong with a startup?’ the owner of the startup asks. The startup is fine, but the SRS document is still a nuisance. While another contractor will draw up a document with a detailed description of the functionality of the future application, we will already make the first version of the design and show it to the client.

Purrweb chooses this approach based on the target audience — we have startups that come for MVP (Minimum Viable Product). Instead of wasting the client’s time and money and our human resources on an ugly SRS, we offer the client the opportunity to save money and start the design right away.

Kristina Spiridonova,

At Purrweb, we start the work after a call with an account manager. There, we discuss the project idea and promise the client several deliverables: concept, user stories, and database structure. We don't even suggest making an SRS.

Kristina Spiridonova, 
account manager at Purrweb

Next, we’ll tell you why design is first.

Instead of a thousand words: alternative to SRS

Instead of thousands of words and dozens of pages with unnecessary information, we offer our clients a design-first approach. This means that immediately after we confirm cooperation, the design team begins to work. Do not be afraid, the designers will not design ‘what is needed and not needed’ — the account manager and the client discuss all the details on the calls, and the business analyst estimates the project’s cost. We receive anti-references from the client and sometimes, design solutions — so there is always something to start from.

Why is it good to start with design?

Because design is part of the future product, and the SRS document is just a collection of words put together in a strict structure.

Kristina Spiridonova,

Not a single technical assignment or SRS can prescribe everything at once. During the project, everything can change (and 100% will change) — no one will return to the technical task to fix or update something.

Kristina Spiridonova,  
account manager at Purrweb

How we do it: instead of large documents, we write user stories. Based on user stories, we do design, based on design, we evaluate the development, then we do the architecture and database structure. And only at the development stage we make a small document — describe how the logic on the backend or some complex algorithm works. Important: this is not an official document. We may not even show it to the client, but do it ‘for ourselves’ and store it in the readme file in the repository.

With this approach, it is easy to make changes at any stage. Even if by the end of development, for example, the admin panel which was done in the middle of the project, falls off, the developer does not need to go back and ‘raise’ everything. Most importantly — there are no complicated documents, red tape, bureaucracy, and other terrible things in the world of reports.

No SRS?

We are loyal to any wishes of the customer: want a custom chat, calendar, and video calls? Yes, please! Like to follow every development step? No problem, we will call you more often. But when it comes to the specification of software requirements, we will offer the client alternative solutions to the last.

The SRS document is not in line with the values of the agile approach, does not benefit the client, and takes away both our and their resources. At Purrweb, we have been doing everything differently for a long time: we work according to Scrum, and we do not fill our clients’ heads with nonsense like huge technical specifications, but we develop simple interfaces with a convenient design.

Want to order an app from Purrweb? Below is a form for your e-mail 👇

Let’s start building your app today!
We can’t wait to hear your ideas. Contact us and get a free project estimation in 48 hours.
Start today

How useful was this post?

Rate this article!

30 ratings, аverage 4.4 out of 5.

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

Share
[wpim]