DevOps may sound like the techiest of all of the IT buzzwords at the moment; but the concept is relatively simple, even if the execution is often complicated.
DevOps was invented as a way to make developers and IT operations work closer together, ensuring that the barrier is removed between developers and those who use the results of their development.
Whereas before, developers and engineers could only evaluate their own work, the DevOps culture means that they can both instantly review the impact of those changes, explains Alex Mathews, EMEA technical manager at Positive Technologies.
The result is seen right away; rather than the traditional development models in which evaluation can take weeks or even months, in which time the developer has already moved on to different tasks and may have forgotten the details of the changes in question.
In the brave new world of DevOps the process can take days or even hours instead, meaning that organisations are able to react faster to changes within the business, and these reactions ultimately aid the end user of those applications.
But do all businesses need DevOps? The answer depends on who you speak to.
A number of huge organisations such as Sky, the BBC, eBay, Deloitte and The Economist Group are all on the hunt for DevOps engineers.
Meanwhile, according to IT Jobs Watch, in the three months to 29 November 2016, the median salary of a DevOps Engineer was £60,000 – up from £52,500 in the same period in 2014, while the number of vacancies in the area have also increased.
According to Fin Goulding, CIO at insurer Aviva, “every business needs DevOps, it’s not just hype”.
But there are those that disagree. Andy Cureton, managing director at ECS’s digital practice suggests that it isn’t relevant for companies that are merely consumers of an IT service that is developed or provided by other companies.
“A company offering personal training that was once manually booked and has since adopted an IT service to allow scheduling by smartphone would not at that point need DevOps,” he explains.
“If they were to develop the service to match demand for sessions with personal trainers available near you, then DevOps would become relevant.”
The general consensus is that organisations that are using software – particularly the development of apps – to innovate in their sectors, are those that should be looking at implementing a DevOps culture.
What are the benefits of DevOps?
The key benefit of DevOps is to deliver better software faster – but there are other benefits which may depend on the type of organisation or industry.
“We’ve seen enormous benefits from DevOps; not least a 60 per cent reduction in downtime since we started our journey,” Mark Holt, CTO of the Trainline explains.
“Tightly integrating development and operations enables us to significantly increase speed and agility. Increased reliability and improved responsiveness is a win-win,” he adds.
Of course, some firms may take longer to see the benefits – Betfair took eight years to get to a stage where it was happy with the way its DevOps team was functioning – while others may not see any benefits at all.
Kaimar Karu, AXELOS’ head of product strategy and development, suggests that firms shouldn’t be focused on the DevOps practices themselves – but instead focus on what value has been added by implementing DevOps.
“For some companies this means ‘faster’ but it could also just mean ‘better’,” he says.
When software is being delivered faster and in a better state, it creates a domino effect in terms of the potential benefits to the business.
“It enables the business to innovate and test out new ideas quicker than before. Subsequently the business can deliver features and bring on new revenue streams faster, achieving the agility needed to respond immediately to marketplace opportunity, events and trends,” he suggests.
DevOps struggles
Aviva’s Goulding explains that there is a big difference between SMEs and larger enterprises when it comes to agility, and that this could hold back big firms.
“Smaller companies and start-ups have no option. Fungible roles, extreme automation and everyone pitching in, is the norm. This is how they get features into the hands of customers at pace. But that organisational agility is something that large companies struggle with,” he says.
Goulding emphasises that it is possible to have multiple DevOps teams in any industry at scale, but that this requires brave leadership to confront hierarchal management structures, which he says “provide excessive friction towards that goal”.
“Removing inefficient hand-offs and confronting silo mentalities should be the mantra for modern technology leadership. After all, we are just talking about forming ‘holistic’ teams which have all the skills to go from idea to live delivery,” he states.
And it’s not just those at a higher level that need to be convinced; developers and software engineers may not like the concept of a combined team, with an overlap in duties. This can be compounded by the need for businesses to cut costs – and therefore make redundancies, reducing morale within the new team from the outset.
But as Jay Lyman, principal analyst of cloud management and containers at 451 Research suggests, for firms to compete in today’s market, they must be able to produce compelling applications and services and support them efficiently and at massive scale “without needing an army of 1,000 or even 100 IT operations experts” – so companies are inevitably going to axe a number of staff if they do adopt a DevOps culture.
Another issue with DevOps, is that if firms want to reduce headcount, but achieve faster and better software, they may need to train existing staff, or hire staff that are now known as ‘DevOps engineers’; in other words, employees with skills in both development and operations.
But this is a rare skillset to find, and organisations are unlikely to be able to compete with the Googles and Facebooks of the world in hiring them. This means training staff, which can take time and reduce the competitive edge that an organisation will initially have.
How big should a DevOps team be?
According to Jon Topper, founder of DevOps start-up The Scale Factory, the DevOps team structure his firm has seen work best is a cross-functional team. This incorporates developers, operations engineers, a product manager, as well as specialists for UX and design.
He believes this team has to be focused on delivering one product and for operating it once it goes into production. The team should be no bigger than about 12 people – which is similar to a start-up team, where agility is key.
“To make this work in larger organisations, it’s important that there’s a culture of sharing across multiple project teams in order to minimise duplication. This can be achieved by rotating engineers between product teams periodically, and scheduling regular meetings to share opportunities,” says Topper.
Others that could also be involved are system administrators and representatives of information security, audit and compliance functions – particularly in regulated industries.