Link to Google Forms Self Assessment
See Building an integrated Agile/DevOps Maturity Model showing how to progress
Contents:
- Table of all items
- Organization
- Teamwork
- Build management continuous integration
- Continuous delivery and deployment
- Lifecycle management & compliance
- Testing
- Data & integration management
Organization | Teamwork | Build Management Continuous Integration | Continuous Delivery and Deployment | Lifecycle Management & Compliance | Testing | Data & Integration Management | |
---|---|---|---|---|---|---|---|
Optimized |
Lean and agile are part of the organizational culture. Continuous learning and optimization of the work processess. |
Effective knowledge sharing. Individual empowerment. |
Teams regularly meet to discuss integration problems. Teams resolve problems with automation, fast feedback, and better visibility. |
Environments are managed effectively. Provisioning is fully automated. Standard topologies are available for common components. |
Full portfolio and lifecycle management are in place, and integrate user requirements, development, testing, staging, and production. |
Testing is fully automated. Production rollbacks are rare. Defects are found and fixed immediately. |
Release-to-release feedback loop of database and integration performance and deployment processes. |
Measured |
Communities of practice support agile habits and high maturity across the organization. Measurement systems are in place to keep track of business value delivered. Inefficiencies are identified and acted upon. |
Integrations among development teams, testing teams, and operations teams are implemented, even among teams in multiple countries. Success is celebrated. People are fully respected and recognized for their contributions. |
Build metrics are gathered, made visible, and acted upon. Lessons are learned. Continuous improvement is in place. |
Deployments are orchestrated and managed. Release processes are tested. Rollback processes are tested. |
Environmental health and application health are monitored and proactively managed. Cycle times are monitored. |
Quality metrics and trends are tracked. Non-functional requirements are defined and measured. |
Database upgrades and rollbacks are tested with every deployment. Database performance is monitored and optimized. Integration is performed by using message queues, enabling scale-up and scale-down. |
Defined |
Disciplined agile delivery processes and practices are implemented. Continuous improvement is in place. Appropriate governance is in place. |
Co-located development, testing, and operations teams are starting to work together towards a common goal. Communications and feedback loops are initated across the whole supply chain. |
Every time a source code change is committed, an automated build and test cycle is performed. Dependencies are managed. Scripts and tools are re-usable. |
Software is deployed using a fully-automated, self-service process. Same deployment process is used for every environment. |
Lean portforlio management. Change management and approval processes are in place and enforced. |
Automated unit tests. Automated acceptance tests. Testing is part of the devleopment process. Feedback loops are in place. Continuous improvement is measured and managed. |
Databases and integrations are included in the deployment process. |
Managed |
The organization is starting to embrace agile habits within development. Operations is still seen as separate. Consistency across teams is variable. |
Some knowledge sharing activities get under way. Teams are starting to communication within development. Standard work practices are defined and mostly followed. |
Automation is implemented in the build phase and test phase, but is still siloed. No central infrastructre in place. |
Deployment is partially automated to some environments. Some environments can be provisioned automatically. Some middleware and database components are provided centrally. |
Lifecycle management is painful and infrequent but releases are reliable. There is limited traceability from requirement to release. Quality is improving. |
Test scripts and test data are generated as part of the development process. Test scripst and test data are used for automating some tests. |
Database changes are done through the use of automated scripts with versions associated to applications. An Enterprise Application Integration bus is implemented to facilitate integration. |
Initial |
Development teams work in isolation, and use the tools, middleware, and components they deem most appropriate to deliver the work. |
Poor teamwork, ad-hoc communication & coordination. No knowledge pool. Little sharing. Success achieved primarily through heroic individual efforts. |
Manual and reactive processes. Little management of artifacts, documentation, and source code. Uncontrolled. |
Software is deployed manually, using environment-specific binaries. Environment is provisioned manually. |
Infrequent and unreliable releases. Manual application lifecycle. Software quality turns out to be variable. |
Manual testing. No test scripts. Typically done after development. |
Data migrations are performed manually. Integration is ad-hoc and often point-to-point. |
- Initial
- Development teams work in isolation, and use the tools, middleware, and components they deem most appropriate to deliver the work.
- Managed
-
The organization is starting to embrace agile habits within development.
-
Operations is still seen as separate.
-
Consistency across teams is variable.
- Defined
-
Disciplined agile delivery processes and practices are implemented.
-
Continuous improvement is in place.
-
Appropriate governance is in place.
- Measured
-
Communities of practice support agile habits and high maturity across the organization.
-
Measurement systems are in place to keep track of business value delivered.
-
Inefficiencies are identified and acted upon.
- Optimized
-
Lean and agile are part of the organizational culture.
-
Continuous learning and optimization of the work processess.
- Initial
-
Poor teamwork, ad-hoc communication & coordination.
-
No knowledge pool.
-
Little sharing.
-
Success achieved primarily through heroic individual efforts.
- Managed
-
Some knowledge sharing activities get under way.
-
Teams are starting to communication within development.
-
Standard work practices are defined and mostly followed.
- Defined
-
Co-located development, testing, and operations teams are starting to work together towards a common goal.
-
Communications and feedback loops are initated across the whole supply chain.
- Measured
-
Integrations among development teams, testing teams, and operations teams are implemented, even among teams in multiple countries.
-
Success is celebrated.
-
People are fully respected and recognized for their contributions.
- Optimized
-
Effective knowledge sharing.
-
Individual empowerment.
- Initial
-
Manual and reactive processes.
-
Little management of artifacts, documentation, and source code.
-
Uncontrolled.
- Managed
-
Automation is implemented in the build phase and test phase, but is still siloed.
-
No central infrastructre in place.
- Defined
-
Every time a source code change is committed, an automated build and test cycle is performed.
-
Dependencies are managed.
-
Scripts and tools are re-usable.
- Measured
-
Build metrics are gathered, made visible, and acted upon.
-
Lessons are learned.
-
Continuous improvement is in place.
- Optimized
-
Teams regularly meet to discuss integration problems.
-
Teams resolve problems with automation, fast feedback, and better visibility.
- Initial
-
Software is deployed manually, using environment-specific binaries.
-
Environment is provisioned manually.
- Managed
-
Deployment is partially automated to some environments.
-
Some environments can be provisioned automatically.
-
Some middleware and database components are provided centrally.
- Defined
-
Software is deployed using a fully-automated, self-service process.
-
Same deployment process is used for every environment.
- Measured
-
Deployments are orchestrated and managed.
-
Release processes are tested.
-
Rollback processes are tested.
- Optimized
-
Environments are managed effectively.
-
Provisioning is fully automated.
-
Standard topologies are available for common components.
- Initial
-
Infrequent and unreliable releases.
-
Manual application lifecycle.
-
Software quality turns out to be variable.
- Managed
-
Lifecycle management is painful and infrequent but releases are reliable.
-
There is limited traceability from requirement to release.
-
Quality is improving.
- Defined
-
Lean portforlio management.
-
Change management and approval processes are in place and enforced.
- Measured
-
Environmental health and application health are monitored and proactively managed.
-
Cycle times are monitored.
- Optimized
-
Full portfolio and lifecycle management are in place.
-
Management integrates user requirements, development, testing, staging, and production.
- Initial
-
Manual testing.
-
No test scripts.
-
Typically done after development.
- Managed
-
Test scripts and test data are generated as part of the development process.
-
Test scripst and test data are used for automating some tests.
- Defined
-
Automated unit tests.
-
Automated acceptance tests.
-
Testing is part of the devleopment process.
-
Feedback loops are in place.
-
Continuous improvement is measured and managed.
- Measured
-
Quality metrics and trends are tracked.
-
Non-functional requirements are defined and measured.
- Optimized
-
Testing is fully automated.
-
Production rollbacks are rare.
-
Defects are found and fixed immediately.
- Initial
-
Data migrations are performed manually.
-
Integration is ad-hoc and often point-to-point.
- Managed
-
Database changes are done through the use of automated scripts with versions associated to applications.
-
An Enterprise Application Integration bus is implemented to facilitate integration.
- Defined
- Databases and integrations are included in the deployment process.
- Measured
-
Database upgrades and rollbacks are tested with every deployment.
-
Database performance is monitored and optimized.
-
Integration is performed by using message queues, enabling scale-up and scale-down.
- Optimized
- Release-to-release feedback loop of database and integration performance and deployment processes.