One of the core cohesions between Agile and DevOps is their emphasis on building a culture of collaboration. Both of these look at ways to break down silos and increase shared accountability.
By breaking down silos, DevOps and Agile decrease handoffs to increase the velocity of delivery to the customer. Agile primarily focused on the presence of Quality Assurance while DevOps takes this concept of association and extends it to the Operations teams.
In Agile, we see the culture of relationship baked right into the core tenets of the Agile Manifesto. The very first of which is, “Individuals and interactions over processes and tools,” paying obvious tribute to the need to work together rather than create defined terms or processes for handoffs. In addition, the third principle, “Customer collaboration over contract negotiation,” pressures the need to cover this collaboration elsewhere the development teams and to the customers as well.
Small Batch Sizes and Short Cycle Time
Small batch sizes and short cycle time are significant to Agile. By dropping the size of the change to a system, Agile gets value to the customer more quickly.
This rapid deployment also allows for rapid feedback, allowing the customers or users to quickly see what has been developed and allow the team to adjust course rapidly if necessary. This stands in stark contrast to waterfall methodologies, where customers might wait months or even years to see a deliverable and, only then, determine if it is what they wanted or needed. DevOps takes the concept of small batch sizes and ranges it with Continuous Integration and Continuous Deployment (CI/CD).
CI/CD provides a tool chain to allow teams to accelerate the value to customer cutting the cycle down further from weeks to days and even hours. Small batch sizes and short cycle time are key for DevOps as well. Gene Kim, Jez Humble, and Patrick Debois spend a good transaction of time on it in The DevOps Handbook.
This concept is clearly illustrated in the first way of DevOps which focuses on the growing flow of product from left to right. By using tools from Lean such as value stream mapping, it is possible to identify bottlenecks and remove them to increase the flow of value to customers.
Making Work Visible
Visibility is an additional key element in both DevOps and Agile. For Agile practices such as Scrum and Kanban, this often takes the form of boards to share information. DevOps leverages these practices but also extends them to share information about how systems are performing at any given time.
Read: Keys to DevOps success
This can take the form of information heaters, big visible dashboards, and common dashboards. While the Agile Manifesto does not dictate the need to make work visible the concepts support the performs which do. The Manifesto emphasizes “Individuals and interactions” and “Customer collaboration over contract negotiation” and “Responding to change over following a plan,” all three of which are enhanced by making work visible. Agile developed the idea of “information radiators” which were large tables placed near the Agile development team showing the development of the work through the development cycle. Alistair Cockburn coined the term “information radiator” in 2000, and presented it in his 2001 book, Agile Software Development