The ReleaseTEAM Blog: Here's what you need to know...
How DevOps Implements Agile Principles
“Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.” Customer satisfaction implies quality software, which is a goal of DevOps through earlier involvement of Operations teams and continuous testing. DevOps also works to ensure continuous delivery.
“Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.” DevOps enables change though fast, iterative deployments.
“Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.” DevOps uses automated testing, automated builds, and collaboration to achieve increasingly fast release cycles.
“Business people and developers must work together daily throughout the project.” An essential aspect of DevOps is breaking down silos to eliminate bottlenecks in the value stream and increase collaboration between teams. Although Agile originally focused on closing the gap between product owners and development teams, DevOps extends that collaborative culture to include operations, InfoSec, and other stakeholders.
“Working software is the primary measure of progress.” DevOps balances shorter release cycles with quality control. Through automation and earlier testing, errors are caught earlier and corrected quickly.
“Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.” The fast pace of DevOps may appear unsustainable from the outside and would be if it required manual processes for each step. Instead, DevOps attempts to automate as much of the build, test and deploy processes as possible. Automation allows the teams to focus on their work without burnout.
“Continuous attention to technical excellence and good design enhances agility.” DevOps applies this principle throughout the value stream by identifying bottlenecks, improving processes through a combination of tools and behavior, and then looking for the next improvement opportunity.
“Simplicity–the art of maximizing the amount of work not done–is essential.” Through a combination of automation and working with both upstream and downstream stakeholders, DevOps avoids wasting hours on the wrong deliverables.
Organizations that combine Agile and DevOps realize higher benefits than organizations implementing just one or the other.