DevOps
DevOps is a combination of culture, practices, and tools that integrates and automates software development and operational processes so that companies can plan, develop, deliver, and operate faster and reliably.
It is not by definition, but usually DevOps involves the adoption of cloud computing. By the way, some cloud computing providers offer a good definition of what is DevOps, its practices and benefits. And of course their toolkit to implement DevOps. If you want to delve deeper into it, you may refer to AWS, Azure, and Google Cloud definitions.
Key Performance Metrics
Research from DORA (DevOps Research & Assessment) have validated four metrics that measure software delivery performance. According to the research, companies that exhibit exceptional organizational performance excel in these metrics:
- Deployment Frequency: How often does your team and your organization release code to end users?
- Lead Time for Changes: How long does it take to go from code committed to code successfully running into production?
- Time to Restore Service: How long does it take to restore service when an incident or a defect that impact users occurs?
- Change Failure Rate: What percentage of releases to production result in degraded service, and subsequently require remediation?
You can explore the results in the State of DevOps Reports. In this blog post I also share some data on how teams are performing according to the research.
DevOps capabilities
- Communication and collaboration
- Configuration management
- Infrastructure as code
- Version control
- Trunk-based development
- Continuous integration (CI)
- Automated testing
- Deployment automation
- Monitoring and logging
- Continuous delivery (CD)
Automated testing
Improve quality without loosing speed by building reliable automated test suites.
Two great articles I read from Azure DevOps, about testing approaches in developing and delivering services: shift testing left with unit tests and shift right to test in production
Related Posts
- Mar 17, 2023 - Accelerate: The Science of Lean Software and DevOps. A summary of the book Accelerate, written by Nicole Forsgren, Jez Humble, and Gene Kim.
- Dec 27, 2022 - What is Continuous Delivery?. Continuous Delivery is a DevOps technical practice that lets us make changes into production quickly and reliably. Let’s recap its principles and foundations.
- Aug 5, 2022 - Software Delivery Performance Metrics. Results from the State of DevOps 2021 Report.
Recommended Reading
Books
- Accelerate by Nicole Forsgren, Jez Humble, and Gene Kim. A great book about implementing DevOps to build and scale high performing technology organizations.
Articles
- Azure DevOps. A broad documentation of how Azure sees DevOps.