At the beginning of 2008, it is time to look back at what happened in the software development world during 2007. Amongst the most important trends developed during this year, I choose the continuation of the consolidation in the software industry, the entry of Microsoft in the battle for the rich internet interface market, the expanded usage of software as a service, the diffusion of open common architecture frameworks, the greater importance given to agile software development practice in the media and the better recognition of Ruby by commercial tools editors.
Ongoing Industry Consolidation
As usual, there have been several acquisitions during this year: IBM bought Telelogic, Watchfire and Cognos; SAP bought Business Object; Software AG bought WebMethods; Oracle bought Tangosol, Agile and Hyperion; HP bought Opsware and Neoware. There was also a failed acquisition with the offer made by Oracle to buy BEA Systems last October, before they finally found an agreement this month, at the same time that Sun was acquiring MySQL AB. There were even rumors that Microsoft was looking to buy something as big as SAP. Sadly for the industry, the majority of these acquisitions are not technology-driven, but mainly financially motivated. At the end of economic growth cycle, companies try to find new ways to increase their revenues. Thus they buy existing “market share” and “customer base” as it seems the easiest way achieve growth and to promise “cost-cutting” synergies. Furthermore, technology seems to be less and less a success factor in the software development industry. In many markets, a lot of open source products will often compete with commercial tools. Therefore, the survival of software vendors relies more in the strength of their support infrastructure and the consulting services that they can sell with their technology.
The WUI War Heats On
At the beginning of the year, the situation was mainly that Adobe was opposing its proprietary technology to a bunch of smaller competitors proposing Ajax frameworks. With the release of Silverlight by Microsoft last summer, Adobe is now fronting a much bigger competitor and will have to make more efforts to maintain the advantages of its “first in the market” position. Adobe reply takes the form of the future launch of the Flex 3 and AIR, a multi-technology (HTML, Ajax, Flash and Flex) development and runtime environment for rich interface applications. Adobe also decided to put some of its proprietary technology in the open source world and proposed free SDK for Flex. In the middle of this war, Sun attempts to have its word with the launch of JavaFX, a new scripting language dedicated to managing the interface that will be tightly integrated with Java and run on JVM. However it seems that it will be difficult for Sun to play a meaningful role in this battle.
Software as Open Services
Software services have been around for a long time with the famous SOA (Service Oriented Architecture) acronym. However, it has often been more an internal architecture with some ventures in B2B (business-to-business) communication. Last year the phenomenon has been growing in importance due to the number of services available on the Web. The trend has even created its own buzzword “mashup” to define a web site that aggregates services from different providers. Naturally, there are services that are more visible than other, like the famous Google maps that you could see whenever geographical reference is needed or the payment sites that allow to process credit cards payment from e-shopping sites. Besides these more visible aspects, there are also a large number of companies working on different software services (field validation, calculation services) that are less visible. With a new industry, it will take some times for suppliers to prove their strength and reliability, but we should see more and more Web sites calling external software bricks created by specialized editors.
The software development industry could still be considered dominated by some major companies like IBM, Microsoft, Oracle, Sun or Adobe that offer some proprietary and mainly monolithic solutions. Besides this, there is the evidence that some industry players are also working in a coopetition mode, with models like Eclipse where different players add their own bricks on a common architectural framework. With the expansion of the web, operating systems are less and less what determine reference architectures. There is also an increased intervention in the software development market of players like Yahoo! or Google. Both host some collaborative web site for open source projects and propose Ajax frameworks. The Google-led Android SDK may be seen as a minor element, but you should consider that the mobile phone is considered as a major channel to reach the consumer in the future. Google seems to have really adopted an anti-Microsoft strategy. This translates in the development of several software projects that could compete with Microsoft solutions.
Agile Shines Brighter
This year has seen an increased visibility of agile software development practices in the industry media scene and blogs. The agile conferences were also a great success. It is difficult to estimate how far this translates in the adoption of agile practices in organizations, but the agile movement has quit its outsider position to join the group of generally accepted software development approaches. Scrum seems to have the wider acceptance in companies. The project management framework and the (certified) coaching aspects are appealing to both software development organizations as customers and consulting firm or individuals as suppliers. A more difficult period begins for agility as all processes that spread quickly begin to rely on less experienced individuals and will target more average projects and software developers. Therefore, they are more prone to create their own “horror stories” and see rejections.
Ruby Goes Commercial
The year has been very positive for Ruby. Release 2.0 has been issued and a strong community supports the development of projects around the language. Even if Ruby on Rails is the most know framework, many others exist with different approaches. Commercial companies have also begun or increased the support for Ruby. In January, SapphireSteel Software formally announced Ruby In Steel .In March NetBeans announced Ruby support, CodeGear released 3rdRail in September. However, this added support is always peripheral to the main activity of the large editors. To gain popularity in the business software development community, Ruby should have the backing of a commercial company that could provide more technical and financial resources, in the same way that Zend is driving the pace for the PHP language. This may not be the will of the Ruby community, but an extended breakthrough in medium to large organizations will be very difficult without this support.