Developing the Software Requirements Specification

Developing the Software Requirements Specification

Getting the requirements correct is perhaps the major part of a software development project. Once a software development team begins to collect the project requirements, it is critical that the project have a consistent format for maintaining and presenting them. This section explains the construction of the software requirements specification (SRS), used for the ongoing maintenance and presentation of the project requirements. The SRS is critical to the entire software development life cycle. Not only is it the derivative document for the software design specification, but also it is the base document for generating the validation and acceptance tests. Validation is the determination of whether or not we as project managers have built the right product. Satisfying the requirements determines successful validation. The SRS is the mechanism for capturing those validation criteria - the system requirements.

Barry Boehm defined the economics of software engineering in 1981. Figure 1 shows that it costs more to fix a bug the later it is found in a project's life cycle. Most bugs in the later portions of the life cycle are caused by unclear or missing requirements. We cannot change the economics but we can lower the number of bugs that escape from the requirements phase of our life cycle by developing a complete SRS. This section explains recommended approaches for the specification of software requirements.

Defects Found Late in the Life Cycle Cost More to Correct

Where We Are in the Product Development Life Cycle

We have finished with concept and system exploration. At this point in the project we should have an understanding of where the project's ultimate product fits within the system environment. The system environment is important because this is where the software lives. We are now in the requirements phase of the project life cycle and, as illustrated in Figure 2, the one deliverable from the phase is the software requirements specification.

Where the Development of the Software Requirements Specification Occurs in the Product Development Life Cycle

"Developing the Software Requirements Specification" Relation to the 34 Competencies

A project manager's ability to successfully manage requirements, coupled with documenting and presenting those requirements, is critical to a quality SRS. Estimating effort and developing schedules from these requirements is the most important part of the project manager's job in this phase of the software development life cycle.

The competencies that will be addressed in this section include:

Product Development Techniques

5. Managing requirements - Managing and defining correct requirements is perhaps the most important part of a software development project. This chapter describes the construction of the SRS document itself, beginning with the exploratory activity of helping the customer determine his or her true wants and needs.

Project Management Skills

13. Documenting plans

15. Estimating effort

People Management Skills

25. Holding effective meetings

31. Presenting effectively

And, as with almost all activities that depend on customer interaction and result in a project deliverable, people management skills 26 - interaction and communication, 27 - leadership, 28 - managing change, 29 - negotiating successfully, and 34 - teambuilding, are always in play.

Learning Objectives for "Developing the Software Requirements Specification"

At the completion of this chapter, the reader will be able to:

●  Develop a complete SRS for a software development project;

●  Evaluate an SRS with respect to critical quality factors;

●  Plan and estimate the task of developing an SRS during the requirements phase of a project;

●  Lay the groundwork for acceptance and validation testing.


srs, software development, life cycle,
The contents available on this website are copyrighted by TechPlus unless otherwise indicated. All rights are reserved by TechPlus, and content may not be reproduced, published, or transferred in any form or by any means, except with the prior written permission of TechPlus.
Copyright 2018 SPMInfoBlog.
Designed by TechPlus