It didn’t hit me until after a second viewing of Jez Humble’s recent webinar with Perforce that his ways to predict high IT performance aren’t just a neat party trick; they’re absolutely essential. The days of bugs making it into production, distrust between departments, and delayed fixes and releases are becoming a thing of the past, at least among “high performers” of the world.
And as the complexity of software grows year after year, being able to accurately predict success may be the only way to actually achieve it.
Jez lists the following must-haves for anyone looking to consistently guarantee a high level of IT performance:
- Peer-reviewed change approval process
- Version control everything
- Proactive monitoring
- High-trust organizational culture
- Win-win relationship between Dev and Ops
After being able to check off the above items, Jez gives IT a list of ways that high performance can be measured in-play. This allows IT to not just be able to validate their predictions, but to ensure that they’re on the correct path to aligning themselves with current business objectives, and removing the bottlenecks and inefficiencies that have plagued the SDLC for too long.
I won’t share everything from the webinar; it’s really worth watching on your own, as Jez tells the story far better than I do. But one of the most effective ways to measure performance that you may have heard Jez, Gene Kim, or others speak to in the past is that around “lead time.”
Jez suggests that IT ask themselves:
- How quickly can we restore service?
- How quickly can we get a critical fix to users?
- How quickly can I validate if a feature is valuable?
I had a question of my own for Jez that I was lucky enough to have answered during the Q&A period. I asked, if he felt that dev/test environment availability was ultimately just as important as the availability of an application as a whole and Jez answered:
Yes. The key quote in Continuous Delivery is, “If it hurts, bring the pain forward. If you find an error in production, test it daily to find that error earlier, and more often. Make your architecture more simple, easy to deploy, easy to test, and able to be validated earlier in the process.
Of course the ideal time to ask (and to be able to answer) Jez’s questions is long before service goes down, a critical fix is needed, or a feature is released.
Whether you can confidently answer those questions or not should give you a pretty solid performance prediction of your own.
Need further proof that on-demand access to complex dev/test environments result in highly productive IT ops, development, and QA departments? Take advantage of this complimentary download of the voke Market Snapshot Report: Virtual & Cloud-based Labs