Requirements is what to feed engineering processes. As such they are to be presented under a wide range of forms, and nothing should be assumed upfront about forms or semantics.
Answering the question of reuse therefore depends on what is to be reused, and for what purpose.
Documentation vs Reuse
Until some analysis can be carried out, requirements are best seen as documents; whether such documents are to be ephemeral or managed would be decided depending on method (agile or phased), contents (business, supporting systems, implementation, or quality of services), or purpose (e.g governance, regulations, etc).
Setting apart external conditions, requirements documentation could be justified by:
- Traceability of decision-making linking initial requests with actual implementation.
- Maintenance of deliverables during their life-cycle.
Depending on development approaches, documentation could limited to archives (agile development models) or managed as intermediate products (phased development models). In the latter case reuse would entail some formatting of requirements.
The Cases for Requirements Reuse
Assuming that requirements have been properly formatted, e.g as analysis models (with technical ones managed internally at system level), reuse could be justified by changes in business, functional, or quality of services requirements:
- Business processes are meant to change with opportunities. With requirements available as analysis models, changes would be more easily managed (a) if they could be fine-grained. Business rules are a clear example, but that could also be the case for new features added to business objects.
- Functional requirements may change even without change of business ones, e.g if new channels and users are introduced addressing existing business functions. In that case reusable business requirements (b) would dispense with a repeat of business analysis.
- Finally, quality of service could be affected by operational changes like localization, number of users, volumes, or frequency. Adjusting architecture capabilities would be much easier with functional (c) and business (d) requirements properly documented as analysis models.
Along that perspective, requirements reuse appears to revolve around two pivots, documents and analysis models. Ontologies could be used to bind them.
Requirements & Ontologies
Reusing artifacts means using them in contexts or for purposes different of native ones. That may come by design, when specifications can anticipate on shared concerns, or as an afterthought, when initially unexpected similarities are identified later on. In any case, reuse policies have to overcome a twofold difficulty:
- Visibility: business and functional analysts must be made aware of potential reuse without having to spend too much time on research.
- Overheads: ensuring transparency, traceability, and consistency checks on requirements (documents or analysis models) cannot be achieved without costs.
Ontologies could help to achieve greater visibility with acceptable overheads by framing requirements with regard to nature (documents or models) and context:
With regard to nature, the critical distinction is between document management and model based engineering systems. When framed as ontologies, the former is to be implemented as thesaurus targeting terms and documents, the latter as ontologies targeting categories specific to organizations and business domains.
With regard to context the objective should be to manage reusable requirements depending on the kind of jurisdiction and stability of categories, e.g:
- Institutional: Regulatory authority, steady, changes subject to established procedures.
- Professional: Agreed upon between parties, steady, changes subject to accord.
- Corporate: Defined by enterprises, changes subject to internal decision-making.
- Social: Defined by usage, volatile, continuous and informal changes.
- Personal: Customary, defined by named individuals (e.g research paper).
Combined with artificial intelligence, ontology archetypes could crucially extend the benefits of requirements reuse, notably through the impact of deep learning for visibility.
On a broader perspective requirements should be seen as a source of knowledge, and their reuse managed accordingly.
- How to Begin with Requirements
- Focus: Business Analyst Booklet
- Requirements Capture
- Requirements Taxonomy
- Requirements & Architecture Capabilities
- Requirements Analysis
- Requirements Threads
- Non Functional requirements
- Ontologies & Models
- Ontologies & Enterprise Architecture
- Ontologies as Productive Assets
- System Conceptual Thesaurus
- The cases for reuse
2 thoughts on “Focus: Requirements Reuse”
I will be glad to know more about ReSar’s positioning: framework, plugin, models, software, conceptual thesaurus ?
Reuse of Requirements Artifacts makes them robust and economical. Please take a look at ReSAR: Reuseable Software Artifacts Repository.
I will study your article more closely and point out what I proposed in the above PPT and PDF.
Worth pursuing ReSAR