DevOps Maturity Index - Baselining DevOps
Before you embark on a DevOps program it’s essential that you measure the baseline of where you are at today.
Having a baseline means you can build a business case, apply targets and goals to your projects and measure your success as you progress through your project ultimately reporting back to the board on how you used the money to save or make more money - and improved your teams’ satisfaction. Happy people are the most productive people.
The Ranger4 DevOps Maturity Index has been developed to allow us to quantify organisation's DevOps capability and measure progress as we deploy new DevOps initiatives.
Technical and Financial Metrics
There are hard, quantifiable technical and financial metrics we take, such as:
- Number and frequency of software releases
- Volume of defects
- Time/cost per release
- Number and frequency of outages / performance issues
- Revenue/profit impact of outages / performance issues
- Number and cost of resources
Although cultural metrics are softer, nigh on impossible to apply hard dollar value to, DevOps is about resolving conflict in the workplace, eliminating stress and avoiding burnout - and they are measurable. Happy people are more productive - their health is better, they have more ideas, work more effectively and will put in the extra mile. We review our customers across a number of key cultural indicators around feelings about change, failure, going to work, what a typical day’s work entails, in addition to a number of cultural attributes such as:
- Cross-skilling, knowledge sharing and pairing between teams
- Working in a fluid but focussed manner
- Working in multi-disciplinary teams
- Organizing teams around projects rather than skill-sets
- Constantly dancing on the edge of failure (in a good way)
- Position vis a vis business demand
- Extraneous lines of code
- Attitude to continuous improvement
- Obsession with metrics
- Technological experimentation
- Team autonomy
We also look at a number of team features such as:
- Rewards and feelings of success
- Hierarchical and political obstacles and annoyances
- Inspiring and fostering creativity
DevOps is not a process or a tool - but there are a number of processes in the software development lifecycle (SDLC) that affect both traditional development and operations staff to greater or lesser degrees that need to be taken into consideration. All of these process components can be optimised, and all of them can then be improved upon further using appropriate software tooling.
An ultimate goal of a typical DevOps project is often to attain true continuous delivery (CD) by linking these processes and tools together to allow fully tested, production ready, committed code to proceed to live without impediment - we often refer to the software infrastructure piece of this as the DevOps toolchain. When baselining current state, it’s useful to measure these component processes and their relative maturity (taking into account use of existing tools and success of implementation). Typically, we look at our five elements of The DevOps Loop:
- Ideation (how requirements are elicited and managed)
- Integration (the composition of applications and integration of code and applications)
- Validation (ensuring quality and security are engineered in from the start)
- Operation (full velocity provisioning, release and deployment and optimised support)
- Realisation (measuring the value in live and amplifying feedback loops)
Want to know your DMI? Request a DevOps Maturity Assessment.