Overview
ISO/IEC 26557:2016 defines a structured approach for variability mechanisms in software and systems product lines. It standardizes terms and definitions, specifies processes (with purpose, inputs, tasks, outcomes) across product-line life‑cycle stages, and describes the method capabilities and tool capabilities needed to support and (semi-)automate variability-related tasks. The standard applies to families of products (product lines), not to single-system variability.
Key topics and technical requirements
- Terms and definitions for variability mechanisms to ensure consistent vocabulary across teams and tools.
- Reference model for variability mechanisms in product-line engineering.
- Variability mechanism management: planning, enabling, and tracking activities including resource estimation, responsibilities, quality measures, guidance, and measurement infrastructure.
- Operationalization across life‑cycle stages:
- Requirements variability
- Domain design and architecture (including binding time decisions)
- Detailed design and realization (implementation-level configurability)
- Compile-time, post‑compile (link/load/deploy), and run‑time variability mechanisms
- Test artefacts and test-level variability support
- Support functions: relating mechanisms to variability models, quality assurance, binding‑time decision support, and application configuration support.
- Tool and method capabilities: the standard defines capabilities that methods should provide and what tools should automate or semi-automate to support each task or method capability.
- Non‑scope: explicitly focuses on product-line (family-level) mechanisms rather than mechanisms for a single product or system.
Practical applications and users
This standard is practical for organizations implementing or evolving a software or systems product-line practice. Typical users include:
- Product-line architects and systems engineers - to choose and document binding times and architectural variability strategies.
- Requirements engineers - to categorize and bind requirements-level variability.
- Implementation teams and developers - to enable implementation-level configurability, compile/post‑compile mechanisms, and runtime reconfiguration.
- Tool vendors and method providers - to design tool capabilities that automate variability tasks and provide decision support.
- Project managers and QA/assurance teams - for planning, tracking, and quality assurance of variability operationalization.
Practical benefits: improved reuse, predictable configurability, clearer traceability between variability model and implementations, and automated support for product derivation and configuration.
Related standards
- Other ISO/IEC software and systems engineering standards developed under ISO/IEC JTC 1/SC 7 (product-line engineering and lifecycle management). Consult ISO and IEC catalogs for complementary standards on product-line processes, architecture, and quality assurance.
Keywords: ISO/IEC 26557:2016, variability mechanisms, software product line, systems product line, variability management, binding time, configurability, tool capabilities, method capabilities.