Service Pricing Model

Great Migrations wants to help customers preserve and
enhance their software assets and development

We offer a full range of specialized VB6/ASP/COM
services and training to enable our 
Tool-Assisted Rewrite methodology.

In the spirit of our pay-as-you-go product pricing,
our service pricing is tiered according to the phases
of our methodology and the deliverables required.

The table below contains "ball park" estimates based on our past experience. 

Ball Park Upgrade Service Pricing

Estimated Level Of Effort by System Size and Scope


Option 1: Build Complete Upgrade

.NET code with all Build issues resolved;
(external COM references replaced with .NET stub assemblies) 

Option 2: Custom Reengineered Upgrade

.NET code with all Build issues resolved, and
custom Reengineering features implemented.

Most of the effoert is in defining, designing, and implementing
custom re-engineering features.

Option 3: Custom Functional Upgrade

.NET code with Build issues resolved, and custom
Reengineering and Runtime
features implemented and tested.

There is a lot of uncertainty with estimating these types of end-to-end projects and over half of the effort is in defining and executing test cases. If QA processes are highly efficient, then the project may be completed sooner than shown here.  

The effort model shown in the chart above makes many assumptions about the complexity of the code and the efficiency of the team performing the work.  Furthermore, the total price of a project depends on many other factors such as the cost of labor for different resources and the desired schedule of the project.  Contact Great Migrations to learn more about the estimating model behind this chart and discuss developing one that fits your specific situation.

Getting a more precise Estimate

More precise bids are made on a case by case basis.  We prefer to do an assessment of your project and agree on scope, staffing, and schedule. We offer assessment and estimation services through our Smart Start Packages

"Project Size"

The concept of "Project Size" as used in the service pricing model is somewhat subjective but it correlates with the metrics of the system being upgraded (numbers of VBP/ASP units, numbers of files, LOC) and the complexity of the upgrade requirements. 

As a rule of thumb, here are some generic metrics for the VB6 projects size categories:

  • Small: up to 5 VBPs, up to 50 files, up to 75K LOC, up to 10 external COM dependencies
  • Medium: up to 30 VBPs, up to 100 code files, up to 200K LOC, up to 20 external COM dependencies
  • Large: up to 100 VBPs, up to 500 code files, up to 500K LOC, up to 50 external COM dependencies
Here are the generic metrics for the ASP projects size categories:
  • Small: up to 100 pages, up to 10 #includes, up to 75K LOC, up to 10 external COM dependencies
  • Medium: up to 200 pages, up to 50 #includes, up to 200K LOC, up to 20 external COM dependencies
  • Large: up to 500 pages, up to 100 #includes, up to 500K LOC, up to 50 external COM dependencies

The other dimension of project size is complexity of technical requirements. Though more difficult to measure, it does correlate with the features you require for your  .NET upgrade.  There are many types of quantifiable features that can be included in an upgrade solution, and gmStudio has the flexibility to go well beyond what most people imagine when they think of software conversion.  Here are a few examples of things we can do with gmStudio:

  • Custom COM API/controls replacement
  • Custom VB6 language replacement
  • Custom structural refactoring
  • Custom .NET coding and DevOps standards

The work required for functional and technical testing also adds to the complexity of an upgrade project . We recognize that testing capabilities and requirements vary widely.  Here is our rule of thumb for the testing work assumed in modeling pricing for Option 3. 

  • Small: 50-100 test cases
  • Medium: 100-200 test cases
  • Large: 200-300 test cases

We recognize that the potential number of functional use cases in a legacy application can easily be many times higher than the numbers above.  However, for the purposes of validating a tool-assisted upgrade, we work with the client to reduce the number of test cases by carefully selecting tests that cover the upgrade features likely to cause different types of defects.  We attempt to test "smarter" rather than "harder".  We employ automated techniques to help measure and verify functionality, including diagnostic instrumentation of the application and automated unit testing. We require automated UI testing for Option 3 projects and we offer a powerful automated UI testing tool, gmTest, to facilitate this.  gmTest is compatible with the Microsoft Test (MSTest) Framework.

The graph above also shows a Huge category; this is defined as much larger than "Large"; at least 2 times larger.  In some situations, you might have a system or a portfolio of systems that is 5-10+ times larger than "Large".  gmStudio is an industrial-strength tool that can help you "cash in" the enormous investment embodied in these colossal systems; it has the features and performance needed to be successful in the largest upgrade efforts.  The value proposition of using gmStudio and the Tool-Assisted Rewrite methodology is most dramatic on large-scale systems, where performance and economies of scale make the difference.  A couple of success stories in this category include:

  • Biggest VB6 Upgrade: 310 inter-related VBPs, 4000+ unique code files, 4.5M unique VB6 LOC, 70 external COM dependencies
  • Biggest ASP Upgrade: 2000 pages, 400 includes, 900K unique ASP LOC, 10 external COM – plus 70 additional in house VBPs with 700K LOC.