Adopting DevOps requires major organizational change and won’t happen overnight. CircleCI CTO Rob Zuber explains how to get started.
As a business leader, your goal is to find the quickest path from idea to value for your customer. You need to react to the market, incorporate customer feedback and jump on new opportunities as fast as possible—ideally faster than your competitors. Regardless of your industry, nearly all modern companies are actually software companies, meaning they use software to run every part of their business, from internal processes to customer-facing systems. Having software that not only works smoothly but also meets the business need it was developed for, within a reasonable timeframe, is crucial.
Adopting DevOps gives your engineering team the tools and the organizational flexibility to create and continually adapt software that responds to business challenges and opportunities. The continual improvement and agility DevOps facilitates isn’t just about creating better software, but about building applications that respond to customers’ needs and build business value.
Adopting DevOps requires major organizational change and won’t happen overnight. Here’s how to get started.
Focus on Small Steps towards DevOps
When engineering teams follow DevOps practices, they are able to quickly react to customer feedback, respond to market information and experiment with new functionality, understanding what builds business value and what doesn’t. The increased flexibility DevOps brings to your engineering department means it can not only react faster, but also proactively test new ideas to see if they create value.
The DevOps philosophy is built on the idea of continual, incremental improvement. This applies not only to software quality but also to how well engineering resources are being used to meet business KPIs. The payoff might not be immediate—it usually isn’t. But continual, incremental improvement on key business metrics can make-or-break a company over the long term.
Moving Towards DevOps Maturity
Mature DevOps teams don’t appear overnight. Just like DevOps as a practice focuses on continual, incremental improvement, building a DevOps team means starting with a small project, building on successes, and gradually expanding the project’s reach until it encompasses the entire organization.
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.
Here are concrete actions you can take to foster collaboration and trust:
- 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 it possible to identify and solve problems sooner. Added bonus: It also makes your company a more attractive place to work.
DevOps isn’t only about tools, but it 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 things you can do now 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.
Here are some concrete steps towards 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.
Want to read more about leading your team to DevOps maturity? Check out CircleCI's "Leading Your Team to DevOps Maturity" ebook here.
A version of this article appeared on the CircleCI blog.