Many teams are now making the move to DevOps, and there is good reason: using DevOps practices helps enable teams to be more responsive to market changes. They can deploy code more quickly and more safely, and with less fear of breaking production.
The industry is catching on to the benefits of DevOps as well. Cowen & Co. recently estimated a market of $24 billion by 2023 for software tools designed for DevOps, and Morgan Stanley projected a $50 billion market by 2022 for DevOps tools and other related services.
But “doing” DevOps is not an either/or proposition. DevOps is a mindset of bringing operational knowledge to development, yes, but it also comes with a panoply of processes, approaches, and ways of using tools that set it apart. The leaders of mature DevOps organizations simply think about engineering differently.
The bad news is you can’t wake up one morning and decide to become a fully operational DevOps organization. But the good news is that moving toward DevOps is a journey that is never done. Which means that any team can make the move to become a more mature DevOps organization.
The core of DevOps maturity
There are three pillars to success with DevOps: Collaboration and trust, automation, and measurement and continuous improvement. These three concepts are interconnected. As organizations improve in one area, all three pillars see improvement, creating a virtuous cycle. Here’s how you can lead your engineering department towards increased DevOps maturity in each of the three key areas.
Collaboration and trust
DevOps requires information sharing between teams and among individuals. Some actions you can take to foster collaboration and trust include:
- Hire people you trust
- Assume everyone on your team is acting in good faith, even when things go wrong
- View mistakes as learning experiences
- Bring people with complementary sets of expertise together to work on the same projects and to physically share space
Creating a company where collaboration and trust are the norm, throughout the entire organization, makes identifying and solving problems sooner possible. Added bonus: It also makes your company a more attractive place to work.
DevOps isn’t only about tools, but doing it right does involve using tools to automate as many tasks as possible. Automation frees engineers from repetitive tasks while also making it easier to ensure organization-wide consistency.
Here are some concrete steps to take to ensure your engineering team is leveraging automation:
- Make it easy for team members to try out new automation tools
- Create a process for evaluating and purchasing automation tools
- Make incremental steps towards increasing automation. What one thing could be automated this month?
Automating repetitive processes frees up your engineers to work on the type of projects they do best and enjoy most: Building creative new software solutions to solve your business problems and respond to opportunities.
Measurement and continuous improvement
Measuring is the first step towards continual improvement, and often requires automation, both to ensure the process you’re measuring is consistently done in exactly the same way but also to make relevant metrics accessible. Once you have access to relevant metrics, you can focus on continually improving them.
Unsure where to start? Here are some steps to consider toward measurement and continuous improvement:
- Choose automation tools that provide metrics that are relevant both to the engineering department and to the business as a whole
- Focus on improvements in small, discrete units at first. This delivers results faster and is easier to see than improvements in complex, interconnected systems
Getting the most business value out of DevOps means that measurement and continual improvement does not apply only to engineering KPIs, but also to how engineering is contributing to the health and growth of the larger organization.
DevOps is fundamentally about finding ways to use technology to build a company that’s able to move faster, both reactively and proactively. Success with DevOps means an innovative company able to leverage software to make its customers happy.