Requirements Engineering for Software and Systems

Requirements management involves identifying, documenting, and tracking system requirements from inception through delivery. Inherent in this definition is understanding of the true meaning of the requirements and the management of customer (and stakeholder) expectations throughout the system's lifecycle. A solid requirements management process is the key to a successful project.
Most organizations do not have an explicit requirements management process in place, but this does not mean that requirements management does not occur within the organization. The requirements practices probably exist implicitly in the organization, but these practices are not usually documented. One of our recommendations, obviously, is to document the requirements management practices in your organization.
Each stakeholder has a different requirements "agenda." For example, business owners seek ways to get their money's worth from projects. Business partners want explicit requirements because they are like a "contract." Senior management expects more financial gain from projects than can be realized. And systems and software developers like uncertainty because it gives them freedom to innovate solutions. Project managers may use the requirements to protect them from false accusations of underperformance in the delivered product.
One way to understand why the existence of different agendas even among persons within the same stakeholder group is the "Rashomon Effect." Rashomon is a highly revered 1950 Japanese film directed by Akira Kurosawa. The main plot involves the recounting of the murder of a samurai from the perspective of four witnesses to that event the samurai, his wife, a bandit, and a wood cutter,...