IT performance and well-know DevOps practices, such as those that enable continuous delivery, are predictive of organisational and business performance.
How IT performance is measured? the most used criteria is measured in terms of throughput and stability. The individual measures that make up IT performance are:
- Deployment frequency
- Lead time for changes
- Mean time to recover from failure
Bear in mind DevOps has always been about culture, not just about tools and processes. Healthy cultural practices and norms that characterise high-trust organisations are required for the successful implementation of agile methodologies, these are: good information flow, cross-functional collaboration, shared responsibilities, learning from failures and encouragement of new ideas.
Practices Leading to Increased Deployment Frequency
- Continuous delivery ensures that your software is always in a releasable state that can be performed on demand.
- Capability for easily recreate environments for testing and troubleshooting.
Practices Leading to Reduced Lead Time for Changes
- Version control as the ability to get changes into production repeatedly in a reliable, low risk way.
- Reliable and comprehensive set of automated tests, so code is releasable without lengthy integration and manual regression testing cycles.
Practices Better Mean Time to Recover
- Version control, when an error is identified in production, devs can quickly either redeploy the last good state or fix the problem and roll forward.
- Monitoring system and application health so is easy to detect failures and identify the events that contributed to them.
Implementing continuous delivery means creating multiple feedback loops to ensure that high-quality software gets delivered to users more quickly. Continuous delivery requires that developers, testers, designers and UX, product and operations people collaborate effectively throughout the delivery process.
Continuous integration is a development practice whereby developers routinely merge their code into build servers with version control systems. Each change triggers a set of quick tests to discover serious regression, which developers must fix immediately.
Six Recommendations to Apply when working with DevOps:
- work with other teams and build empathy, build bridges, understand challenges and put yourself in the shoes of the others
- build trust between teams, trust is built on kept promises, open communication, and behaving predictably even in stressful situations
- actively seek, encourage and reward work that facilitates collaboration, make sure success is reproducible
- learn by sharing knowledge & create opportunities and spaces to share information
- create a training budget, and advocate for it internally
- make it safe to fail
Read more: Puppet Labs. “2014 State of DevOps Report“. PDF report.