DevOps stands for a set of practices that enables the collaboration and communication of both software developers and operations – while at the same time automating the process of software delivery and infrastructure changes. It aims at establishing a culture and environment where building, testing and releasing software can happen rapidly, frequently, and more reliably. But how exactly is DevOps deployed in practice? Manuel Paterna, VP Consulting & Systems Integration at Ericsson Germany shared his company’s experiences with DevOps and agile software development.
DevOps use progress at Ericsson
Manuel stated that Ericsson has been expanding DevOps from initial starting points in agile development in Research & Development to continuous integration, delivery, deployment and operations over the past few years. More recently the company has established a full end-to-end DevOps flow from development to operations with a few selected customers. As a software vendor, this means integrating Ericsson-internal and customer-specific external components to the end-to-end DevOps flow. In addition, internal product development can be integrated with a customer DevOps flow, covering deployment and operations of products and systems. Based on this experience, Ericsson is offering individual consultancy to companies, that would like to explore DevOps.
Efficiency and quality gains achieved through the use of the DevOps approach
According to Manuel Paterna automation allows for shorter release cycles. In some cases, Ericsson managed to have reduced these cycles from six months to two weeks. In addition, feedback received from deployment and operations increases transparency. They are able to optimize automation, improve trouble shooting and respond much faster to errors. ‘Fail fast and improve continuously’ is the motto here − and it works!
Application areas for DevOps
Ericsson applies the DevOps approach across many key areas – Radio, OSS/BSS, Media, Industry and Society, and Software as a Service (SaaS). They also apply DevOps on different technology stacks, like the Ericsson Cloud platform. Nevertheless they have encountered difficulties – implementing DevOps across organizational boundaries, especially across internal R&D, and during customer engagements is certainly a challenge. They want to avoid ‘Switching Left’, which means going back to development if something isn’t working. In Manuel’s view it is crucial to put great efforts in communication to ensure that everyone is aware of what is going on.
Skills required for practicing DevOps
With DevOps, the focus is very much on automation and transparency. Building up and improving automation requires a different skillset – a system vs. product view, in addition to a good understanding of architecture and tooling, says Paterna. Skills can be acquired through a combination of on-the-job training and external hiring. It is also important to set up an environment in which colleagues are encouraged to share and discuss their day-to-day experiences.
Cultural changes at Ericsson through DevOps
Various roles have had to take on a broader perspective of the software delivery cycle, says Paterna. This has made colleagues more sensitive to the impact of their own decisions further downstream. In particular, the improved transparency has been a very positive experience, allowing for earlier quality improvement and a greater feature hit rate. In customer engagements, automation has resulted in significant benefits that allow for higher quality and a more focus on customer needs. DevOps is an enormous change that should not be underestimated. But it is definitely worth it in the end.