Let’s face it, running a successful company is as much art as it is science. Getting a group of people to efficiently work together can be a daunting and sometimes difficult task. The most successful companies, though, manage to create a culture that values efficiency and ownership, where people thrive, collaboration happens and customers are satisfied. So, what is this “art,” and can it be learned? Enter, DevOps.
DevOps sounds like something out of “Mission: Impossible,” but it’s a way of developing software that can revolutionize your company. Using DevOps improves the customer experience and allows your people to focus on the important task of growing your business instead of on repetitive tasks.
What is DevOps?
DevOps is a set of practices that automates processes and encourages coordination across all teams within a business, not just the software development and operations teams, as the name implies. DevOps enables companies to build, test and release software faster and more reliably, with greater focus on customer needs. The concept of DevOps is founded on building a culture of collaboration between teams that historically functioned in relative siloes.
How does it work?
DevOps is rooted in Lean Manufacturing principles and can be boiled down to four main ideas: Culture, Automation, Measurement and Sharing—otherwise known as the CAMS model. We’ll look at these in detail in future blogs, but for now, let’s take a quick look at each one.
Culture: The first step in implementing DevOps is to move the culture of your company from a siloed or bureaucratic structure to one that is collaborative and performance-oriented. At 27Global we’ve replaced root cause analyses (RCAs) with Contributing Factors Analyses (CFAs) to move the focus from blame to opportunities for improvement. Failures should lead to inquiry and better cooperation, not punishment and finger-pointing.
Automation: Automate everything you can in order to speed up implementation and free employees to do more important work. For example, we use static code inspection tools to help identify security gaps and defects at build time to lessen the burden on manual inspection. We build continuous integration and continuous deployment pipelines and strive for “push button” code deployments. Automation also reduces human error.
Measurement: Unlike the automotive factories where Lean practices originated, software “factories” don’t make progress visible to management. We use Scrum and Kanban boards in Jira and Azure DevOps to identify work in progress (WIP) and track WIP queues so we can quickly see if something is held up or bottlenecks are impeding flow.
Sharing: Create a transparent environment where all stakeholders receive relevant information throughout the development, sales and implementation process. For example, our operations team collaborates with our architecture team to determine what sort of logging will be built into an application, so that after its deployed, the operations team can see information in the logs that facilitates troubleshooting.
The goal of DevOps is to create a structure that allows you to more nimbly and quickly meet customer needs, improve customer satisfaction and increase your bottom line.
Does it work?
DevOps sounds great in theory, but does it really work? Companies like Amazon and Netflix think it does. And they’re not alone. Ashish Kuthiala of Hewlett Packard Enterprise told DevOps Digest:
“I often find both the business and IT teams equally enthusiastic about DevOps as it helps both teams work together more collaboratively and effectively to grow the business while cutting costs.”
DevOps can speed up software implementation and improve the customer experience, but it only works because of the people involved. When you free up people to put their focus on the customer and give them the autonomy to make decisions, that’s when DevOps pays the biggest dividends. High-performing teams will flourish under a DevOps model. In the Accelerate State of DevOps 2019 report, the authors found that in a DevOps structure, elite performers achieved some amazing things:
- They had 208 times more frequent code deployments.
- The lead time from code commit to deploy was 106 times faster.
- The mean time to recover downtime was 2,604 times faster!
- Their change failure rate was seven times lower.
When you put the right people in the right structure, it allows everyone to succeed.
DevOps isn’t just a fancy buzzword. Done well, DevOps can revolutionize the software development process, creating satisfied employees and happy customers in the process.
Tom Martin is 27Global’s Director of Site Reliability. Founded in 2008, 27Global designs, builds and operates custom software solutions for businesses of all sizes. The perfect pairing of a local leadership with offshore pricing, 27Global has the business acumen to understand your vision and the expertise to build your software solution. To learn more, visit 27global.com or connect with us on LinkedIn and Twitter.