All Systems Integrators and Requirements Managers know that it is highly desirable to have 'reusable' requirements. Reusable requirements reduce the 'Non Recurring Costs (NRCs)' for future projects. For those requirements which are reused between projects, cost of validation and verification can be apportioned between projects. The follow-on projects which reuse requirements, use validation and verification by method of similarity.
But, unless supported by meticulous planning, execution and training, the highly reusable requirements may prove to be illusive.
At AVION, we have developed significant expertise in the requirements management process for complex, high-value technical projects, with a clear focus on requirements reuse.
We recommend following guidelines to ensure that your requirements are reusable and you reduce your project NRCs,
1. Write requirements in a generic format.
You may be surprised to see how many requirements can simply be 'flown in' to sub-systems and components from a well written top-level specification, thus already providing a significant re-use within the same project.
e.g. Instead of writing the 'The colour of the pen shall be green' in the top-level specification, use 'The colour of the product shall be green'. In the latter case, this requirements can be easily reused without any modification for other components of the pen (e.g. lid of the pen).
2. Enforce a strong and meaningful classification system for requirements.
Requirements classification shall always provide a strong management context. Requirements can be reused at a category (e.g. environmental) or sub-category (e.g. temperature) or at elemental (e.g. operating temperature) levels, within the same project or different projects with similar applications.
3. Correctly identify the verification means and methods.
A mechanism that can identify requirements associated to certain verification criterion (e.g. a certain SAE/ARP standard or a TSI), means (e.g. a vibration test rig) or method (e.g. a generic EMC test procedure) can be easily copied over to projects where same means and methods are applicable.
4. Provide a robust configuration control for requirements.
Uncontrolled change in requirements is the single worst factor that prohibits requirements reuse. Only mature and controlled requirements can be reused, any uncertainly about maturity of a requirements prohibits reuse. So, establish the configuration control process which provides an indication of requirement maturity.
5. Establish a requirement pedigree.
A requirement can be reused, either as an identical instance of its precursor or as an instance with different properties than it precursor. So develop a method of visualising how requirements propagate, evolve and morph.
6. Establish key parameters within non-functional requirements.
Establish a way of creating managed instances of the non-functional requirements with robust traceability mechanisms. Such instances can then be reused with a modification to the parameter property. To ensure integrity of the requirements database, the parameters can be tabulated and controlled separately for each product platform.
The quality of your systems integration is directly proportional to the quality of your requirements management.
Well managed requirements will always produce better integrated systems. AVION has wealth of experience in managing requirements, structuring and controlling your requirements using a tool of your choice.
Vijay is a Principal Systems Engineering Consultant. He is an expert systems integrator with wealth of experience in system architecture, requirements management, validation and verification. He has delivered complex and safety critical projects in the Aerospace and Railways industries. He has developed skills through extensive hands on work in manufacturing, design, analysis and test roles and really liked for his amicable personality and can do attitude.