Reusability
Quality of software relevant to reuse
- 1 min read
- 1 chapters
Related on Lably
Through Computer programming, Software and Packaging
The ability to reuse can be viewed as the ability to build larger things from smaller parts, and to identify commonality among the parts. Reusability is often a required characteristic of platform software. Reusability brings several aspects to software development that do not need to be considered when reusability is not required.
Reusability may be impacted by various DevOps aspects including: build, packaging, distribution, installation, configuration, deployment, maintenance and upgrade. If these aspects are not considered, software may seem to be reusable based on its design, but may not be reusable in practice.
Many reuse design principles were developed at the WISR workshops. Although lacking consensus candidate design features for software reuse include:
- Adaptable
- Brief (small size)
- Consistency
- Correctness
- Extensibility
- Fast
- Flexible
- Generic
- Localization of volatile/changeable design assumptions
- Modularity
- Orthogonality
- Simple (low complexity)
- Stability under changing requirements

