Microsoft and the corporate market. There are three 'platforms' for building corporate applications today: J2EE, Microsoft.NET and the 'Open Source' platform. In the later I also include Java software that is not J2EE like Struts, WebWork, Hibernate, Castor....a big oil company and an airline company. Both have J2EE as their standard platform....Slow moving is not a problem for most corporations. They usually move slowly, and they feel comfortable with 'designed by committee' technologies, so J2EE has a good value proposition for them....
via [Andres Aguiar's Weblog]
Andres does a good job articulating one aspect of a fundamental tension in corporate software development -- the processes by which software development is done today are known to be inefficient and expensive, but they're known and therefore somewhat controllable. Many corporations would prefer to budget \\(100 believing it's +- \\)10 rather than \\(80 that's +- \\)25. In no small part this is because for 40 years, they've been told that new processes "cut development costs in half" or even "by a factor of 10." I estimate the overall productivity advantage of .NET versus J2EE above 10% and less than 20%, which is tremendous, but a MS reviewer criticized comments to that effect in Thinking in C# as "overly cynical and detracts from the author being viewed as the authority on the subject."
These are the numbers that Microsoft uses in their own VS.NET 2003 ROI calculator: Unified IDE +10% productivity. Drag-and-drop server components: +10% productivity. OOP: +10% productivity. Debugger improvements: -20% debugging time. Improved test scripting: +8% test productivity. Web forms designer: +25% Web UI productivity. Dynamic help: 24 hours per developer per year. Even if you accept these numbers, (-25% debugging time? Hah! Advanced debugger features have minimal impact on the overall time spent correcting defects!), how in the world can you argue the tools give you >20% productivity over J2EE using, say, IDEA and jUnit? It's just not true.