Posted by Jacob Stevens
Has the impact that a development model makes been diminished by the advent of Web 2.0 and continuous integration technologies?
We’ve had over a decade of results from the Agile Revolution, since the culture of anti-Waterfall doctrine rose up and liberated, in the minds of many, a generation of development teams from rigid, inefficient structure, and bureaucracy impeded both progress and productivity.
Indeed, an online search for “Agile Revolution” hails the victory of a new, de facto ruler in a paradigm shift for software development.
Strong feelings abound in philosophical discussions on development models. There are strong, active proponents and opponents of each: Agile, Extreme, Scrum, Rapid, Waterfall, Spiral, Iterative, Incremental, Rational. Some have adopted a post-Agile approach, so-called “Fragilism,” picking and assembling the best parts of each approach to create a custom model. A bit of reactive backlash has also occurred, with terms such as “Agile Dogma” being coined.
The arguments over the pros and cons of each aside, the benefits are tangible and the results easy to attribute. A lot of it just makes good common sense, and many principles and methods within the models have become entrenched in the industry.
But was the Agile Revolution a champion of a different time and age, when the lack of a strongly defined model or process held greater repercussions than today when the available tools to manage so much or so many of the dynamics and challenges of a development process are legion?
Web 2.0 can perhaps most simply be defined as utilizing the web as a platform. The engines of Web 2.0 – web services, shared workspaces, wikis, RSS, blogs, social networking – have become both viable near-platforms themselves for many development projects, actual end-products, integral features, and integral tools. They have changed both what is commissioned for development, and how end-products are developed.
Continuous Integration tools have made nearly as great a difference, in both regards. Source control, build management, quality engineering tools for test planning, defect tracking, integrated project management features that conform to your development model, your iteration cycle – the dramatic improvement and robust agility that today’s selection of continuous integration tools boast has streamlined development, and opened up a whole new field of industry of products to develop and sell.
These, arguably the greatest fruit of the Agile Revolution, have perhaps rendered the value, the impact a development model makes, nearly inconsequential. The greatest common value that dev models share has been the acceptance of and the agility to respond to the lack of comprehensive foresight in any and nearly every given dev project. The logistics of how to respond to that, and in the process mitigate the greatest potential productivity drains, not to mention acceptance failure in the final product, was implemented by Agile, and other dev models.
Now, it is managed for us with the tools, the children of the Agile Revolution. Now, Web 2.0 and managed code provides the backbone of what we’re paid to develop. And picking Scrum over Spiral holds less inherent risk or reward than it would have a decade ago.
Strong feelings still abound, in dev modeling. I can’t say when they won’t. But in some ways, the reward for Agile’s triumphant paradigm shift has been a short-lived reign of relevance, from usurper to usurped, by its greatest offspring. Philosophical debates on dev modeling has become a bit more like arguing over the pros and cons of different internal combustion engine cylinder configurations like V-6 and Straight Six, in an increasingly hybrid-, bio-fuel, electric-, hydrogen-, salt water- and even air-powered vehicle world.