Keeping software ready for reliable release.

Ongoing observation of system behavior and health.

Finding and fixing software defects.

Automatically releasing validated changes to production.

Testing whether software components satisfy an agreed interface contract.

External component required by software.

Frequently merging code and automatically testing it.

System component managing configuration and coordination.

Supplying required dependencies to an object externally.

Order in which program instructions execute.