Microsoft Response to Gartner Report (was: "Re: Cost of migrating to .Net")

"Ari Bixhorn (Microsoft)" <[email protected]> Fri, 21 Jun 2002 17:12:54 -0700
Newsgroups gmane.comp.windows.devel.dotnet.advocacy
Message-ID <DOTNET-ADVOCACY%[email protected]>
I wanted to provide some information on the recent article that posted on
CNET as well the Gartner Commentary that discusses the costs of moving
to .NET.  I should preface this post by saying that Microsoft has a great
deal of respect for Gartner Group and their research.  This post is simply
intended to provide the Microsoft perspective on this particular topic.

Gartner Group=92s commentary, entitled =93A Cost Model for .NET Conversion,=94=

describes Gartner findings on the costs associated with migrating a
Windows DNA-style application to the .NET platform.  While Gartner group
does a good job of accurately discussing some of the differences
developers will face in moving to .NET, such as the new component model,
the ADO.NET data access model and a new paradigm for building Web
applications, the overall findings don=92t match those from tests done at
Microsoft as well as the with many customers who have successfully moved
their applications to .NET.  Gartner also weakens their findings by
acknowledging the difficulty in estimating the cost of code conversion:

=93The most-visible cost component, the cost of code conversion, is also the=

most difficult to estimate.=94

=93Estimates of cost and time in software development projects are
notoriously unreliable, due to the wide range of quality in software
implementations and the wide range of programming ability in software
teams.  Code conversion is no exception.=94

=93Many factors affect the amount of effort required to rewrite code.  These=

variables can introduce an order-of-magnitude difference in costs from one
application development (AD) organization to another.=94

It is important to note that Gartner does not mention the source of their
data, the methodology employed, nor the statistical significance of their
findings.

In addition, the commentary mentions that the model used for estimating
cost of conversion =93is better suited to the all-at-once conversion
process.=94  We've been hearing from our customers that very few companies
actually decide to convert code all at once -- the majority opt for a more
gradual, incremental upgrade.  This is the recommended course of action,
as it enables development teams to upgrade components only as needed.

Related to this is the issue of using COM interoperability to communicate
with existing code without upgrading it.  This is something that is not
reflected in the commentary, and admittedly hasn't been touted strongly
enough by Microsoft, however it is becoming a very viable option for a lot
of customers - particularly those who have pre-existing code already
deployed and in maintenance mode.

Gartner Group also correctly points out that two basic methods of code
migration exist:  The first involves a direct conversion of the code as it
exists today.  The second involves cleaning up existing code to make it
more =93migration friendly=94 prior to upgrading it.  However, they then cla=
im
that their single approach to costing the upgrade of code applies to both
methods.

This is a contradiction.  When developers take simple steps to clean-up
their code prior to migration, it radically shortens the upgrade process.
In recent months, we've been doing a number of tests on this issue with
both small and large VB 6 projects.  In conjunction with ArtinSoft
Corporation, we've upgraded about 2 million lines of VB 6 code to
VB .NET.  Results showed that for each issue addressed during the pre-
migration code clean-up, between 5 and 8 upgrade issues could be
eliminated.

In addition, when converting from VB6 to Visual Basic .NET, the five most
common upgrade issues together account for about 90% of the total quantity
of upgrade issues.  All five of these are micro-issues that are easy-to-
fix, particularly when addressed prior to the upgrade.

Once code has been prepared for the upgrade, Artinsoft found that the
upgraded code only encountered 1 upgrade issue for every 106 lines of
code.  Microsoft tests with customer projects have found that when code is
cleaned prior to the upgrade, the cost of upgrading from Visual Basic 6.0
to Visual Basic .NET is typically 5-10% of the total development cost.

Bottom line is that evaluating the benefits of upgrading existing code to
VB .NET is definitely the sensible thing to do.  I've talked to folks who
have done everything from rewrite from scratch to upgrade all at once to
incrementally upgrade to simply maintain existing code in VB 6 and start
doing new development in VB .NET.  In my mind, It's all good...

-Bix

Ari Bixhorn
Product Manager, Visual Basic .NET
[email protected]