Thursday, August 03, 2017

Software Development: Maturity Model Roadmap - A Framework

 

Maturity Model Roadmap - A Framework

The Maturity Model is a framework that helps teams assess what capabilities they need to acquire next in order to improve their performance and advance in their Lean-Agile and DevOps practices. It is used in a Continuous Improvement framework to guide the teams in terms of learning, training and application of skills, and to determine when they are ready to move to the next level based on measurements and other criteria.  

 

Category

Novice

Beginner

Intermediate

Advanced

Expert

Deploy

Scripted deploys

Automated app deployments w/ scripted DB and configs

Automated app, config and DB deployments w/ auto discover able dependencies

Infrastructure as code

Zero touch immutable and idempotent deployments

Telemetry

Basic/limited app/platform logs and metrics, manual/ad hoc visualization, alerting, and reporting

Structured logs, RED/USE metrics, and system availability monitoring, basic automated alerting, dashboards, and reports

Centralized, optimized log and metrics collection and storage, targeted alerting, audience-specific visuals and reports

Intelligent aggregation and retention of logs and metrics, lower environment comparative metrics, end-to-end synthetics, unified visualization, alerting and reports

Distributed platform tracing, logs and metrics used for system scaling, and capacity planning, fully automated visualizations, metrics-driven recovery and self-healing

Test

Unit Testing, Mocking

Automated Functional Testing, Service Virtualization

Automated Performance, Load Testing and Code Instrumentation

Test First, Test Data Management

Testing in Production, Synthetic Monitoring

Build

Manual Builds w/ versioned code base

Partially automated builds w/ documented branching strategy

Automated builds run on demand w/ managed artifacts

Automated builds triggered on code commits w/ minimal branching

Zero touch build pipeline w/ Trunk based development

Security

Initiating Security Alignment

Approaching Security Alignment

Achieving Security Alignment

Partnering in Security Alignment

Leadership in Security Alignment

Architecture & Design

Code Quality and Design Patterns

Modular Architecture

Individually Releasable Components

Architectural Integrity (Shifting from Project to Product)

Adapting Architecture and Design

Lean-Agile

Learning Lean-Agile Principles/Practices

Practicing Lean-Agile Principles/Practices

Growing in Lean-Agile Principles/Practices

Performing in Lean-Agile Principles/Practices

High Performing in Lean-Agile Principles/Practices

  *The Lean-Agile Maturity Model leverages commonly-used assessments, primarily from scrum.org. We may pull in and/or pivot to others like SAFe Team Self-Assessment in the future.