Applies to several stages in the life of a system or product, for example:
- at development or compile time,
- installation or deployment time,
- during testing
- at runtime
Capability of a product to:
- serve a different or expanded set of requirements
- work with different infrastructures or environments
Flexibility to context of use should consider two distinguished aspects, i.e., technical and non-technical. Technical aspect is related with execution environment of products, such as software, hardware and communication facility, and non-technical aspect is related with social environment ,such as user and task, and physical environment, such as climate and nature.
The ease with which the product can be:
- adapted to changes in its requirements, or infrastructure
- modified without introducing defects,
- transferred to different hardware, software or other operational or usage environments
A system can easily be changed (as opposed to agility, which means that system can rapidly be changed.)
Effort required to modify an operational program.