Known for its heavy trucks and buses, and marine and industrial engines Swedish firm Scania is adopting DevOps to speed up lead times in its Scania Connected Services business, which develops and delivers embedded and web based software.
While the company is in the early stages of rolling-out its DevOps strategy, it is already discovering what works well (or doesn’t) and what aspects to focus on, culturally and technically. Anders Lundsgård, Senior Engineer at Scania Connected Services, offers five key takeaways from his team’s DevOps journey so far.
One: DevOps makes a difference in time-to-market
Lundsgård commented: “The traditional set-up of developer and operations silos makes it hard to reduce lead times. DevOps reduces lead times and importantly, means we can continuously evaluate what we are doing and whether that meets our customers’ needs, which means that DevOps directly impacts the business in a positive way. For instance, we are already seeing that receiving feedback from the ops team once a day – as opposed to once a month - means that both the dev and the ops teams can respond more quickly.”
Two: DevOps, Agile and Continuous Delivery work well together
“DevOps is a way to become more Agile. Scania has practised Agile for a long time and it’s understood by the management and throughout the organisation. The DevOps movement at Scania is in its early stages, but it’s a logical progression for us. We are also moving towards continuous delivery as a means by which teams can introduce new features more quickly, but this presents challenges that are not only technical, but also cultural. DevOps helps us to overcome those.”
Three: Take DevOps a step at a time
“Scania supports approximately 1,400 applications. By the first quarter of 2016, a considerable amount of those were transitioning to DevOps. Some of the more monolithic apps are not ready to make the move just yet. Taking it step-by-step makes it easier to see how DevOps works within the organisation, what we can learn from that and improve on in the future, both culturally and with the tools we use. For instance, we have quickly learnt that constant communication is very important and we use our internal social network to support that.”
Four: DevOps makes it easier to manage more with a limited team
“For us, DevOps is a must for the future. Even with Continuous Delivery and other processes, delivery is hard with 50 engineers and a large codebase. In the development team, we’re supporting approximately four times the volume of releases compared to a couple of years ago. We’re gradually moving away from monolithic apps towards micro-services (which will help Continuous Delivery), but even so, DevOps will be essential for rolling-out new features more rapidly and efficiently, enabling better collaboration and visibility across teams.”
Five: Make ‘version everything’ a golden rule within a DevOps strategy
“Good DevOps practice means having excellent visibility of the development environment with the ability to roll-back to previous changes or versions if required. Our Perforce version control system has a 1.8Tb repository, with around 1,000 change lists executed every day. It provides us with a ‘single source of truth’ for everything that has (or is) happening. We’ve also moved towards having just one mainline where everyone now works, opposed to having release branches that developers work on separately. The main benefit of this is the reduced need for merging from feature branches, which saves a lot of time from an administrative point of view. We haven’t removed release branches from the monolithic apps yet, but that will happen eventually.
“Organisations like ours need to manage lead times and efficiently roll-out new features and products in a way that is focused on what the customer needs. It is early days in our journey to DevOps adoption, but we believe that it is the way forward to remain competitive.”