Testing by selected external users before broad release.

Development approach where tests guide implementation.

Average time needed to restore operation.

Distributed version-control system.

Comparing two versions to determine which performs better.

Development approach expressing behavior in business-readable terms.

Structure and tools supporting automated tests.

Storage location containing project history and files.

Processes intended to prevent software quality problems.

Development guided by acceptance criteria and tests.