ThoughtWorks Agile Maturity Model

The ThoughtWorks Agile Maturity Model applied to building and releasing software. Five maturity levels for five categories.
Read more
Article

ThoughtWorks Agile Maturity Model


Level / Practice Build management and continuous integration Environments and deployment Release management and compliance Testing Data management
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.

Similar posters

Maslow's Hierarchy Of Needs
Maslow's Hierarchy Of Needs Maslow's hierarchy of needs links basic human needs and desires, emphasizing that survival needs must be met before higher needs.
RACI Matrix
RACI Matrix RACI Matrix/Chart is the type of responsibility assignment matrix for effective work organization, communicating the responsibilities.
CEDAR Feedback
CEDAR Feedback CEDAR is a structured feedback model providing coaching opportunities via repeated revisiting and readjusting of the feedback and the goals.
STATIK Kanban
STATIK Kanban The Systems Thinking Approach To Introducing Kanban (STATIK) is a repeatable way to start with Kanban resulting in continuous improvement.
Data Model Canvas
Data Model Canvas The Data Product Canvas is a framework for developing data products based organized into 10 blocks within 3 domain areas.
Kanban Practices
Kanban Practices Visualize Visualizing your work provides transparency, identifying the bottlenecks. Create cards for the items you work on. Think of the workflow – statuses that work items go through to make implicit policies explicit, which enable learning how the work works. Limit Work In Process Stop starting, start finishing. Limit the number of items being worked...
Theory Of Constraints
Theory Of Constraints The Theory of constraints says the throughput of any system is limited by at least one constraint slowing it down.
Classes of Service (CoS)
Classes of Service (CoS) Classes of service (CoS) provide a transparent way of categorizing the incoming work items and ensuring they are properly prioritized and governed to lead to meeting customer expectations. They enable managing risk, priorities, and cost of delay. Expedite High-priority items that should be worked on as soon as possible. Expedite class work items have critical...
Seven wastes of software development
Seven wastes of software development Similar to what TPS identified as seven categories of waste in manufacturing, also software development has its own wastes.
Core Kanban Practices
Core Kanban Practices One of the few rules or practices which are the foundation of Kanban are its 3 core practices: Visualize, Limit WIP, and Manage flow.