Many people would argue that the comparison is meaningless: IT is evolving and a version ten years younger is surely better. It includes enhancements based on experience and users requirements and bug fixes and evolution of the vendor's infrastructure and techniques.
I am not sure that experts will agree that the newer
Vista is better. I would suspect that even the vendor's experts opinions vary: some Microsoft's experts probably will argue that XP is a better operating system. The popularity of a downgrade option to XP is another indication that Vista may not always be better than XP.
The speculations about Microsoft's intention to skip
Vista's evolution and release Windows 7 earlier than planned could sustain my thesis: Newer products versions are not necessarily better than their predecessor.
Limitations of new Office versions
A new version implies new income by user license upgrades; therefore Microsoft releases new versions in cycle of about 2 or 3 years between versions.
But in order to release a new version, a vendor needs a significant product change which can justify it.
A significant change is in most cases enhancements: new functionality in existing components or new product in a suit.
New functionality or new product implies additional code lines.
It is easier to add functionality than to omit unused functionality; therefore omitting functionality, included in previous version, is a rare procedure.
The result is code lines number increase and complexity and gradual increase of maintenance difficulty.
According to research the number of bugs is roughly proportional to the number of code lines.
Complexity means instability and errors.
We as application suits users paying the price of this vicious circle.
Isn't it the time for a model change?
An Alternative model by example
The poor Spell Checker discussed in previous posts Microsoft's Word: 3.1 vs. Word 2003 and Zen and the Art of MS Office Problem Determination could serve as an example of an alternative model.
I need only English and Hebrew support in at least 99% of the time I am using Word.
I would guess that many other users need only dual language support: usually their native language and another language.
I need a Service based model instead of a product. Word should include only core functionality and definition of services and an easy standard way to plug them into the core functionality.
In that case I could use Microsoft's Spell Checker with Microsoft's Word or another Spell Checker developed by one of the vendor's partners. SOA based design will enable replacement of one Sell Checker by another almost transparently.
Benefits of the Alternative model
The benefits are very similar to some of SOA benefits:
1. Easier maintenance – the vendor will be able allocate less resources and produce better artifacts due to the reduced complexity.
2. Users could install or use in a SaaS model only services they need.
3. Competition is a trigger for better quality with reduced costs for users.
4. Flexibility: instead of one size fits all products, availability of more specific services for specific requirements types.
- You can easily extrapolate this discussion to other applications such as SAP applications or Oracle Applications.
- I hope that this post provides some insights of SOA benefits for Application Suits.
- Application Vendors are building SOA Ecosystems replacing the traditional ERP and CRM systems, which were built for efficient Operation and not for Agility.