Skip to content

Latest commit

 

History

History
286 lines (206 loc) · 6.83 KB

File metadata and controls

286 lines (206 loc) · 6.83 KB

Agile Maturity Model by ThoughtWorks

See https://info.thoughtworks.com/rs/thoughtworks2/images/agile_maturity_model.pdf

Build management and continuous integration Environments and deployment Release management and compliance Testing Data management
Level 3
Optimizing:
Focus on process improvement

Teams regularly meet to discuss integration problems.

Teams resolve problems with automation, fast feedback, and better visibility.

All environments managed effectively.

Provisioning fully automated.

Virtualization used if appropriate.

Operations and delivery teams regularly collaborate to manage risks and reduce cycle time.

Production rollbacks rare.

Defects found and fixed immediately.

Release-to-release feedback loop of database performance and deployment process.

Level 2
Quantitatively managed:
Process measured and controlled

Build metrics gathered, made visible, and acted on.

Builds are not left broken.

Orchestrated deployments managed.

Release a rollback processes tested.

Environment and application health monitored and proactively managed.

Cycle time monitored.

Quality metrics and trends tracked.

Non-functional requirements defined and measured.

Database upgrades and rollbacks testing with every deployment.

Database performance monitored and optimized.

Level 1
Consistent:
Automated processes applied across whole application lifecycle management

Automated build and test cycle every time a change is committed.

Dependencies managed.

Re-use of scripts and tools.

Fully automated, self-service push-button process for deploying software.

Same process to deploy to every environment.

Change management and approvals process defined and enforced.

Regulatory and compliance conditions met.

Automated unit and acceptance tests, the latter written with testers.

Testing part of the development process.

Database changes performed automatically as part of the deployment processes.

Level 0
Repeatable:
Process documented and partly automated

Regular automated build and testing.

Any build can be re-created from source control using automated process.

Automated deployment to some environments.

Creation of new environments is cheap.

All configuration externalized/versioned.

Painful and infrequent, but reliable, releases.

Limited traceability from requirements to release.

Automated tests written as part of story development.

Changes to databases done with automated scripts versioned with application.

Level -1
Regressive:
Processes unrepeatable, poorly controlled, and reactive

Manual processes for building software.

No management of artifacts and reports.

Manual process for deploying software.

Environment-specific binaries.

Environments provisioned manually.

Infrequent and unreliable releases.

Manual testing after development.

Data migrations unversioned and performed manually.

Level -1:

  • Manual processes for building software.
  • No management of artifacts and reports.

Level 0:

  • Regular automated build and testing.
  • Any build can be re-created from source control using automated process.

Level 1:

  • Automated build and test cycle every time a change is committed.
  • Dependencies managed.
  • Re-use of scripts and tools.

Level 2:

  • Build metrics gathered, made visible, and acted on.
  • Builds are not left broken.

Level 3:

  • Teams regularly meet to discuss integration problems.
  • Teams resolve problems with automation, fast feedback, and better visibility.

Level -1:

  • Manual process for deploying software.
  • Environment-specific binaries.
  • Environments provisioned manually.

Level 0:

  • Automated deployment to some environments.
  • Creation of new environments is cheap.
  • All configuration externalized/versioned.

Level 1:

  • Fully automated, self-service push-button process for deploying software.
  • Same process to deploy to every environment.

Level 2:

  • Orchestrated deployments managed.
  • Release a rollback processes tested.

Level 3:

  • All environments managed effectively.
  • Provisioning fully automated.
  • Virtualization used if appropriate.

Level -1:

  • Infrequent and unreliable releases.

Level 0:

  • Painful and infrequent, but reliable, releases.
  • Limited traceability from requirements to release.

Level 1:

  • Change management and approvals process defined and enforced.
  • Regulatory and compliance conditions met.

Level 2:

  • Environment and application health monitored and proactively managed.
  • Cycle time monitored.

Level 3:

  • Operations and delivery teams regularly collaborate to manage risks and reduce cycle time.

Level -1:

  • Manual testing after development.

Level 0:

  • Automated tests written as part of story development.

Level 1:

  • Automated unit and acceptance tests, the latter written with testers.
  • Testing part of the development process.

Level 2:

  • Quality metrics and trends tracked.
  • Non-functional requirements defined and measured.

Level 3:

  • Production rollbacks rare.
  • Defects found and fixed immediately.

Level -1:

  • Data migrations unversioned and performed manually.

Level 0:

  • Changes to databases done with automated scripts versioned with application.

Level 1:

  • Database changes performed automatically as part of the deployment processes.

Level 2:

  • Database upgrades and rollbacks testing with every deployment.
  • Database performance monitored and optimized.

Level 3:

  • Release-to-release feedback loop of database performance and deployment process.