What we do
QA Consulting & Engineering
During the bad old days of software development, we lived with a waterfall delivery model. It was based off civil engineering project methodologies and went something like this:
- Discrete phases
- Hand offs between siloed teams
- Large upfront planning
- Fixed requirements and scope
- Long timelines (and usually longer delays!)
And worst of all was the "Iron Triangle of Software Development".
Iron Triangle - 2003-2006 Copyright Scott W. Ambler
The Iron Triangle says there are three variables we can control:
Scope: How much we plan to deliver
Resources: How much it costs, number of teams etc
Schedule: How long we take to deliver it
The fourth variable in the middle is quality. The assumption is that we always choose to deliver quality and so we therefore optimize between resources, scope and schedule in a zero-sum game.
This gave rise to the old saying "Fast, cheap or good. Pick two."
Well, thankfully IT has moved on since then, first with a shift to Agile (mostly), and now DevOps.
When I ask people "what is DevOps?", I get a lot of different answers. DevOps is an umbrella term for what is a cultural movement within IT. It encompasses the following:
- The natural extension of Agile to include operations
- A collection of technical tools facilitating modern development practices
- The ability to move code form development into production while minimizing friction
The thing I find most people get wrong about DevOps is that they believe its just about moving faster. It's not. DevOps is about optimizing processes so you are more effective in developing software. Moving faster is just one benefit.
In fact, the greatest promise of DevOps is that we can break the Iron Triangle. It is no longer a zero-sum game where we have to choose between fast, cheap and good. We can in fact have it all, and research in the 'State of DevOps' report backs this up.
According to the report, high performing organisations that adopted DevOps saw improvement in:
Scope: 46x increase in deployment frequency
Schedule: 440x improvement in lead time for changes
Resources: 35% enterprise cost reduction
Quality: 5x lower change failure rate
The focus on moving fast can actually cause organisations to decrease the quality of their software and put them further behind those that adopt DevOps.
The next time you hear someone say that DevOps is about releasing fast, remind then that DevOps is much more than that. DevOps is an approach that allows organisations to break the Iron Triangle of software development and deliver more software that is higher quality, faster and at a lower cost.
Chris Rolls (North America CEO & Executive Director)