DevOps is at its core is a set of best practices for developers and IT operations that aims to shorten release cycles and increase software quality. As such, it is closely related to other development methodologies such as Agile Software Development, CI/CD (Continuous Integration/Continuous Deployment), and Kaizen.
As DevOps has matured, several toolsets have emerged to support the application development lifecycle, providing version control, reporting, requirements management, project management, automated builds, testing, and release management capabilities. The best tools in the world, however, will not ensure success if the development and IT organizations are not committed to instilling the culture necessary to support it.
Click here to read another article about how a strong DevOps culture at Vertex achieved the development paragon of zero defects code.
Our top five practices with the strongest correlation to organizational culture are:
- Organizational investment
- Team leaders’ experience and effectiveness
- Continuous delivery
- Organizational performance
- Lean management practices
DevOps success begins at the top. IT and development managers need to break down the silos between development, testing, deployment, and operations to create a cross-functional, unified team capable of working across the entire development lifecycle. While technology stacks and tooling aid in the quick and reliable development of applications, it is really the shared responsibility and ownership that increases the team’s velocity.
Experience and Effectiveness
Leaders of DevOps teams need to be experienced across the spectrum of IT disciplines in order to break down potential barriers and ensure that their teams are performing at the highest potential.
As a DevOps engineer at IBM said in an article published by InfoWorld, “We needed to answer some basic questions and determine the problems we were trying to solve…If you don’t know how the work is actually done, you don’t know which problems are worth solving.”
Continuous delivery is the DevOps approach that aims to produce software in short cycles. By developing in short cycles, teams can reliably release their software at any time. With CD, development teams can build, test, and release software faster and more frequently. As a result, they can reduce the cost, time, and risk of delivering each change. A repeatable deployment process is important for continuous delivery. Rather than throwing code ‘over the wall’ to QA and Operations, integrated teams can achieve heretofore unexpected release cycles.
The transformation to a DevOps organization takes a large investment in time, money, and resources. The ability to clearly and accurately measure the performance of your DevOps team is critical to improving efficiency and tracking success.
The following metrics are a great start for measuring DevOps performance and progress:
- Lead Time – The time it takes to implement, test, and deliver code
- Deployment Frequency – The number of software deployments over a period of time.
- Change Failure Rate – While shortening and increasing the frequency of release cycles is the goal of DevOps, management should also look at failure rates.
- Mean Time to Recovery (MTTR) – How long it takes the organization to recover from a failure and release a fix.
- Customer Ticket Volume – This is ultimately a measure of end-user satisfaction. Bugs and errors that are missed in QA are often detected by the end-user. The number of customer tickets marked as problems or bugs is an important indicator of application reliability.
Lean Management Practices
A recent article in Communications of the ACM stated that “DevOps is about good development practices that continually deliver product features (Agile) effectively with minimal wasted efforts (Lean) which are overseen by good governance controls (Information Technology Service Management, or ITSM). To that end, a growing consensus within the information technology community is that DevOps = Agile + Lean + ITSM.”
Contrary to popular belief, while DevOps may eliminate the traditional ‘waterfall’ method of project management, it does not brush aside Agile/Scrum either. Nor does it do away with traditional IT organizations rather than force a transformational shift.
Vertex Computer Systems Has The Practices AND The Tools
Look to the DevOps experts at Vertex to guide your way to the efficiencies of DevOps and to help you choose the right tools to create repeatable, clean releases. We Got IT.