The Beginning of the End of Long Software Development Cycles

Last month, Microsoft announced that it would start to automatically upgrade Internet Explorer on users’ PCs, essentially following the route Google Chrome has taken.

This announcement has gained publicity in the Internet-related software community as it was evident that this action was taken to react to Google Chrome’s increasing market share. Within a few years, Google Chrome usage has grown, and it is now not only the second most popular browser overall (surpassing Mozilla Firefox), but also similar in popularity to Internet Explorer 8.0, hence essentially (in a tied race) the most popular specific-version browser overall.

But, the significance of this release transcends the browser war. It highlights that long development cycles are becoming a thing of the past.

In a previous post, I argued why short development cycles (or “Agile Development”) provide a critical competitive advantage, business-wise. I described the need for frequent release cycles as “add functionality to make customers happy, or die.” And indeed, Internet Explorer is fighting for its life and relevance. It simply cannot compete with similar software that gets updates every few weeks. So, Microsoft is knowingly disregarding traditional wisdom around “risk” (of silent upgrades) “compatibility”, “control” (by the almighty Enterprise), and “stability”, paying only lip service to those areas. As things are, Microsoft did not face any choice: Internet Explorer was otherwise on its way to lose relevance.

I’m sure we will see similar phenomena in other software categories. Are you selling an application that gets a new release every 18 months? A more agile competitor will come after you. They’ll initially be seen as “lightweight”, “non-enterprise-ready”, etc., but will eventually offer more functionality and better responsiveness, and you’ll be behind. Biologists call it evolution, and the beauty is that the process may take many generations, but it ends up the same: (only) the fittest survives.

Interestingly, the process is in motion everywhere. Not every industry is as competitive as Internet browsers. But, can you think of a heavyweight enterprise software provider, selling 8-digit contracts, with little direct competition? Did anyone say Oracle? In 2008, Larry Ellison, Oracle CEO, mocked cloud computing as being “fashion” (“orange is the new pink”). In 2011, Oracle introduced the Oracle Public Cloud.

Now, one may argue that the two topics are unrelated: what’s between frequent software releases (essentially an application lifecycle management concept) and cloud computing (essentially an IT concept)? Well, everything. As I had noted, the two concepts co-evolve: the one (central hosting) enables the other (frequent releases), and the other (better and more agile software) drives the first.

Last month, I had visited Delphi (in Greece), the location of the original Oracle, the source of prophetic predictions (not to be confused with Gloria Foster). In the case of software release cycles, one does not need an Oracle to see into the future, and not even a crystal ball. Long development cycles are dying, and the decision by Microsoft to open the gates to silent Internet Explorer updates is just one early swallow. The spring is here.

2 responses to “The Beginning of the End of Long Software Development Cycles”

Agile approaches with their short cycle times work well for SaaS solutions. Salesforce.com is a great example of it. Google is also setting the standard for how to release software. The future is looking brighter.

Though I agree with the analysis in general, I think the opt-out talk is far from being a mere lip service. The “mighty enterprise” is one of Microsoft’s strongholds and I would expect them to be more aligned with organizational processes. The notions of governance and change control that might sound gibberish to the Chrome folks bear a heavy meaning at Microsoft.