VB6 Migration Course with the SVILUPPATORE MIGLIORE method
Modernise your VB6 applications without rewriting everything from scratch. A progressive migration strategy towards .NET, guided by someone who has been doing it for 25 years.
1-on-1 Mentor On YOUR code Measurable results
Your company has VB6 applications that still work. Perhaps they generate most of your revenue. But every day that passes, maintaining them becomes more costly, more risky and more difficult.
Visual Basic 6 was officially discontinued in 2008. Microsoft no longer supports it. Finding developers who know it is becoming increasingly difficult. And every change to the application is a surgical operation on a critical patient.
The good news: you do not have to throw everything away and start from scratch. With the right strategy, you can migrate progressively towards .NET, module by module, keeping the application running throughout the entire process.
If you are a CTO with a critical VB6 application that generates revenue, this programme is designed for you.

Why migrate from VB6 to .NET
- Operational risk, Every day with VB6 is one more day of risk: a Windows update can break everything.
- Growing maintenance costs, Finding VB6 developers costs more every year. Every change takes more time.
- Inability to evolve, The new features your customers ask for are impossible to implement in VB6.
- Security, VB6 has not received security patches in years. Every networked VB6 application is a vulnerability.
Our migration strategy
We do not do the "big bang rewrite". That is the strategy that fails in 70% of cases (source: Standish Group). Our strategy is progressive:
2 phases, 5 migration steps on YOUR code.

2 phases, 5 migration steps on YOUR code.
PHASE 1: Analysis and Design
- 1
Application Assessment: know exactly what you have before touching a line
Before touching a single line of code, you need to understand what you really have. How many forms, how many lines, which COM dependencies: without assessment there is no plan, there are only invented estimates. Here we quantify everything in real numbers, not impressions.
Programma
- Static codebase analysisHow to measure LOC, complexity and technical debt with objective numbers, not gut feelings
- COM and ActiveX dependency mapHow to identify the riskiest dependencies before they become blockers during migration
- Database inventoryHow to map stored procedures, data access and connection strings before touching a line
- Business-critical modulesHow to identify the parts that generate the most value and where to start the migration
- Per-module risk assessmentHow to evaluate what can go wrong and prepare the mitigation plan in advance
- Realistic effort estimationHow to calculate man-days for each module with numbers that hold up to management scrutiny
Risultato
Migration roadmap with estimated costs, timelines and risks. You know exactly what you have, what it costs and how long it takes before spending a single euro.
- 2
Target .NET Architecture: build for the next 15 years
The new architecture is not VB6 rewritten in C#. It is a modern .NET application with clean layers that is testable, designed to evolve for the next 15 years without accumulating the same technical debt. Here we design before writing the first line.
Programma
- Choosing the right stackHow to decide between WPF, Blazor, MAUI and ASP.NET Core with objective criteria and long-term consequences
- .NET application layersHow to design presentation, business logic and data access finally separated, not mixed in Forms
- Entity Framework CoreHow to replace the VB6 data access chaos with typed queries and automatic migrations
- Mapping VB6 Forms to .NET componentsHow to transform each window into a reusable component, not a copy-paste job
- Dependency injection and service layerHow to introduce testability from scratch and reach real coverage in a few modules
- CI/CD from the startHow to configure automated builds and tests that guarantee each migrated module does not break the others
Risultato
Solid .NET foundations to build on. The architecture is designed to last, not to work for now and then be rewritten in five years.
PHASE 2: Progressive Migration and Go-Live
- 3
Core Business Migration: the first migrated module proves it works
We start with the high business-impact module. The first migrated module demonstrates the value of the strategy and establishes the patterns for everything else. This is not a literal translation of VB6: it is a clean implementation based on functional specifications.
Programma
- Business logic in C#How to bring the critical module to .NET with a clean implementation, not a literal translation of the VB6
- Modern data accessHow to migrate from classic ADO to Entity Framework Core transforming SQL queries into typed, testable code
- Modern UI for the first moduleHow to give users a professional interface, not the old VB6 rewritten with a different colour
- Functional regression testsHow to verify that C# produces the same result as VB6 before releasing to production
- VB6/.NET interop layerHow to make both applications coexist and share data during the transition
- Validation with real usersHow to collect real feedback before proceeding and fix problems while they are still small
Risultato
First tangible, measurable result. The critical module runs on .NET, users validate it and the team has the patterns to proceed with confidence.
- 4
Progressive Migration: one module at a time, without stopping the business
With the established patterns, the remaining modules are migrated in order of priority. The VB6 and .NET applications coexist throughout the entire transition: users continue working while the system evolves. Each subsequent migration is faster than the previous one.
Programma
- Patterns established from the pilotHow to reuse the architecture and templates from the first module to accelerate each subsequent migration
- Parallel VB6 and .NET testingHow to automatically compare every output from both versions to guarantee zero behavioural differences
- Knowledge transferHow to involve whoever wrote the VB6 and make them the owner of the .NET version
- Training on real codeHow to bring VB6 developers to C# and modern .NET without blocking the migration in progress
- Quality gate for each moduleHow to apply code review, test coverage and architectural standards before every merge
- Progressive user rolloutHow to migrate users in batches without trauma, with VB6 and .NET coexisting as long as needed
Risultato
Application that migrates gradually without interruptions. Users continue working while the system evolves beneath them.
- 5
VB6 Decommissioning: shut down legacy for good
The final step: shut down VB6 permanently. But only when everything is migrated, tested and validated by real users, not to meet an artificial deadline. This module ensures the definitive go-live is free of surprises.
Programma
- Completeness checklistHow to verify that every module, flow and user is covered before shutting down VB6
- COM and ActiveX decommissioningHow to safely remove legacy components without hidden dependencies that surface after shutdown
- Interop layer cleanupHow to remove bridge code and legacy dependencies leaving the .NET application clean and autonomous
- Stabilisation and performance tuningHow to verify that the .NET application is faster than the VB6 it replaces
- Architecture documentationHow to produce documentation that the future team can understand without asking whoever did the migration
- Maintenance and evolution planHow to define the future roadmap on a modern .NET foundation that can finally grow
Risultato
Company free from VB6 technical debt. The application runs on modern .NET, is maintainable, is secure and ready to evolve without fear.
Who this programme is for
CTO with critical VB6 applications
The VB6 application generates revenue but every year it is riskier to maintain. You want a concrete migration plan, not a consultant who tells you to rewrite everything.
Business owner with VB6 software that cannot stop
Your software is the heart of the business. Migration must happen without interruptions, module by module, keeping everything running throughout the process.
Team that needs to plan the migration
You know VB6 is end-of-life but do not know where to start. You need an architect who knows both VB6 and modern .NET to guide you.
Who is Matteo Migliore
What professionals who have followed the programme say
Those who study with Matteo have the opportunity to access a very meaningful and concrete experience, entering the world of software development with a reliable and competent guide.
His training is a real opportunity for young people who want to pursue a career as a software architect.
I definitely recommend him, especially for the professionalism he has always shown and his ability to explain numerous topics that are normally not covered in these types of courses.
The WPF course I had the fortune to take with Matteo Migliore literally opened up an incredible world for me, allowing me to acquire all the techniques that will enable me to tackle increasingly important projects.
I definitely recommend Matteo for the technical content and the experience he brings; the training journey was also rich in anecdotes where he shared his experiences going all the way back to when he was a child.
I recommend Matteo's course especially to beginners and anyone who needs to learn how to structure an application, because this way you can start already with a correctly built architecture.
One difference I notice compared to other courses is a great passion for training, understood in a very broad sense. It is a mission for them, and beyond the specific WPF course topics, I always find tips and suggestions on cross-cutting subjects like design, software control and testing — which gives me something extra in my overall development approach.
Often there is little time and great difficulty managing on your own the issues you encounter daily, and if you tend to limit yourself to your own knowledge you end up stuck in your own mistakes.
Going back over things I had studied at university, explained step by step in a new language I had not studied before, was extremely useful.
I turned to our consultant, Matteo Migliore, to enter this new world.
Thanks to the course I learned a programming approach built in a much more sensible way than what I was doing before.
I recommend Matteo because he is a very competent person who loves his work and cares about helping others, making them more productive and more capable of mastering technology.
What I liked most was the new management of the project structure: separating the UI from the design layer, and in particular not writing code directly in the UI but structuring it properly.
Matteo doesn't simply read from a pre-prepared script but is able to go deeper into syntactic elements and design patterns, perfectly following the needs of whoever is learning.
Investment and programme
Programmes are tailored to the complexity of the VB6 application and the migration objectives.
Fill in the form to receive the complete programme and a personalised quote based on your specific needs.
Assessment and Plan
VB6 application analysis
- Complete VB6 code analysis
- Dependency and risk map
- Detailed migration plan
- Timeline and cost estimation
Guided Migration
Full support throughout the migration
- 5 progressive migration phases
- Biweekly sessions on real code
- Team training on modern .NET
- Continuous support during migration
Technical Workshop
1-2 intensive days
- Migration proof of concept
- Migration of a pilot module
- Up to 5 participants
- Detailed technical report
Ready to free yourself from VB6?
Fill in the form and receive all the information about the VB6 to .NET migration programme. We analyse your application and define the best plan.
Free analysis We assess the migration complexity and the main risks
Talk to one of our tutors Not a salesperson, the architect who will guide the migration
Concrete plan You receive a realistic migration plan with timelines and phases









