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. |