Accelerating software delivery has been an important organisational goal for well over a decade, and the new software economy is making it even more so.
As I’m sure you’ve noticed, digital disruption is very real. The past few years has seen profound change across many established industries (with repercussions felt across tens, if not hundreds of thousands of businesses), and it’s clear that we’re only just getting started.
Established companies have to resist the temptation to perpetuate “business as usual”, instead remodelling their businesses to create and serve the new kinds of value demanded by customers in a digital world. And if the incumbents don’t do it, a new entrant into your market will.
“The traditional core competencies of existing companies often become less like industry-defending fortresses and more like deadweight.”
– Digital to the Core. Mark Raskino and Graham Waller.
Technology is no longer considered simply a support function; it is core to product performance, customer satisfaction and ultimately to the success of your business. Every industry is in the process of being remastered, and no-one is safe.
One thing is certain though, and that is that the winners will be the ones whose businesses can adapt to change the fastest. The curve is starting to bend, and we need to make sure that the pace of change inside the organisation matches, or if possible is ahead of, the pace of change outside.
In this context, I’d like to discuss the importance of DevOps. It is my belief that DevOps is fundamental to the future success of your organisation.
In the worlds of software development and project management, the evolution in approach from Waterfall to Agile took the best part of a decade to catch on in most organisations. Then came DevOps — a phrase coined by Patrick Debois in 2009, which is now setting the industry on fire at an incredible pace.
In 2015, Gartner found IT organisations that had chosen not to pursue DevOps were in the minority. More than 60 per cent of organisations it surveyed claimed they were already using DevOps or had pilots in place, or that they had plans to implement DevOps during the next 24 months.
So what is DevOps?
If you were to ask ten IT professionals you’d get ten different answers. DevOps is often used (incorrectly) to describe “full-stack” developers who are expected to master — in addition to their software development responsibilities — the traditional responsibilities of “Ops”, which is a blanket term used to describe the work performed by systems engineers, system administrators, operations staff, release engineers, DBAs, network engineers, security professionals, and various other disciplines.
Which sounds like a bum deal if you ask me.
If you expect your developers to be “always on call”, you’re not doing DevOps.
One of Agile’s overarching goals is “continuous improvement”, a principle borrowed from the Japanese “Lean” manufacturing approach called Kaizen. It is this — enabled by the advent of API driven cloud infrastructure and pioneered by AWS — that has lead to the emergence of DevOps. DevOps can be thought of as an approach that extends Agile’s application of continuous improvement from development and testing, to include the process by which the application and the environment itself is delivered.
Getting this right certainly doesn’t mean overloading your developers; it means making fundamental changes to the way in which development and operations teams have traditionally worked.