.NET migration


I was fascinated to read some of the comments in response to my recent blog entry titled VB – yesterday, today and tomorrow.  It is very exciting to see that Visual Basic .NET has such passionate supporters and that an equal number of people feel the same way about C#.  From the tone of the debate, this sounds almost like a “which of my 2 eyes do I like better” argument which is pretty true given that both languages run on the same runtime and Microsoft is committed to both of them.  Just like there are different styles of development, there are different ways of approaching problems and there’s a tool for each approach.

 

Looking around the industry, we’re seeing tremendous adoption of .NET across the board and people have noticed.  Forrester Research released a report this past May showing that 56% of decision makers at large companies in North America indicated that they’d be doing the majority of their development work on .NET this year.  Woohoooo!

 

The ecosystem has really taken off with more than 350 VSIP partners and more than 460 user groups worldwide (you can find a user group near you through the International .NET Association website). Combined with the fact that users have installed more than 80 million copies of the framework, we have some tremendous momentum behind the CLR and .NET Framework.  You can see examples of why developers and IT professionals have taken to .NET by checking out the Indy Racing League, the London Stock Exchange, and the Environmental Protection Agency. 

 

One of the things that I’ve been asked by our MVPs and others is what we’re doing to help people who haven’t yet migrated their applications to .NET.  We’re seeing a dramatic increase in migrations as people become comfortable with Visual Studio .NET 2003 and the .NET Framework.  Many developers tell me that they’ve started using .NET on their own and are waiting for new projects to start at work so that they can put .NET applications into production.  However, we also know that there are many VB6 applications that users are still using to run their businesses.  In my recent blog post, I mentioned VB @ The Movies and some of the things that we’re doing to help VB6 developers bring their skills forward to VB .NET.  Look for us to be doing a lot more in this area. 

 

We have also been holding Migration Labs in Redmond.  These are labs where we invite a small number of customers to bring an application to Microsoft and we work with them to help migrate their application.  Obviously, this isn’t something that we can do for every application, but we’re looking to capture a lot of the information that we’ve gained from these migrations to create some best practices and other information for people migrating their skills and applications.  Look for all of this to be brought together in a VB Migration Developer Center on MSDN in a few months.

 

I look forward to hearing about the types of applications that you’re building using .NET today and what types of programs would help you be successful in the migration process.    

 

Namaste!


Comments (7)

  1. Ron McMahon says:

    I’ve been a VB developer since 1992, and a BASIC programmer for over 20. I make a living developing applications in VB / VBA / ASP and my clients expect low-cost solutions to business needs. One of my current clients, a very large oil and gas exploration company, has hundreds of VB and Access applications (and thousands of macro-ed Excel spreadsheets). It is my job to maintain the existing applications and develop new solutions as needed. This client has 2 priorities: 1) Make it go 2) Keep us the ‘lowest cost’ producer of Oil and Natural Gas.

    I’ve worked with VB.NET since Beta 2, and have purchased VS.NET Pro 2001 and 2003, but I have yet to use it in a commercial endeavor (where I’m paid to program in VB.NET). Why? Well, put frankly, there is simply no overly compelling reason that I can provide to my clients to begin new development in VB.NET vs. staying with VB 6 / Office XP. I have had this conversation with other developers (some are employees, others are contractors like I am) and NOBODY has yet to show any compelling reason why this client should move to .NET.

    Sure, developing with VB.NET would be a great new experience with new tools and features of the IDE, but when I meet with the ‘CIO’ of this organization, I have no better argument than ‘Microsoft will eventually end support for VB6’, which rings hollow with him. (As it does with me)

    Before I get flamed for this post, perhaps you should understand what is involved in bringing in even a ‘tiny’ VB.NET application as a ‘trial’ at this large client (1500 workstations over a 80% local / 15% regional / 5% global workforce).

    1) This organization clearly doesn’t expend money where it is not absolutely necessary (even in an age of ~$50 per barrel oil prices), so many of the desktop PCs would require upgrading. Probably 250 PCs for a total installed cost of $400,000

    2) The organization uses a form of ‘push’ technology for putting applications on the desktop (Novel ZENWorks), so scripts would have to be a)built to b)push the *ahem* small .NET runtime to each desk over an already slow local 100-Base-T LAN and over painful T-1 regional and dial-up global connections. Scripting and bandwidth costs estimated at $150,000

    3) The base-load package would then need to be tested against the thousand or so other packages (more time cost by the scripting team) Rinse and repeat for the dozens of custom configured Citrix Servers also in use here (arguably the WORST Citrix implementation model possible – making the nightmare worse) This would cost in labour time alone over $100,000

    4) The help desk would need to be trained in supporting .NET applications that may behave in ways outside of how our existing VB 6 apps work (and fail), perhaps a $40,000 cost (if we’re lucky).

    5) The business would clearly need to invest in VS.NET IDEs ($700 x 40 = $28,000) (this isn’t a LOT when compared to an $8 Billion dollar 4-year exploration/ capital budget, but to the IT department here $28K IS noticed)

    6)Developers here would need to go on at least some rudimentary training to get up to speed on VB.NET, say a modest $15,000 each (Total: $600,000)

    7) Some new tool purchases would be needed to provide the same capability that we currently have in our VB6 stable (say $75,000)

    8) We are already a VERY lean operation (also known in town as a ‘sweat shop’), so we’d definitely need to hire some additional developers to pick up the work that would back up due to the training and slower initial productivity and extra migration work(?), say a 20% boost in developers / support personnel / management overhead (10 x $130,000 = $1,300,000)

    This preliminary cost, just to get to a point of being able to develop, roll-out and support even one trial application that the business would make use of is $2,690,000. This DOES NOT cover the cost of converting all of our existing applications to VB.NET, nor does it cover the cost of database access scripting / support, which would also boost the cost to close to $3,000,000. Oh, I forgot to add the cost of the ‘Hello Business’ trial application…say a very modest $5,000.

    Now, three million dollars doesn’t necessarily go very far when you are drilling for oil, but then again, once a well begins to produce, 3 million dollars is only about 60,000 barrels of oil, which isn’t a lot, so the economics favor investment in drilling activity. On the other hand, I can’t go to the CIO and say that there is this overwhelming payback to that $3,000,000 that you will invest in going to .NET. Sure the developers will be happy (hopefully), but the scripters, Citrix Administrators, Help Desk, Database Analysts and managers will likely be pissed at the extra workload. You see, we’d still have the ‘legacy’ VB 6, Access XP, Excel 97+ code and tools living in this organization for at least another decade.

    This company uses a 2-for-1 system to measure if an IT (or any) optional (non-regulatory) investment should be made. I can’t show that going to .NET will bring in ANY benefits that will save this organization $6,000,000. I’m hard pressed to even come up with any cost savings (feel free to point them out if I’ve missed something) that .NET technology will give us. Some suggest that greater developer productivity is one ‘easy’ payback point, but with all of the training involved and diversion from on-going VB-6 support and development work, I can’t see any near to intermediate term savings there.

    In the end, what it comes down to is that my current client has a huge investment in its existing computing infrastructure; hardware, software and people. Moving from a DOS based environment to Windows was a no-brainer in the early 1990s, but the move to .NET shares none of the same compelling arguments. I fear that VS 2005, regardless of all the blaring trumpets in the media about its ‘great advancements over .NET 1.0 and 1.1’ will still not present any reason for this organization to go forward.

    Even in 2008, when Microsoft has said it will end support for VB 6, I doubt that this organization will be compelled to spend even more money to migrate then. They may elect to take a chance and stay with the legacy solutions and tools, or they may in response to pressure to move, select some other technology (LINUX?) that will provide a lower-cost solution that they can have more control over.

    What am I trying to say in this all-too-long post? Well, these are sad days to be a corporate or commercial VB developer. The Microsoft train is leaving the VB 6 station and many of us can’t (or won’t) afford the ticket or we can’t convince our partners to leave the station behind. Perhaps this is what it really is all about – the customer stupid! Sure, Microsoft has been developing great tools for over a quarter century, and I’ve based my career and livelihood on them. It is time for a frank discussion as to why customer migration to the .NET platform isn’t going as originally foreseen by Microsoft. There wasn’t this issue in moving from DOS-based systems and tools when Windows 3.x came on the scene in the early 1990s, but it is a reality today. Microsoft is WAY too far ahead of its customers in respect to the future of corporate desktop development requirements. It has two options 1) stay way out there and risk loosing us in the dust or 2) come back to its customers and meet our needs where we are, not where Microsoft wants to take us.

    Staying back with the VB-6 community isn’t sexy, it isn’t as much fun, and in some ways it isn’t very challenging, but it is where millions of developers are today and it is where we likely will be in the next 5 years as well. That is primarily due to the resistance of our customers to move forward, but regardless of the reason, we can’t just jettison our code, skills, infrastructure and contracts to jump to a new technology island, no matter how well marketed it is.

    Please don’t abandon us, Bill. You risk leaving us to find other helpful people, like Linus.

    Ron McMahon – rmcmahon@singlepoint.ca

  2. You may want to check out the content from my VB6 to VB.NET Upgrade Tour which is now available for download:

    http://weblogs.asp.net/jackieg/archive/2004/08/20/217558.aspx

    I think it is really pretty good :-)

  3. smoe says:

    Do you guys ever stop and think how this would be if you where doing the same stuff – but not part of MS? Doesn’t that temper you?

    Hey we have millions of adopters! – no shit, we are a monopoly, and there are entire INDUSTRIES build on servicing us.

    Just wondering if you guys all worked for Corell, and wrote .NET there, would millions of people be downloading it? or would MS crush you or "innovate" you.

  4. Pete King says:

    Ive built a number of in-house applications in VB.Net over the past year including data manipulation tools (you wouldnt believe how much logging to CSV files the company I work for generates, or how difficult some people find it to learn SQL in Access), a web "portal" that brings seperate web applications together under the same "roof", and a code editor for a propriety scripting markup language we use, among other things :)

  5. Ron McMahon says:

    Funny, my feedback that I provided to this post yesterday hasn’t shown up….are you supressing legitimate comments that may not be flattering to your opinion?

    rmcmahon@singlepoint.ca