Requirements management

For a project to be successful, thorough specification of the requirements is essential. The design of the product is undertaken with a view to meeting the requirements. A product's requirements should flow from a clear statement of need and the underlying business case. The views of the users and all stakeholders should be considered. Requirements driven development ensures that the finished product fulfils the specified need.

Requirements are normally layered. This means that the first layer would normally define the Users' view of a product and identify a business case. Refinements of that specification lead to closer definition of the system's required operation (but not how it is to be constructed - those are design and implementation issues).

As a development evolves requirements will change. A record of the change process should be maintained. In many sectors such as medical devices this is mandatory: regulations exist which insist on traceability and accountability.

To ensure completeness the specifications should ideally be linked through to the actual design and implementation of the product as well as to respective hazard analysis and test definition documents. This form of linkage is known as "tracing", and is required in regulated and other sophisticated high-reliability markets.

TraceIT® tracer enables requirements to be traced to software modelling artefacts, ensuring that the requirements have been completely and correctly satisfied. Its operation is either stand-alone when it provides a graphical view of trace coverage or it may be activated directly from Rhapsody. When integrated as a Rhapsody pop-up the trace information can be updated in real time as requirements analysis progresses. This direct view of the requirements alongside their covering model elements helps ensure correctness and completeness.

Whilst it is feasible to capture requirements on paper or using a word processor, the documentation created is likely rapidly to become unmanageable. When you add coverage tracing both between layers of requirements and to design artefacts there may be considerable complexity. Each time something then needs to be changed the manual task is not only very time consuming, but it is error-prone.

Requirements management tools

We use IBM DOORS® to manage requirements. It is widely regarded as the best in the market, offering reliable tracing and management of requirements through change. We have developed the experience and expertise to customise DOORS through creating customised scripts to carry out routine tasks to complement the requirements.

Examples of our DOORS customisations using the DXL scripting language include:

Our paper on Requirements Management, which considers this topic in more detail, is available on request.