In the mid-nineties, we certainly did not have the luxury of big video conference systems or even to chat with customers to clarify things. During this era, we still had to rely on a fax machine and later email to share information with customers.
Then came the millennium and the big worldwide scare that all computer systems would stop at midnight. The Y2K problem was that just two digits were used to encode the year in a date (storage was extremely expensive at this time) which would lead to a major problem in most software systems as the 99 would become suddenly 00. So the industry focused on the productivity challenge. New approaches in architecture like Model Driven Architecture (MDA) would now abstract the business models from the applications and have cartridge-based automatic code generated. Huge efforts were spent on building the toolsets and implementing MDA based applications.
The Agile manifesto excited developers with a new approach to software development: an iterative-based development effort got traction which gave the opportunity for such practices as Extreme Programming. The typical waterfall model was extremely risky and very few projects actually managed to be finished in time, on budget or have the right quality. Products were often not validated with the customers before release, so there were even fewer projects that made customers happy once release. And so more and more projects were started based on Agile methodologies like Scrum. The improvements were so significant that the practices, once part of the Extreme Programming wave, like pair programming, unit testing and refactoring were considered the de-facto way of building software.
Open-source has also been one of the stars of the last decade. Although the concept seemed to be around forever, it really gained attention after Eric S. Raymond published ‘The Cathedral and the Basar,’ a reflective analysis of the hacker community and free software principles. But it wasn’t a smooth evolution. At the beginning of 2000, Microsoft, then headed by Steve Balmer, tried its utmost to bury the concept. Remember the SCO / Linux controversy, and the FUD (Fear, Uncertainty, Doubt) campaigns targeted towards Linux especially, and open-source and free software in general? Still, open-source couldn’t be stopped, and thanks to that, today most enterprise software contains and relies on open-source for delivering cost-effective value. Starting with the numerous libraries and frameworks that we rely on during a typical development process. But also new open-source database systems that we deploy on our open-source operating systems. And we can now use practices such as continuous integration and delivery that were built on common (open-source) toolsets like Jenkins, Maven, Git, and so on. The whole DevOps movement has allowed, supported by open-source, the entire industry to push towards lean and lean enterprise with continuous delivery based on new emerging technologies such as containers. Today most public clouds are based on open-source software and toolsets so that any company in need can easily reproduce a private cloud relying on available platforms and toolsets.
Remus Pereni, CTO Yonder