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.