Syntra Systems
Cases Services Products About Blog IT Caravan
+998 70 010 68 44 +7 999 900 22 12
RusEngUzb
An LED display showing the word Architect in a dark room — an image of a project that begins with precisely worded requirements
IT and servers

How to Write a Technical Specification for an IT Project

By Daniil Belyaev · · 11 min read

A technical specification for an IT project is the document that describes what the future system has to do, under what constraints it works and by which signs the work will be accepted. A good specification is not a wish list but a set of verifiable requirements: different contractors quote for the same scope, and acceptance follows criteria agreed in advance.

Key takeaways

  • A technical specification states what the system must do, under what constraints and by which checks the work will be accepted.
  • A requirement is fit for use when it covers one thing, reads one way and can be verified: «convenient» and «fast» are not requirements.
  • Scope boundaries matter more than the feature list: the «out of scope» section saves more money than any description of capabilities.
  • Acceptance criteria are written before the work starts: what is checked, on which data, by whom and what counts as a blocking defect.
  • There is no separate price for writing a specification on our site: the review and the specification are the first stage of development.

What a technical specification is and how it differs from a brief and an SRS

A technical specification is the main project document: it links the business task to the requirements for the system and to the rules of acceptance. It is often confused with neighbouring documents, although different people write them at different moments.

DocumentWho usually writes itWhat is insideWhen it is needed
BriefThe clientThe task in business terms: what gets in the way, what you want to achieve, the budget rangeAt the very start, before talking to contractors
Technical specificationAn analyst together with the clientGoals, scope, processes, functional and non-functional requirements, integrations, acceptance criteriaBefore the cost estimate and the contract
Software requirements specification (SRS)An analyst on the supplier sideDetailed product requirements: scenarios, screen states, error handling, calculation rulesInside development, expanding the technical specification
Statement of work (SOW)The project manager and a lawyerScope of work, stages, deliverables per stage, responsibilities and payment termsAs an annex to the contract

The names and boundaries of these documents differ between companies, so a contract should name the list of sections and what counts as the agreed version rather than simply say «the specification». The general frame is described in the international standard ISO/IEC/IEEE 29148:2018: it defines the requirements processes and the characteristics that make a requirement fit for use.

What a technical specification must contain

The set of sections barely depends on whether you are building a CRM, a portal or a mobile application: the contents change, the structure does not. The table below is a working table of contents for assembling the document and checking that nothing is missing.

SectionWhat to writeExample
Project goalWhich business task the system solves and how you will see that it has been solvedCut the time to build the monthly report: data is now merged by hand from three systems
ScopeWhat is in the project and what is out — the second matters more than the firstWarehouse and purchasing are in, payroll stays in the accounting software
Current processesHow the work runs today: who does what, where data comes from, where it is typed by handA diagram of order intake from first contact to shipment with every participant
Roles and permissionsWho uses the system and what each role can see and doThe storekeeper sees stock levels but not cost prices or purchase terms
Functional requirementsWhat the system does, one verifiable requirement per itemThe system assigns an owner to an enquiry by the routing rule and notifies that person
Non-functional requirementsLoad, speed, availability, security, interface languages, devicesUp to 50 concurrent users, interface in Russian and Uzbek
IntegrationsWhat data is exchanged, in which direction, how often and which side is the source of truthStock levels arrive from the accounting system hourly; the warehouse is the source of truth
Data and where it livesWhat is stored, for how long, where the database and the backups physically sitCustomer personal data: what is collected, the retention period, the hosting location
Data migrationWhat is moved from the old systems, in what form and as of which dateReference data and stock as of the launch date, order history for the two previous years
Acceptance criteriaWhich checks confirm that the work is doneTwenty orders travel from enquiry to shipment with no manual edits in the database
What stays with the clientSource code, documentation, access, rights to the resultCode in the company's repository, user instructions, access to the servers

The section on current processes is easier to draw than to describe: a diagram in a common notation such as BPMN 2.0 by OMG is readable both by a manager and by a developer. Data location is worth fixing early as well: mandatory storage inside Uzbekistan applies to biometric and genetic data and to data of telecom subscribers under article 27-1 of the personal data law, while other data may be stored abroad if the conditions of the same article are met.

How to word requirements: bad and good

A requirement is fit for use when it cannot be read two ways and can be verified. Among the characteristics of a good requirement, ISO/IEC/IEEE 29148 lists necessity, unambiguity, singularity, feasibility and verifiability — one requirement describes one thing and comes with a clear way to check it.

BadWhy it failsGood
A convenient interfaceCannot be verified and cannot be estimated in hoursPlacing an order takes no more than four screens and needs no switching between windows
The system must be fastNo number and no conditions under which it is measuredA list of 10 000 orders opens in 2 seconds with 50 concurrent users
Integration with the accounting systemDoes not say what moves, in which direction and how oftenStock levels are sent from the accounting system hourly; on an exchange error the owner is notified
Sales reportsNobody knows which ones and who needs themA «revenue by sales manager for a period» report with a channel filter and export to a spreadsheet
The system must support growthNo boundary up to which growth is considered coveredThe system is designed for 200 users and a threefold increase in orders without changing the architecture

Number every requirement: the numbers are later used in the estimate, in the work plan and in the acceptance certificate. A requirement containing «and», «or» or «if necessary» usually breaks into two or three — it is better to split it straight away.

Acceptance criteria: how the work is signed off

An acceptance criterion describes a check whose outcome does not depend on the mood of either side. Without one, an argument about whether the project is finished is settled by persuasion rather than by the document.

Example The phrase «we need a CRM» works neither for an estimate nor for acceptance. A workable version reads: «Every enquiry from Telegram, the website and the phone lands in one system with its source recorded; the manager can see the pipeline for any day; acceptance checks 20 enquiries across all three channels».

The most common mistakes in a technical specification

The mistakes repeat from project to project, and nearly all of them come from writing the document without understanding how the company works.

Who writes the technical specification

There are three options, each with its own price and its own risk. The choice depends on whether there is someone inside who can write requirements and on how expensive a mistake in the project would be.

Important Syntra Systems is a development company, so we state our interest up front: any solution we propose has a side on which we earn. In the specification we mark separately everything that can be closed by configuring systems you already own and by changing the rules, with no development at all, and we hand the document over in editable form — you can take it to any contractor.

How a technical specification is prepared: the stages

Preparation starts not with the document but with a review of how the company works: otherwise the requirements describe an idea of the process rather than the process. The order of the steps barely changes, only the depth of each one.

  1. Frame and goal. We state the business task and agree what counts as success and by which indicators it will be visible.
  2. Review. Interviews with the manager and the staff, exports from the systems, watching several real orders travel from start to finish.
  3. Processes as they are and as they should be. Diagrams of the current and the target flow, with the places where time and data are lost marked out.
  4. Requirements and architecture options. The functional and non-functional parts, integrations and at least two solution options at different prices.
  5. Acceptance criteria and stages. The checks that close the work, and a split into stages where each one delivers something that works.
  6. Approval and handover. The document is walked through with the people who will use the system, the version is fixed and the client receives it in editable form.

How long preparation takes depends on the number of processes, systems and participants, so the scope is estimated after the review. Reviewing processes and finding where money leaks is separate work, described in the articles on the IT infrastructure audit and on how IT consulting works.

Check the specification before sending it to contractors

Before you send the document out for quotes, walk through the list. Every item left undone is a future change request.

Check separately that every contractor received the same version of the document. Otherwise the quotes are not comparable, and the choice comes down to comparing totals that cover different amounts of work.

When a rigid specification gets in the way

A detailed specification works well where the subject area is understood and stable: accounting, document flow, integrations, moving an existing process into a system. It works worse in products where value is tested on users and requirements change along the way.

Agile approaches start from the assumption that requirements will change: the Agile principles propose welcoming changing requirements even late in development and treating working software as the primary measure of progress. Hence a different toolkit — a backlog, user stories, acceptance by sprint.

In practice the two are combined. A framework specification fixes the goals, the scope, the non-functional requirements, the integrations and the rules of acceptance — the parts that rarely change. Detailed functionality lives in the backlog and is refined as you go, while changes of scope pass through an agreed procedure: estimate, client decision, updated plan.

What preparing a specification costs and how we work

We do not list a priced «technical specification» service on our site: the review and the specification are the first stage of development, and their scope is estimated once the boundaries of the project are set. On ERP projects this stage is named in the scope of work: we describe the processes, the document flow and the decision points, design the data model, prepare the specification and agree the stages — the scope and prices are on the ERP page.

We do not call comparing contractors' quotes a service of ours: we are a development company and an interested party in such a comparison. There is a separate tool for that task — a directory of suppliers, which we described in the article on how IT Caravan came about.

In our work we start with the review and finish with a document you can both quote against and accept by: goals, scope, processes, numbered requirements, integrations, acceptance criteria and a plan of stages. The specification stays with the client in editable form together with the process diagrams.

Let’s discuss your project

Tell us what you need, and we will estimate the timeline and cost and suggest a solution.

Discuss your project

Frequently asked questions

Can a project start without a technical specification?

For a small change, yes: a description of the task and a definition of done are enough. For a project worth real money you can neither compare contractors' quotes nor close the work without one: acceptance runs into two different readings of what was ordered.

What length of technical specification is normal?

There is no norm: the length follows the number of processes, roles and integrations. The sign of a poor document is not its size but sections nobody will check at acceptance. A requirement that cannot be verified adds no value however many pages it fills.

Who owns the specification and the code after the project?

That is a matter of contract. The transfer of rights to the result, to the source code, documentation and access is written down before the work starts, along with the moment when they pass to the client. If the contract is silent, the dispute is settled by general rules rather than by your expectations.

Do we need a specification if the requirements will keep changing as we go?

Its framework part is needed: goals, project scope, requirements for speed, load and security, integrations and acceptance rules — these rarely change. The feature list is kept separately and refined along the way, and every change in scope follows the same order: estimate, the client's decision, then an update to the plan.

Who pays for preparing the technical specification?

The client does — either separately or as the first stage of development. With us, discovery and the specification form the project's first stage; we price it once the scope is defined, and hand over the document in editable form, so you can take it to any contractor.

How do you tell a good specification from a bad one?

Take any requirement and ask how you would verify it and who would do that. If every item has an answer, and the document describes the scope boundaries and the acceptance procedure, it works. If the answers are missing, an argument at handover is guaranteed.

Read also