Interview with Richard Warnett of Financial Objects on their decision to go with Visual Basic .NET

A big thanks to Richard for taking the time to do this. I have known Financial Objects for many years and have been impressed with how they have successfully taken forward their VB6 investment onto .NET using Visual Basic .NET.

I would love to do a few more of these with UK companies who have happily made the switch from VB6 to .NET or have selected Visual Basic over C# for .NET development. Please do contact me if you would be happy to do this. Thanks.

Richard, could you just say a few words about your role in Financial Objects?

I am chief architect and product director for our Microsoft platform retail banking solution: activebank.  I also provide architectural and technology strategy support to other product teams as well as advising the board on technology matters. I have worked with the activebank solution for 14 years now and have followed Microsoft’s enterprise technologies and more importantly, Visual Basic, through that period.  In my role I am concerned with the entire development lifecycle, including post-deployment support, which I believe brings a healthy dose of caution and realism when considering the adoption of new technologies, methodologies and approaches.  We operate an on-shore / off-shore model for the development and support of this product and this arrangement has provided me with fantastic opportunities to focus on the processes as well as the nitty-gritty day-to-day technology of coding.

I understand that many of your products started out using Visual Basic 6 and earlier. When you decided to move to .NET did you consider also moving to C#?

We certainly considered all of the dishes that were on the Microsoft menu at the time .NET was introduced.  We were fortunate to be working with Microsoft under a Premier Support for Developers agreement (PSfD, now Microsoft Partner Advantage – MSPA) at the time, which gave us privileged access to those in the know and for us to be able to have frank and open discussions about the variances between the languages. 

The demonstration of the MSIL generated out of the languages was enough for me to understand that we would not be making a technical compromise by choosing to stick with Visual Basic, and so we were free to make the decision on the basis of what suited our organisation best.

Given that we had a large and capable team of Visual Basic developers, a large repository of Visual Basic source code that needed to be supported, and a healthy backlog of work to deliver, the decision to move ahead with Visual Basic was a fairly trivial one for us!

Do you have any regrets about deciding to go with Visual Basic .NET?

I regret that Microsoft did not do more to make VB.NET appear cooler and sexier to developers than C#.  The result has been years of developers jumping to the conclusion that C# is the more a able and comprehensive language than VB when that is so clearly not the case.  For us, this meant that we had some casualties in the early days in terms of experienced developers jumping ship to work with C#.

But, other than that minor gripe, no real regrets at all.

What approach have you taken to moving Visual Basic 6 applications onto .NET? Did you create or buy any tools to help you?

We were fairly masochistic about it.  We saw the re-engineering to .NET as an opportunity to make some worthwhile advances with our application architecture and development processes, rather than taking a sausage-machine approach to getting onto .NET.  Consequently, we built a new application framework from the ground up; we re-designed our use of modelling in the development process; and we produced the patterns we needed to be able to integrate both new .NET components and existing COM component in the same deployment.

What would be your advice for a company with a significant investment in VB6?

“Don’t Panic!”  I feel that there has been an growing amount of uncertainty perpetuating around our industry, and consequently among our customers, regarding the implications of operating a strategic solution that may be built in part or completely from VB6 code.  This has resulted in some “from the hip” demands that software vendors immediately address the “problem” of supplying a solution that is built with an “unsupported” development product.

My advice is that anyone responsible for a strategic solution that is in part or whole VB6 must now set themselves a target as part of their product roadmap to engineer out the remaining VB6 components.  They must not feel pressured into removing the VB6 code in any radical way, though.  They have time to do it the way that works best for them, their team and their customer.  The old adage “don’t bite off more than you can chew” applies here: deal with the re-engineering of the VB6 code as a requirement in its own right.  Don’t be tempted to re-architect from the ground up right now (unless that was on the roadmap already and you can afford to put product development on hold for some time).

And finally, what new technologies from Microsoft are you most looking forward to using in the future?

Visual Basic 10.  Visual Basic 11.  Visual Basic 12...

Entity framework is looking like a ‘worthy of a prod’ type of technology, so I’m looking to get that at least into a lab environment to see what it can do for us in more detail, along with the associated goodies like ADO.NET data services. Team Foundation Server, while not really in the ‘new’ category, is still in the process of being adopted across all of the projects and so I am working to get that up and running across the board.  As a distributed development shop it clearly has lots to offer us. The 2008s (Windows Server, SQL Server and Visual Studio) are all foundations of the work we have in the development shop now that will be deployed in the next product release. Business Intelligence is an area that we are interested in right now and can see that the current offerings from Microsoft in this area could help us to deliver some smart solutions. Lastly, we care keeping an eye on the ‘user experience’ space to work out what improvements we can make to our user interfaces without just adding bling for the sake of it.

There’s lots going on and it’s a good industry to be involved in as much as ever, if not more so.


Note: We did this interview several weeks back and for some reason it “escaped” my Inbox into a sub-folder without ever making it onto this blog. I only just rediscovered it whilst unsuccessfully trying to find it on this blog! Sorry.