ArtinSoft's Blogs

Software Migration Experts
Welcome to ArtinSoft's Blogs Sign in | Join | Help
in Search

The Myth of Visual Basic Migration / Upgrade

The myths about Visual Basic migration make it easy to play the “blame” game instead of trying to understand the issue. Often, in making the wrong assumptions, we “write off” some alternatives without even considering them. However, with training, support from automatic migration products and the use of a comprehensive migration methodology, the migration is not only possible using a fraction of the resources required for a rewrite, but it is also the right choice to reduce the Total Cost of Operation and prepare applications to maximize their future business value.

Abandoning the Fantasy of VB Migration Wizardry ???

It has been about 4 years and still the article that pops up first in Google when searching for "VB Migrations" is an article published in the dawn of .NET: Lori Piquet's "Abandoning the Fantasy of VB Migration Wizardry" (http://www.devx.com/vb/article/16822 ).

It is clear that the article was published to drive readers more than to provide a tool to help customers make a decision.  Since I was the person who supposedly provided the reasons to demonstrate that a VB conversion was not possible and since it has been 4 years, it is about time I "defend" myself against her claims.

So, if you have read this blog, you must know by now that VB upgrades are not only possible, but they are actually a very good option for companies that wish to leverage their software assets.  In fact, during the past 4 years there have been many demonstrations of this fact and corporations are doing VB6 conversions and they are quite happy with the results.  With the publication of the VB Upgrade Guide from Microsoft (with strong input from ArtinSoft), the assessment tool, and ArtinSoft VB Upgrade Companion the magic is actually happening!

Lori said: "After a developer is sufficiently comfortable with .NET and has spent several weeks in studying the migration process with the tool, Zoufaly says that a migration should progress at an average rate of just 7,000 to 10,000 lines of code per week. Therefore, a 1 million-line VB6 application will take 100 weeks—two years—to upgrade. Seems a little slow for something that Microsoft had the hubris to dub a migration "wizard."".  

Well, how many production quality lines does a great software developer writes  per week?  A few hundreds maybe?  So, if there is a process that automatically allows you to pretty much rewrite your application to a new platform in a very consistent way, allows you to bridge the obsolescence gap at a rate that is more than an order of magnitude the normal rate of development?  How would you call it?  I think “Wizard” is not such a bad name after all.   I am certainly not trying to say the process is magic and I also believe that "File-Open-Convert" from inside Visual Studio might not be the right gesture to set up proper expectations in terms of a conversion project, but it is true that the process is there and it works very well.

By the way, I am not making up the productivity statistics for software developers.  The Software Productivity Research Institute (www.spr.com ) publishes such statistics and they more than confirm what I am saying.

I guess time was on my side and, today, nobody would argue about weather VB6 automatic conversions are magical or not.  It is clear that there is a methodology behind, it is clear that they cannot be approached as ad-hoc projects and it is clear that they benefit customers and are less risky, and more cost-effective than manual software rewrites.

As always, I invite you to share your experiences.  Don’t forget that I still have prizes for you!

 

 

Comments

 

Les Tepper said:

Has anyone addressed the fact that the migration wizard does not produce code that is truly object-oriented.  It seems to be pretty much VB6 code in a .NET container.  To truly be .NET code the program should have clearly defined classes and interfaces.  Depending on the program, it is possible that much of the code generated references the VB6 library.

My point isn't that the wizard is poor, but that it cannot be expected to know how your program works, and thus design real classes with methods, properties, events, etc.  It cannot address inheritance, polymorphism or interfaces.  When moving to .NET I would think a real redesign of the program would be in order to take fuller advantage of OO.

Your article mentions that companies are quite happy with the results.  Are these companies leaving the converted code as is, or are they modifying to incorporate well defined classes?  I've talked to other developers and contractors and just about everyone believes that the benefits of a rewrite far outweigh any initial benefit the wizard would provide.  None were convinced that going the way of the wizard would take less time since virtually every line would have to be checked to see if the conversion really produced code that produced the same results as the VB6 program.

We have to convert a program with 150 forms, some 50 modules, and about 40 classes.  This program uses control arrays extensively, various controls on Tab controls which themselves are on Tab controls.  At this point I'm not really convinced we'd get a good product from the wizard.  And again the product would not give us a better program, using OO, but rather sort of a .NET simulating VB6.

I'm open to be shown where I'm wrong.

January 24, 2008 5:35 PM
 

Fzoufaly said:

Thank you for your comment.

In general I agree that if you have the time and the resources to completely redisign an application from scratch and rebuild it, you normally will get better code as a result.  But, will you getter better business benefits?  How long did it take you to design, implement, test, debug and in general how many resources did you use to get to the application current state?  Even with the newer tools and even with the knowledge you currently have about the application, the cost of rewriting it from scratch is going to be relatively close to the TOTAL cost of bringing it to its current state.

If you migrate automatically you get a fully functional .NET application in a small fraction of the rewriting cost.  From then on, it is maintenance as usual, and you can update, rewrite, re organize, the pieces of the application that you need to evolve.  You can do this step by step, you can it on demand, you might not even have to ever do it for large portions of the app.

I am happy to continue the discussion.

April 8, 2008 3:31 PM

Leave a Comment

(required) 
(optional)
(required) 
Submit

About Fzoufaly

Federico—ArtinSoft co-founder—holds a PhDC in Computer Science from the University of Florida, and a Master's degree in Computer Science and an honors Licentiate degree in Electronics Engineering from the Costa Rican Institute of Technology (ITCR). Federico has been a faculty member of both the ITCR Computer Science Department and the University of Florida. He is currently the Executive Vice President in charge of operations at ArtinSoft. Previously, he was vice president of ZIPTEK Inc., a technology-based company that offers consultancy services in automation networks. In 1993, the year he co-founded ArtinSoft, he won the National Electronics Award in the Research Category, awarded by the Costa Rican Federated College of Engineers and Architects. Federico has had an active participation in several local electronic and computer research projects. He is a founding member of the Costa Rican Association of Electronics Engineers and has served as a member of its Board of Directors since 1992, holding its Presidency on two occasions. He is also member of the Association for Computing Machines, the IEEE, as well as an active member of the College of Technological Engineers.

This Blog

Syndication

News

Myth: "Visual Basic Migrations are not worth it." Current Status: BUSTED! Summary: Visual Basic Upgrade/Migrations are the most cost effective and less risky approach to evolve your code and take full advantage of .NET. The process to upgrade is not trivial, but THERE IS a process that can be followed and guarantees success.
Powered by Community Server (Non-Commercial Edition), by Telligent Systems