Just a few days back (on 12th, April 2010 precisely) Visual Studio 2010 was released along with .NET 4.0. While most of the .NET developers are excited to see an improved version of .NET framework and itching to try the latest and greatest of all, it is totally a different ball game for businesses, for they prefer and wish a stable framework that doesn’t change, well, forever. As every new version comes with a new set of challenges and often hit bottom lines pretty hard.
A new version is always quite an expensive proposition
Its not at all a surprising fact that even today most businesses are running their business applications on .NET 1.1 or even some still run on classic ASP. Because, more often than not, upgrading to a new version proves to be quite expensive and doesn’t offer enough benefits or improvements that justify the cost of upgrade.
- A new version comes about once in a year. If not a new version altogether, a new SP that fixes a whole bunch of bugs and security issues. The frequency of these updates alone is a big issue to manage.
- Though new versions are often faster than earlier versions, you may have to upgrade your hardware resources to really squeeze enough juice out of those new versions to make sense.
- Even with the possibility of running multiple versions side-by-side, upgrading to a new version is never easy for businesses, as often new versions are not completely backward compatible.
- If there are 3rd party libraries are used in those applications, businesses may have to upgrade those 3rd party libraries as well. New versions, often bundled with a laundry list of new features (mostly not useful at all) comes with a price as well.
- Though, .NET framework itself supports side-by-side execution, more often that not, running different versions of tools is a nightmare. Since not every application can be migrated at once, most enterprises must support co-existence of multiple versions of these tool sets for a long time, living through one night mare by another.
- If Businesses do not upgrade, then there is an issue of support. For instance, Microsoft and 3rd Party vendors may cede support to older versions and force to upgrade. And, it may not be easy and good on account books to find developers who can support older versions.
On the other side of the coin
Its true that a new version is may be a better one than the earlier. Some times a faster, more secure and significantly improved. Some times, a new version even enable new business models, opportunities and much better ways to solve business problems. The truth of the matter is though, most businesses have already developed systems with existing toolset itself to leverage new market opportunities.
And its not just an issue with Microsoft, .NET Framework or Visual Studio. Upgrading any software is an issue and hit bottom lines for most businesses. Its even the same story in the consumer space. For instance, iPhone OS 4.0 will not be supported on the first generation 2G iPhone, forcing to upgrade to a newer version. Everybody is well aware of the story of Windows Vista.
It will be a tough decision for stake holders to make a call to upgrade. But as we all know, it must be done at some point. I wish, we will have a stable release, for at least 3-4 years. No SPs, No new versions of frameworks, tools or any other component.
But we all know quite well, how it works.