DevOps vs Agile: 3 Blogs Worth Bookmarking
DevOps and agile development practices have been—and continue to be—hot topics in the development world. How are they similar and how are they different? Is it really DevOps versus agile, or is it DevOps as well as agile, or even agile then DevOps? Knowing more about both philosophies and methodologies can help you determine which of both can be of the most help to your development teams. Thankfully, there is a plethora of resources out in the blogosphere. Here's a look:
Now with a name like that, you'd expect the blog author Shrikant Vashishtha to be more agile leaning. Nevertheless, he does a masterful job explaining the differences and complementary aspects of DevOps and agile. "DevOps is mainly the widening of Agile's principles to include systems and operations instead of stopping its concerns at code check-in. Apart from working together as a cross-functional team of designer, tester and developer as part of an Agile team, DevOps suggests to add operations as well in the definition of cross-functional team."
He expands on this, leading deeper into the entire app lifecycle. "DevOps strives to focus on the overall service or software fully delivered to the customer instead of simply 'working software.' It emphasizes breaking down barriers between developers and operations teams, and getting them to collaborate in a way where they benefit from combined skills. Agile teams used automated build, test automation, Continuous Integration and Continuous Delivery. With DevOps that extended further to "Infrastructure as Code", configuration management, metrics and monitoring schemes, a toolchain approach to tooling, virtualization and cloud computing to accelerate change in the modern infrastructure world. So you see DevOps is not a separate concept, but a mere extension of Agile to include operations as well in the definition of cross-functional Agile team, collaborate together and work as one team with an objective to delivery software fully to the customer." The Buddha has spoken.
The Agile Admin clearly sees DevOps as an evolution or expansion of earlier agile methodologies. He describes his philosophy as, "DevOps has strong affinities with Agile and Lean approaches. The old view of operations tended towards the 'Dev' side being the 'makers' and the 'Ops' side being the 'people that deal with the creation after its birth'—the realization of the harm that has been done in the industry of those two being treated as silo-ed concerns is the core driver behind DevOps. In this way, DevOps can be interpreted as an outgrowth of Agile—agile software development prescribes close collaboration of customers, product management, developers, and (sometimes) QA to fill in the gaps and rapidly iterate towards a better product—DevOps says 'yes, but service delivery and how the app and systems interact are a fundamental part of the value proposition to the client as well, and so the product team needs to include those concerns as a top level item.' From this perspective, DevOps is simply extending Agile principles beyond the boundaries of 'the code' to the entire delivered service."
This blog has a lot of education resources, mostly focusing on DevOps. Chris Riley writes in a post entitled, "Waterfall to Agile to DevOps: The State of Stagnant Evolution
," how development practices have evolved, and continue to evolve. "Although Agile and DevOps share similar goals of IT productivity, the latter approach encourages Devs and Ops to synchronize fast-paced agile development of production-ready code with Ops processes of testing, deployment and management to prevent backlogs. Without adequate synchronization between previously separate Dev and IT Op processes, DevOps essentially becomes a varied form of Agile methodology with a more involved Op team that still has to deal with deployment backlogs. The aim of the DevOps approach is to address the disconnect between Dev and Ops teams by extending team interactions and service delivery across the value chain, and incorporating end-user feedback in future DevOps processes to improve service quality."
He hammers home the point that DevOps is not a thing or a product you can buy, but a philosophy, a style of working together more closely and cooperatively. "DevOps stresses on effective collaboration and communication between the two departments within a culture that enables optimized release cycles of high-quality and thoroughly-tested end-products."
Posted by Lafe Low on 09/19/2017 at 12:54 PM