Migrating from Visual Basic 6 to Visual Basic .NET could cost companies on the order of $43,000 per developer, research from the Gartner Group indicates. This might come as a surprise to many companies expecting they could make the transition with a week of classes and an upbeat attitude.
Joseph Feiman, a Gartner analyst who has studied the cost of migration to other languages, said it is still a little cheaper than migrating to Java ($52,000) and less time-consuming that a Visual Basic-to-C# migration. But there are lots of hidden costs that a company might not identify up front when planning the transition. "The cost is definitely higher than what Microsoft will tell you," Feiman noted.
To make the transition, companies have to plan for about six months of migration time before a programmer will be back up to full productivity in the new language. Junior programmers might take another 30%, while senior programmers could master the new skills in 30% less time.
In the first step of migration, developers need to spend about 23 days on average of in-class training, at a direct cost of about $400 per person per day. A typical curriculum would include three days of .NET Framework introduction, four to five days of Visual Basic programming introduction, four or five days of advanced programming, three to five days of ASP.NET and three to five days of ADO database programming.
At this point the company has already spent $6,000 to $9,000, not to mention a month of downtime for the developer. Feiman estimated the total costs based on a typical programmer salary of $67,000 per year plus benefits.
Feiman believes that at this stage, the programmer is ready to begin a slow migration to professional .NET Framework skills, which could take an additional five months. For the first three months, companies are paying for a very inefficient developer, at a total loss of about $23,000. After six months, the developer is formally trained with his new more valuable skills, and as a result is likely to ask for and get a salary increase of about 5%.
Companies can try and execute the migration on the cheap but can end up spending considerably more in hidden costs and lost productivity. "Organizations will send a developer to a single class, and then pretend they have a .NET developer, and the poor guy pretends that he is," Feiman said. "He starts reading manuals under the desk and starts making errors he would have avoided if he got proper training or guidance. You pay one way or another. The migration period would not be lower."
One way companies can try and overcome these costs is to outsource some of the development effort to countries like India, where programmers are happy to make $5,000 to 8,000 per year fresh out of college. But even with the difference in salaries the realistic savings are on the order of only 25-40%, rather than 80-90%. This is because only some parts of the project can be outsourced -- others, like analysis and design, should be conducted on site.
If your company plans to migrate from Visual Basic 6 to C#, expect a longer learning curve -- nine months, as opposed to six months for the Visual Basic 6-to-Visual Basic .NET move -- and a greater financial commitment. With the amount of attention Microsoft gives C# over Visual Basic, though, some would argue that such an investment is worthwhile.