ArtinSoft recently published a number of case studies of Visual Basic migrations for ISVs. The projects were successful both from the technical as well as the economical perspective. If you are an ISV and you are considering an evolution of your application and a port to the .net platform I encourage you to take a look:http://www.artinsoft.com/vertex-omiga-vb-to-net-migration-case-study.aspx
http://www.artinsoft.com/hsi-latnav-vb-to-net-migration-case-study.aspx In this blog I am trying to be as unbiased as possible in reporting my opinion with regards to VB migrations. This time I am mentioning the case studies as evidence that a lot of the conceptual discussions that I have are actually happening in reality. It is interesting to see how many of the comments to this blog tend to be from skeptics and from people that just love VB6 and do not want to abandon it. My purpose is to show that there is life after VB6 and that an automatic migration is not only possible but, in many cases, a great alternative for your evolution plans.Please let me know what you think of the case studies.
I spoke to Paul Yuknewicz who is a Program Manager on the Microsoft Visual Basic team and who is quite involved with everything related to VB6 and its migration process. Paul said and I quote: "VB6 runtime will be shipping and supported as a part of Windows 7, however there are no plans to ship it in future versions of Windows." Microsoft will surely release an official document stating this in the near future. What is my take on this latest Microsoft move in the VB6 saga? Well, I guess Microsoft had to react to the fact that VB6 is still widely popular and that a lot of businesses have delayed (procrastinated??) the decision to move to .NET. From that perspective I believe this is the right move for Microsoft. They want to minimize the impact of the end of life for Visual Basic 6.On the other hand, I have to wonder, why do people seem to not want to upgrade? Over the years I have formulated a number of hypotheses as explained below.
What is your position? Am I missing a category of reasons why VB6 is still around?
Migration is perceived as expensive: In the short term is certainly cheaper to do nothing than to migrate, however, if you have a valuable asset you want to make sure you can extend its life (and therefore ROI) as much as possible. Automatic migration is the best alternative to achieve it.
Migration is perceived as lacking value: I have often heard how by automatically migrating an application at the end I get the same application and therefore I did not gain anything. This is also false. Once you upgraded the source code you have injected new life into it. Your application has suddenly extended its life expectancy and (again) its ROI. Maintenance and evolution of a .NET application is safer than of a VB6 app.
VB6 Applications are not evolving: Can this be true? It is possible that companies have VB6 applications that support a business function that is not evolving. If this is the case, leaving applications in VB6 is just fine and the fact that now Microsoft supports VB6 in Windows 7 gives a new breath to those applications. However, in my more than 15 years of experience in the IT industry I have yet to see an application that never changes! It is important to remember that the Visual Basic 6 Development environment is off main stream support by Microsoft.
Applications will be retired before VB6 stops working: This is a plausible for a number of applications. Companies sometimes choose a substitution strategy and just retire applications, or business processes stop being important and therefore the applications that support them are no longer necessary. These cases certainly happen, and a number of applications might be in this category but it cannot be the great majority of them! Additionally, companies sometimes believe that substituting an application for an equivalent one is cheaper than migrating them. Well, I dare them to review this assumption make sure they run a complete comparison.
It’s just procrastination: The famous “if it ain’t broken don’t fix it!” … do I have to comment on this?? May this be the reason why VB6 is still around?
There’s just too much VB6: This is the argument Gartner used to make for COBOL: it would be too expensive to migrate all the COBOL. In fact, I have even heard this from an IBM executive who told me that at some point they were scared that all the mainframe code would migrate to Java (and therefore business rules would no longer be trapped in a mainframe) but then they run the math and just relaxed! Of course, there is no real automatic solution for COBOL!!!! For VB6 is a different story (ArtinSoft infomercial: http://www.artinsoft.com/pr_vbcompanion.aspx ).
Here is an excerpt from an article that Greg DeMichillie wrote on Directions on Microsoft April Edition:
"The planned follow-on release to Windows Vista, code-named Windows 7, will not include the Visual Basic 6.0 (VB 6) runtime libraries, Microsoft has begun informing customers. This sets a timeframe for the final end of support for the runtime."
As we have informed on several occasion in this Blog, Microsoft is performing all the normal steps to retire a technology from market. Visual Basic 6 was/is a tremendously popular technology but never the less it will have to go away.
Jarvis Coffin once said: "All technologies fade away, but they don’t die." This is most probably what is going to happen to VB6 (hey.. we still have COBOL code written more than 30 years ago that is alive and kicking!!!) but the question I have for you is: will you embrace the new technology? Or will you fade away with it?
It is time to upgrade your skills as a developer and also to migrate your application to greener grounds.
ArtinSoft has been hugely successful at migrating customers as Eric Nelson (Microsoft UK DPE and blogger) recently mentioned: "Artinsoft have a lot of VB6 migration experience and can help you do the migration - either by licensing their VB Upgrade Companion or by taking advantage of their migration services. Artinsoft are doing some great work with some of my UK ISVs helping them move off VB6."
If you have any questions or comments regarding your migration strategy let's cover them in this blog.
UPDATE March 11th 2009: The title of this post was: "VB Runtime NOT in next Windows". However, Microsoft has recently updated the support policy for Visual Basic 6 Runtime. The new policy states that the VB runtime is now supported for the full lifecycle of Windows 7.
PS: You can read the inflammatory comments I got over the past week below!