Why do we need “Requirement Specification Document“

Yok • Rawisara
Artisan Digital
Published in
5 min readFeb 26, 2018

“ Requirement Specification can define the direction of work and control the features of the system ”

When I was studying in the class of software requirement, I usually have a question that why do we need it, why do we need requirement specification document! And after I finished the course, I have to do the senior project. And, I got the chance to do the real software project. Finally, I got the answer that requirement specification document is the significant thing that can control all the process of software development.

Requirement Specification starts at the phase of requirement analysis in software development life cycle.
All of the customer requirements, we called requirement gathering. And we record all customer needs for analysing and define “What the feature of the system should perform ?”

User Requirement and Software Requirement Specification

From my project, requirement specification can divide into two main parts. The first one is user requirement specification and the second one is software requirement specification. Both requirement specification can help the development team to manage the scope of work within time and resource.

What is User Requirement Specification ?

User requirement specification is the requirement of the customer that can identify the scope of the system and the feature of the software project for clients. And user requirement specification document is a document used in software development process that specifies what the user expects the software to be able to do.

In my opinion, user requirement specification is essential for software development process because it can define the direction and the features of the system. Before the development team creates the software project, they always need real requirement of users and the actual functions to develop the software for achieving the requirement. Then, they can make sure that the software can use with many clients. Moreover, user requirement specification becomes software requirement specification.

What is Software Requirement Specification ?

Software requirement specification is functional and non-functional that the software must provide. And software requirement document is a description of a software system to be developed, it includes a set of use cases that describe the interaction between users and the system. Software requirement document is also an agreement between customer and developer team.

In addition, software requirement document provides to the developer team for design the role to each other in the team as well as it can provide on timeline or milestone to the customer for control the scope of project. So, the customer be able to follow the statement of work from a milestone.

“ Every process of software development depends on Requirement Specification document ”

I will explain in easily …

Before we start the software project !
The first thing we should know the customer needs for defining the scope of system and control resource within the time.
Second, the development team has to design the software system from software requirement.
Third, a developer should develop the software system from design.
And the last one, development team has to make sure that the system can perform like customer needs, And they have to test the system follows customer requirement.

Case Study

Requirement Gathering Phase:
USR-01: Customer wants authentication system in the web application to use by users. Users have to login by insert username and password.
Then, it becomes SRS-01: The system shall receive the input data in two text fields for security checking which are username and password on the web application. Together with SRS-02: The system shall provide the message alert which is “The information is invalid” when the system cannot pair the account with input information that a user entered.

Design Phase:
Designer in development team must design the feature of authentication system on the web application follow the requirement of the customer that user interface should provide two text fields and provide the message alert when data is incorrect.

Development Phase:
Developer in development team must provide a condition for checking data into the software system, and the condition should perform with the user interface like SRS-01 and SRS-02 provided.

Testing Phase:
Tester in developer team must test the system that can perform like the customer requirement. When a tester is testing the system and if the data is incorrect, the system shall provide the state like SRS-02.

Therefore, every process of software development depends on requirement specification document because if the customer requirement that was recorded in the requirement document is clear, every process of the work will perform and it can control the direction of software features. Also, the development team can manage the time and resource to achieve the customer need.

At the beginning of this article that I told: Requirement Specification document can define the direction of work and control the features of the system. Also, it can help the development team to manage the scope of work within time and resource.

Yes, But that’s not enough.
Requirement specification document does not only define and manage the software project but also the evidence that the development team and customer should sign agreement together.

Finally, Requirement Specification Document becomes “Contract.”

Note: I hope this article can make more clearly for the people who have the question that “why do we need requirement specification document in the software development process ?” But I’m a weak experience. So, if something goes wrong, please tell me and let’s share your idea at the comment.

Thank you for your attention :)

--

--