One of the most important elements of a software development project is requirements management (RM)—a systematic approach to eliciting, organizing, documenting, and tracking a system’s requirements. Proper RM helps validate and verify the system, manage change, and analyze the project’s status. It’s much less expensive to fix a problem during requirements analysis than during design, testing, or production. Regardless of this fact, RM is often neglected in projects, and time spent on it is proportionally too small.
A research study called CHAOS, done by the Standish Group in 1995, indicated that three main factors cause projects to fail to come in on time, adhere to budget, and deliver required functionality:
Lack of user input