The challenge of managing the requirements of a software- intensive system is that they are dynamic: You must expect them to change during the life of a software project. Furthermore, identifying a system's true requirements ”those that weigh most heavily on the system's economic and technical goals ”is a continuous process. Except for the most trivial system, it is impossible to completely and exhaustively state a system's requirements before the start of development. Indeed, as a new or evolving system changes, a user 's understanding of the system's requirements also changes. A requirement is a condition or capability a system must have. The active management of requirements encompasses three activities: eliciting , organizing, and documenting the system's required functionality and constraints; evaluating changes to these requirements and assessing their impact; and tracking and documenting trade-offs and decisions. Managing the requirements of your project offers a number of solutions to the root causes of software development problems:
|