How to write a technical task for an IT outsourcing company

A software requirements specification (SRS) is the foundation of any IT project. It defines what exactly should be done, how, and when. However, writing a technical specification is not just a formality, but an important process. It requires attention, time, and interaction between the customer and the contractor.

In this article, we will analyze what a SRS is, why it is needed, how to write it correctly, and what mistakes to avoid.

What is a SRS, and why do you need it?

A SRS is a document describing in detail the tasks, requirements, and expectations of the customer from the future product. A SRS can be a document of 50+ pages. Its main goal is to make the development process transparent and predictable.

Why do you need a technical specification?

  1. A SRS helps the Customer clearly explain their requirements and expectations from the project.
  2. The contractor can accurately calculate the cost of work and the deadlines.

Who draws up the SRS for software development: the customer or the contractor?

To understand how to draw up the SRS, it is important to decide who exactly will do it. There is no single answer to this question – there may be different approaches.

Let’s look at some of them. The customer can order a project based on a ready-made SRS, or ask a developer for the SRS to draw up from scratch.

AKDev team takes on the development cycle in its entirety as a bespoke customized project and acts in the design phase of the project from scratch. Learn more about this service.

  • The first case is relevant for large companies. They are not asking for custom development for the first time. There are specialists who can collect requirements and have extensive experience working with contractors. The customer also writes the SRS when work on the project has already been carried out in-house or by another partner.
  • Drawing up the SRS can be part of the services provided. Then the contractor sends the customer a brief with questions. This is how the specialist finds out the purpose of the work and the benefit to the client. After in the dialogue mode, the parties clarify the working nuances.
  • This method of drawing up a SRS is convenient when the customer trusts the contractor. The contractor is competent enough to understand the task independently. And the customer is a representative of a small or medium-sized business that has not yet had experience working with IT projects.

Best way to create SRS

The highest quality SRS are obtained with a partnership between the customer and the contractor. The collaborative creation of the technical specifications starts with the customer outlining their requirements for the upcoming project. The contractor, in turn, explains what can be implemented, in what time frame, etc. They can advise what is inappropriate to develop.

The examples of bad and good SRS
The examples of bad and good SRS

The procedure for working with SRS

At the time of starting work on the technical specifications, you may have a poor idea of what the final project will look like.

  • Often you may receive varied requests from departments involved in the software creation. In order to effectively interact with the contractor, it is important to systematize these requirements.
  • Working on the technical specifications usually consists of two stages. First, describe your vision of the product in as much detail as possible. Then put this document aside and go over the requirements again. This approach will help you not to deviate from the original idea and at the same time avoid “blind spots.” Use case and sequence diagrams are very helpful in this process.
  • Before starting development, it is advisable to test the requirements. Create an initial SRS and check it for compliance with the expectations of users. This will help to identify possible shortcomings at an early stage.
  • SRS are included in the agreement between the companies. Each function requires time and budget. So the customer is interested in not including too much in the SRS.

What sections are included in the SRS?

You can downloaded the contents of the technical specifications for ISO/IEC/IEEE 29148 at the end of the article.

Software objectives

This section should clearly describe what tasks the software will solve, what problems it should eliminate, and what goals will be achieved upon completion of the project. The customer and the contractor understand the big picture and correctly target the end result.

Functional requirements

This section includes a detailed description of what the software should do. All functions of the system should be described here, as well as diagrams illustrating the operation of the system.

These diagrams help to visualize how the system should work. You can do it in Miro, there are a lot of different templates.

For example, a use case diagram shows how users interact with the system. A sequence diagram shows the sequence of operations when performing a certain function. A component diagram shows the system architecture and the interactions between components.

Component diagram for developing an AI bot from our project

Software design requirements

This section describes the basic requirements for the appearance and UI. This includes style, color palette, ease of navigation, and other elements that make interaction with the software comfortable for the user.

Non-functional requirements

Non-functional requirements are everything that is not directly related to functionality but is critical for the system to operate.

Non-functional requirements for software are everything that is not directly related to functionality but is critical for the system to operate.
  • Performance requirements describe how the system should operate under load, how many requests it should process per unit of time. This characteristic is very important for high-load systems.
  • Reliability requirements explain how the system will cope with errors, failures, and recovery after them.
  • This section describes the interface requirements: interface language, screen resolution, and adaptability to different devices. It is important to indicate how the system will interact with external services. The section should specify requirements for the speed of operation, for example, maximum delay and response times to requests.
  • The protection of personal data, as well as other sensitive data, is becoming one of the main tasks of any company. So don’t forget to describe requirements about security.
  • It is necessary to describe what the contractor must provide to the customer at the project completion stage. It may include the code of the system, executable modules, test scripts, and user documentation. These materials are necessary for further use and support of the system.

Approach the development of the SRS wisely. If you already have a description of the project, send it to us, and we will estimate the time frame and cost of its development.



Previous post:
Outstaffing vs. Outsourcing: What to Choose for Your Project?

Latest publications

Explore our blog