This post is from the XebiaLabs blog and has not been updated since the original publish date.
The 4 Core Capabilities of DevOps
DevOps is good for organizations. According to the soon to be released State of DevOps Report high-performing IT organizations are 2X more likely to exceed profitability, market share, and productivity goals. But how do they do it? How do they use DevOps to drive value and differentiate their companies?We recently sat down with Nicole Forsgren, CEO and Chief Scientist at DORA (DevOps Research and Assessment) and lead investigator for the State of DevOps Report, to discuss the role of measurement in DevOps Success. From years of research into DevOps operations and culture, Forsgren and her colleagues have found that success depends on improving two key outcomes—speed and stability. These, she says, are crucial for driving improvement in organizational performance and value. But achieving these outcomes requires investing in certain core capabilities. These capabilities, which fall into four broad categories, are the main levers for improving software and, in turn, driving, predicting and positively impacting an organization’s bottom line.
Technology & AutomationImprovement in any of these areas within the Technology & Automation category will have fantastic down-the-road effects on your ability to develop and deliver software. Key capabilities include:
- Using version control for all production artifacts
- Automating your deployment process
- Implementing continuous integration
- Using trunk-based development methods
- Implementing test automation
- Supporting test data management
- Shifting left on security
- Implementing Continuous Delivery
Management & ProcessTo improve in the areas of management and process, Forsgren suggests starting with the following capabilities:Gathering, Implementing and Broadcasting Customer Feedback—Does your development team know why they’re coding what they're coding? Are you gathering ideas about what you should code directly from your customers? Does your development team know where suggestions come from?Making the Flow of work visible throughout the value stream—This capability goes beyond just having dashboards. It's about making the value flow visible and allowing people to understand where their piece fits into the whole flow.Working in small batches and having a lightweight approval process—This helps ensure work can get through the system very quickly.
Measurement & MonitoringThis category prescribes four key capabilities for driving improvement:
- Monitoring Across Application and Infrastructure to inform Business Decisions. (Note that, while many companies are good at monitoring across workflow, they’re not as good at using that information to inform business decisions.)
- Checking System Health Proactively
- Improving Processes and Manage Work with WIP Limits
- Visualizing Work to Monitor Quality and Communicate—Think dashboards that are very visible and accessible!