It may not always be obvious why requirements are necessary. For projects, however, an agreed set of requirements is essential from a number of different perspectives. For business management, the set of requirements provides a mechanism whereby the organisation’s resources can be allocated knowingly to the project that has been established to bring the system into being. For project managers, the set of requirements is an essential part of the definition of the scope of the project—it is from this scope that estimates will be developed for schedule and budget. For the systems engineer, the formal set of system requirements represents the transition from the business world into the systems engineering and engineering domains.
This text focuses on the relevant processes for good requirements practice through which we develop a set of requirements that is complete, consistent, comprehensible, feasible, and able to be validated. It is designed to support undergraduate and postgraduate courses in requirements engineering, as well as provide a manual for practitioners in business analysis, project management, systems engineering, and requirements engineering. While addressing upper-level frameworks and lower-level requirements-writing skills, it focuses principally on how to ‘do’ requirements engineering—that is, how to conduct system-level logical design such that the resulting textual artefacts not only have the right shape, but also have the right content.