Last decade, known by many as the Naughties or Noughties, set the stage for a number of key software development trends. Here are some of the hottest of those trends and resulting challenges developers will face in the next 10 years. Initially, the goal of this piece was to come up with a "Top 10" list -- to name the top 10 software development advancements of the last decade. But I quickly compiled a list that went well over 10 items. And when I asked various friends and trusted sources in the industry for their opinions, the list only grew further. So this list will feature many more than 10 key trends in software development from over that last 10 years, and will be delivered in two parts. The list is in no particular order or ranking, other than that SOA is first because it became a big deal early in the decade. But other than that the list is not ranked chronologically or in order of importance.
1. Web Services/SOA
The first technology trend of the Noughties I'd like to call out is that of service oriented architecture (SOA), which burst on the scene in the early part of the decade and made things crazy for a while. SOA defines how to integrate widely disparate applications for a world that is Web based and uses multiple implementation platforms. Springing from the foundation of pioneering Web services standardization efforts of Microsoft and IBM, SOA became a big buzzword early in the decade, prompting many an ad and marketing campaign to include the term "SOA." Some companies, such as SOA Software changed their names to reflect the significance of the term and technology to the solutions the IT issues of the day. Originally named Digital Evolution, the company changed its name to SOA Software and claimed the URL: www.soa.com. However, IBM has perhaps been the most successful at monetizing its involvement in the SOA craze, by focusing its WebSphere middleware line at the SOA world, encouraging customers to start pilot SOA projects, and mobilizing its massive services arm to help take customers beyond the pilot phase.
As the trustworthy creator of Java, Sun's James Gosling, told me, one of his observations for the decade is:
"Distributed computing has become the norm. It's not just 'SOA' the specific architecture based on X M L that was popularized in the middle of the decade, it's 'SOA' the general term for service oriented architectures that include techniques like REST and raw sockets."
Dion Almaer, co-founder of Ajaxian.com and co-director of developer relations at Palm, said, "SOA bombed at first. WS-* was the EJB [Enterprise JavaBeans] of Web Services and no one cared. However, SOA is back with the emergence of rich clients on the Web. But instead of being WS-* SOA it is just simple REST services."
2. The Rise of Open Source Software (OSS)
Open Source Software reached critical mass in the decade of the Noughties. The open source model caught on like wild fire among developers and quickly became adopted by entrepreneurs looking to build companies by providing services for these OSS technologies. And it worked. Marc Fleury founded JBoss around the JBoss application server and later sold the company to Red Hat for more than $350 million. Rod Johnson founded SpringSource around the open-source Spring Framework and last year sold it to VMware for $420 million. VCs saw an opportunity and began to get behind the best and the brightest. And organizations such as the Apache Software Foundation (ASF) and the Eclipse Foundation sprang up to, among other things, foster community involvement in various open-source projects. Although the ASF was founded in 1999, it saw some of its best days in the Noughties.
OSS had such an impact on the industry and on software development that tightly closed Microsoft was forced to acknowledge it. After initially trying to ignore and then show hostility to OSS, Microsoft had to come to grips with the reality of OSS and had to create its own (mostly) open source community, CodePlex. Microsoft has since spun out the idea of its CodePlex project hosting effort into the CodePlex Foundation.
Several factors led to the emergence of Open Source Software, including that developers often felt they could hack their own solutions and that they were sick of seeing vendors slap up to an 80 percent markup on proprietary systems. Not to mention that it was a way to tweak Microsoft and keep some money from going into Bill's pocket.
However, another factor was that the industry didn't need the kind of innovation in proprietary software that it did when the problem for customers was all about automating previously manual processes. Now that the problem is about improving what we already have, the existing software vendors don't have a business model for that. Open source does -- one of the ways you improve a product is reduce its cost, in this case by sharing the R&D.
David Heinemeier Hansson, creator of the popular Ruby on Rails Web development framework, told eWEEK he believes the Noughties were the decade of: "The dominance of open source: The entire stack is now free and most people only look at commercial alternatives for very specialized setups." Although "shops trapped with Microsoft are the exception," he added.
Grady Booch, chief scientist for software engineering at IBM Research and co-author of the Unified Modeling Language (UML), told me: "Whereas most early open source projects were just rehashing older commercial things, we've seen real innovation of late (e.g. Hadoop) that has produced major subsystems that contribute to a lot of production systems."
3. The Web becomes the Number One Development Platform.
Hansson said: "The Web becomes the number one software platform: RIA [Rich Internet Application], this, RIA, that. The regular Web has proven to be the number one software platform despite all the dooms mongering."
Added Booch: "Google is on the rise, and they have in effect contributed to creating the next development platform -- but I'd add folks like Facebook and even Salesforce -- the net being that operating systems have become a commodity, and the Web is the new development platform that
emerged during the Noughties."