The DevOps culture of success
Embracing DevOps to streamline processes and break down traditional silos, in the pursuit of rapid and reliable delivery, can seem like throwing caution to the wind – but it’s actually reducing risk to the business.
Cultural change is one of the biggest challenges for traditional organisations embracing DevOps. Stakeholder engagement and commitment is critical, and the key is to speak their language and highlight DevOps’ potential to reduce business risk.
Getting that stakeholder engagement and commitment is one of the most difficult steps on the path to success. You must prove to stakeholders the benefits of this change, but also be clear in communicating that this change may not happen overnight. If you don’t attain the right level of commitment, you can’t really effect the long-term change needed. There’s also the risk that the initial commitment wanes, at which point you can lose traction, and a lot of DevOps teams fail for that reason.
Another step to success is the right mindset in your engineers and your IT management. Your engineers need to be on board, and often convincing them to embrace a massive change in the way they’re doing things is as big a challenge as winning over the stakeholders.
Your engineers need to be willing to take the extra time to think about how things can be done better. In traditional delivery teams, engineers may be pressured to be driven by deadlines. This has a tendency to forsake quality and maintainability for timeliness. In an Agile, DevOps culture, quality is a key component of the delivery where teams are product driven.
This ties into the next key to success, which is improving collaboration and moving away from siloed teams towards cross-functional teams. Even within smaller organisations, you’ll be surprised at how silos quickly develop. People are very protective of their patch, so it can be hard to foster the crossfunctional model that has emerged in the last decade. Communities of Practice help develop this culture by fostering collaboration with teams regularly sharing inform-ation, improving their skills and actively working on advancing the general knowledge of their domain.
Improving on traditional practice
In the traditional model of project management, teams may come together once a month or so, at which point people realise they’re doubling up working on the same issues or have an issue that is a potential blocker for the whole project and may require rework.
An Agile approach solves some of those problems. Daily team communication (known as standups) allows for greater transparency and helps facilitate cross team collaboration, where team members take their conversations offline and work together on the solution. It also highlights smaller issues sooner, before they become bigger problems later. It’s this kind of collaboration and mindset that empowers a business to see the best results when it puts DevOps into action.
Winning over stakeholders also means discussing risk management, which is where DevOps shines. Thanks to the concepts of Continuous Integration and Continuous Delivery, you’ve got a rinse and repeat mechanism early on in the development cycle – right from the first push – which tests whether scripts and automation work. As a flow-on effect from this, you also know that the application works. When you’ve got your automated fail fast mechanisms right, highlighting when a change breaks the build, it means you can resolve issues very early in the development cycle. That significantly cuts down on nasty surprises just as you’re ready to push that code into production or, even worse, after it goes into production.
Staggering releases
This is where the cloud also really helps manage risk, letting you stagger releases so you can take on feedback, fail fast and quickly roll back if need be. Thanks to the cloud, it’s easy to undertake canary deployments, rolling out new versions of applications and services to a small percentage of users first, to see how they perform in the real world environment without fear of major disruptions.
The next step can be rolling out the new version to a larger percentage of your user base. The system is monitored closely and insights gathered that you can feed back to the DevOps team. All of this is seamless for the end user, helping drive innovation and improvements while avoiding the risk of disappointing customers.
The ability to quickly release iterative updates also helps businesses mitigate the risk of being outpaced by nimbler competitors.
Along with reducing risk, the DevOps approach reduces cost by significantly reducing manual work during the development cycle. Once the scripts and pipelines are in place, very little intervention is required unless there’s a significant change to the way the build process works.
DevOps automated pipelines allow developers to make changes to the application and infrastructure, without needing to change the delivery mechanism.
At the same time, you’re increasing productivity, as testers need to take fewer issues back to developers; plus you’re not losing days of production time as everyone gets in a room trying to figure out what went wrong and how to fix it.
That said, improving the cycle of development is to the benefit of delivery managers. Cost may not be the primary driver in some of the largest organisations. When you’re talking to the major stakeholders, risk is the concern that’s most on their mind. When introducing DevOps, work with compliance and risk managers to understand the risk profile of the organisation. DevOps offers the opportunity to speak their language and drive better outcomes for the entire business, not just IT.