Best Practice: Manage RequirementsTopicsWhat is Requirements Management?Requirements management is a systematic approach to finding, documenting, organizing, and tracking a system's changing requirements. We define a requirement as "a condition or capability to which the system must conform". We formally define requirements management as a systematic approach to both:
Keys to effective requirements management include maintaining a clear statement of the requirements, along with appropriate attributes and traceability to other requirements and other project artifacts. Collecting requirements may sound like a rather straightforward task. In reality, however, projects run into difficulties for the following reasons:
No matter how carefully you've defined your requirements, there will always be things that change. What makes changing requirements complex to manage is not only that a changed requirement means that time has to be spent on implementing a particular new feature, but also that a change to one requirement may have an impact on other requirements. Managing change includes such activities as establishing a baseline, determining which dependencies are important to trace, establishing traceability between related items, and implementing change control. How is Development Driven by Use Cases?Our recommended method for organizing your functional requirements is using use cases. Instead of a bulleted list of requirements, organize them in a way that tells a story of how someone may use the system. This provides for greater completeness and consistency, and also provides a better understanding of the importance of a requirement from a user's perspective. From a traditional object-oriented system model, it's often difficult to tell how a system does what it's supposed to do. This difficulty stems from the lack of a "red thread" through the system when it performs certain tasks. In the Rational Unified Process (RUP), use cases are that thread because they define the behavior performed by a system. Use cases are not part of traditional object orientation, but their importance has become even more apparent. This is further emphasized by the fact that use cases are part of the Unified Modeling Language. The RUP employs a "use-case driven approach", which means that use cases defined for a system are the basis for the entire development process. Use cases play a part in several disciplines.
|
Rational Unified Process |