In a 2015 article on Forbes, disruptive technology expert Jason Bloomberg makes the point that while technology typically refreshes every three years or so, Agile IT practices have passed their (version 1.0) expiration date, but seen to remain dominant in the world of software.
With the acknowledgment of some degree of time borne obsolesence, Bloomberg goes on to list some major issues with Agile IT practices that have come to light over the years.
- Lack of focus on software architecture
- Emphasis on one-off software projects as opposed to building reusable code,
- Positioning the software development team as a self-contained group, as opposed to participants in a broader collaborative effort.
- Agile calls for self-organizing teams, but there remains no clear understanding of how best to self-organize.
- Agile calls for the stakeholder or customer to be an active part of the team – but stakeholders have always resisted this participation, and when they do join the Agile team, they struggle with their role.
Despite Agile’s shortcomings, there are few that would suggest moving back to waterfall. Instead many are turning to Lean, which according to Bloomberg, is an outgrowth of the Lean Manufacturing movement that Toyota championed in the 1950s. Applied to software development, Lean focuses on eliminating any activity that doesn’t add value right away, and emphasizes how the team operates as a whole.
According to Martin Fowler, “There was a connection between lean manufacturing and agile software from the beginning in that many of the developers of the various agile methods were influenced by the ideas of lean manufacturing.”
Today, software development best practice requires breaking down the silos of development and quality assurance (something Agile purports to accomplish), as well as gerneral IT operations, security, and even the lines of business that drive development in the first place. DevOps is the best all-encompassing word we have for such a cultural shift.
However, Bloomberg is clear that DevOps will not replace Agile IT practices. If anything, DevOps represents the holistic organizational application and extension of Agile IT practices. As such, DevOps functions as a sort of ‘Agile on steroids,’ reducing delivery timelines in pursuit of ‘continuous delivery.’
Despite their close relation, there is much to DevOps that is not part of the Agile movement, and vice-versa. Continuous delivery, in fact, is more of a Lean principle than an Agile one.
In surveying the modern IT landscape, Bloomberg gives voice to the beliefs of industry stalwart Justin Arbuckle, who suggests that the next step is a convergence of Agile, Lean, and DevOps principles. “We will see that their practices become so intertwined in reality as to merge into the search for a single outcome,” Arbuckle says. “High velocity development in teams that continually improve not only the product but themselves too. I refer to the convergence of these outcomes as ALDO: Agile, Lean, DevOps Outcomes.”
Bloomberg concedes that we have a lot of work to create this convergence, after all, Agile IT practices are confusing enough. Mash them together with Lean and DevOps and an underprepared team will have chaos on their hands.
Still, Bloomberg argues that, in today’s rapidly changing, software-driven world, choosing to forgoe the next stage in the ongoing evolution of IT will increasingly be seen as riskier than taking the leap. “One thing’s for sure,” concludes Bloomberg, “we’re in for a bumpy ride.”