|Level 3 – Optimizing: Focus on process improvement
||Regular meetings to discuss integration issues addressed by automation, faster feedback, and visibility.
||Environments are effectively managed. Provisioning fully automated. Virtualization use if applicable.
||Operations and development teams regularly collaborate to manage risk and reduce cycle times.
||Rare production rollbacks. Defects are found and fixed immediately.
||Release to release feedback of database performance and deployment process.
|Level 2 – Quantitatively managed: Process measured and controlled
||Build metrics are collected, visible, and acted on. Builds are not left broken.
||Orchestrated deployment managed. Versions and rollback process are tested.
||Environment and applications health monitored and proactively managed. Monitored cycle time.
||Quality metrics and trends tracked. Non-functional requirements are defined and measured.
||Database upgrades and rollbacks tested with each deployment. Database performance is monitored and optimized.
|Level 1 – Consistent: Automated processes applied across the whole application lifecycle
||Automatic build and test cycle every time a change is committed. Dependencies are managed. Re-use of scripts and tools.
||Fully automated push-button deployment process. The same deployment process to all environments.
||Change management and approval process defined and applied. Regulator and compliance conditions met.
||Automated unit and acceptance tests. Testing is part of the development process.
||Database changes are made automatically as part of the deployment process.
|Level 0 – Repeatable: Process documented and partly automated
||Regular automatic build and testing. Any build can be recreated from version control using an automated process.
||Automated deployment for some environments. Creating new environments is inexpensive. All configurations are versioned.
||Painful and infrequent, but reliable releases. Limited traceability from requirements to release.
||Automated tests are written as part of the story development.
||Changes in the database are made by automated scripts, versioned with the application.
|Level -1 – Regressive: Processes unrepeatable. poorly controlled, and reactive
||Manual processes for building software. No management of artifacts and reports.
||Manual process for software deployment. Environment-specific binaries. Environments provisioned manually.
||Infrequent and unreliable releases.
||Manual testing after development.
||Data migration unversioned and performed manually.