The value proposition of DevOps is that it provides a new and streamlined approach to managing the software building, testing, and deployment process, based on integrated and improved communications and collaboration between Development and Operations.
Implementing this process takes deliberate new measures. We’ve started to outline some strategies such as the need for Executive Buy-in and the importance of developing a Roadmap. Let’s continue this discussion by outlining some further key strategies on the road to DevOps efficiency.
Continuous Software Delivery
At its core continuous software delivery aims to move your ideas into production as cost effectively and efficiently as possible. The core of DevOps relies on the principle of delivering software fast through build, test, and deployment automation. Continuous delivery is the direct result of what is more commonly known as Continuous Integration, or otherwise known as CI. Continuous integration is software development practice that involves frequently integrating one’s new or changed code with the existing code repository. CI is meant to ensure that whenever software is checked into the main development branch it’s always in a condition that can be deployed to production. This is in stark contrast to the traditional approach to testing and deployment which was very cumbersome and error-prone, making it challenging to deploy a global software update more than once a month.
In today’s fast-paced mobile market, it’s critical to have an environment that supports a rapid release cycle for software applications. Start on this path today by developing a mindset that sees your software delivery mechanism as part of a continuous cycle of building, testing, and deployment.
Based on the buy-in from the executive team, setup a test environment that will provide a location for testing your continuous delivery and automatic deployment processes, and where you can run your automated integration and acceptance/system tests. Make this the ownership of a single team at first to prove the value of the new environment, and then iterate from there.
Transforming the Culture
As we mentioned at the outset, DevOps is not just about technology but it’s about people and process. It’s about effective collaboration and communication across the organization. All of this gets at the importance of culture and cultural practices. Old habits die hard and if your organization is steeped in long-standing, traditional enterprise approaches to software development, then moving the needle on efficiency will obviously take longer.
Cultural change is ultimately a human issue tied to behavioral patterns. Transforming behavior depends on implementing new patterns of thinking and acting, and the speed and success of this really is up to the individuals that comprise the organization. The urgency behind growing customer demand and the potential of falling revenues will obviously be key determinants in guiding forward looking progress.
As one source has well said, “You can’t directly change culture. But you can change behavior, and behavior becomes culture”
Start by creating an environment in which innovation and brainstorming are welcomed practices. Reward people for their ideas. Host a monthly innovation contest by providing a free lunch or $50 gift certificate to whoever finds the best solution to a manual, time-consuming process.
Any impactful embrace of a DevOps culture will ultimately need the buy-in and support of the executive team. Once the company sees the senior management taking on new patterns of behavior related to new cultural practices the rest of the organization will readily follow suit.
In the next segment of this series we’ll look at one of the most critical parts of your DevOps strategy: automation. We’ll provide a survey of some of the top toolsets on the market that will put your organization on the fast track to DevOps implementation.