I’m faced with a challenge of leading two (currently) separate .NET development groups with different development strategies. One group is developing on the .NET Framework 2.0 (with maybe a few applications on 3.5). The other group immediately adopts any new framework that comes out, and begins coding any new applications with it (they are running 2.0-4.0 applications). For this last group, applications written in an earlier version than the latest framework do not get upgraded.
What is the current school of thought when it comes to a company developing web applications on when to adopt a new framework, and whether to migrate applications built on previous versions to the latest framework or not? Years ago the thought was to wait until the technology became mainstream – but that doesn’t seem to apply much now with .NET.
(The following is my personal opinion, based on aprox. 1 1/2 years of experience with .NET in the same corporate environment. Other opinions may certainly differ from mine.)
Probably the most important thing to consider would be which .NET framework versions their clients have installed on their machines.
For example, our main client at work has installed .NET 3.5 and Silverlight 3 on all (> 5,000) machines. While we would very much like to develop against the version 4 frameworks, that’s not truly an option until the client’s IT staff finally decides that it should deploy these frameworks. (We expect that to finally happen around mid-2011. But the client has many machines, so things always take longer than you’d like. They’re also still running Windows Vista on all desktop machines. In other words: large clients are probably slower to adopt the newer .NET framework versions. That’s another thing to keep in mind.)
However, I think it’s safe to expect that your customers should have .NET 3.5 installed by now. .NET 2 slowly is a thing of the past, and you can probably even stop supporting .NET 1.1 on desktop machines.