Requirements specification is the relationship between business and developers. This is a document that allows customers and developers come to a consensus about what should be implemented and how. If it is not customary in the company to write the documentation, no one will ever be able to understand what had to be implemented, and what not, because with the flow of the project the people involved in the development and support are replaced, administrative division changes, project functions are transferred from one unit to another. This would inevitably lead to a mismatch of expectations and written functionality, which in the end is disadvantageous to both customer and developer. In addition, it will be very difficult to supplement the existing functionality with new features, because in order to understand what and how was implemented, it is necessary to talk with dozens of employees and review months of corporate correspondence.
Writing technical specifications is one of the first stages of the project; it precedes the development of the system itself. The requirements specification enlists the subject area, the existing infrastructure, description of functional and nonfunctional requirements. It is worth mentioning that in everyday analytical work instead of term “requirements specification”, the term “business requirements” is used more often, which completely captures the essence of the document: a collection of information that will help the developers accomplish the needs of the business to the fullest extent.
Each technical specification includes several core units. They define the document designation, the terminology, the overall context of the project. Typically, the first part contains the following sections:
- Table of Contents;
- History of changes to the document;
- Participants of the project;
- Appointment of a document;
- General context.
If the general conceptual information about the developed system at the beginning of the document is given, the second main part of the document spells out in detail the business requirements and functional requirements to the system, significant for effort and development assessment.
Business requirements are a description of what the system should do in the language of the business user. Business requirements, in particular, should be clear to the head of department who usually does not have technical training and experience.
Functional requirements are a description of how the different actions are carried out in the system. At the stage of development of technical specifications functional requirements are usually fixed only for the most complex project blocks. Deepening to the difficult areas allows reducing risks in the subsequent assessment of the project.
In the “Terminology” chapter of the technical specifications the basic concepts are defined, and in the “Context” – basic business processes relating to the development are described, as well as the system environment, the current role of managers and access rights.
In addition to direct claims to developed product, the requirements specification often includes integration requirements of the created system with other internal and external systems used in the company. For example, connections with the payment systems, user directories, applicable software, etc.The resulting document is essential both for the business user to convince them that all of their wishes for the future system are taken into account, and the programmer to evaluate the cost of the system development. Keep in mind that accurately and intelligently written documentation will definitely improve the quality of the final product. This means that the customer is primarily interested in making the most complete functionality description, as well as providing all the necessary information for development.