Migration approach, complexity and effort baseline

1. Basis of the estimate

We are porting proven portal behaviour into the new platform, not rebuilding the product. Existing business rules, validation and automated tests are carried across. The remaining effort is concentrated in service contracts, data access, configuration, module boundaries and integration testing.

Delivered platform capabilities, including security, data access, messaging, scheduling, observability and shared client libraries, are treated as established enablers. They are not charged again as feature work.

2. How the work is divided

The portal is divided into business parts based on the outcome delivered to the user, rather than the physical repository layout. Each part has one accountable owner, defined acceptance criteria and independent test coverage.

The analysis identified 39 parts. Five pairs describe the same scope under different technical names, so they are combined into 34 planning groups. This ensures that coupled or duplicate scope is assessed and estimated once.

3. How complexity is calculated

Every planning group receives a scope score based on three observable measures:

Each distinct entry point, function and file contributes one unit. The scope score is the sum of these three measures. It measures the amount of behaviour involved, not difficulty or duration. One scope unit is not one day.

Each of the 34 planning groups has one scope score. The categories are defined by percentile, creating four equal-sized bands across the current portal:

This is a relative ranking of the current portal, not a fixed industry standard. The percentile boundaries are recalculated on each analysis so the categories remain representative of the portal being assessed. The current distribution is 8 S, 9 M, 9 L and 8 XL groups.

Current examples show how the classification works:

4. How scope becomes an effort estimate

The size band provides an evidence-based grouping, while duration remains a delivery assumption. The delivery team assigns a number of person-days to each S, M, L and XL category using completed migrations as the reference point.

The total is the sum of the assigned days for all planning groups in each category. Coupled parts are counted once, and the calculation is visible in the reporting tool so every assumption can be reviewed or changed.

This separation keeps the commercial estimate transparent: the client can see the measured scope behind each part, the day rate applied to its category and the effect of any change on the total. Normal unit, integration and contract tests for each part are included.

5. Risk assessment

Size is reviewed separately from risk. The estimating team considers cross-part dependencies, external contracts, workflow state changes, data and permission complexity, and the depth of existing test coverage.

The main risk areas are:

6. Why four delivery modules

The code analysis places the constrained parts into four dependency layers. These modules prevent teams from waiting for capabilities that are not yet available, while allowing parts within the same module to proceed in parallel.

  1. Data Views, Model Images and Job Scheduling: leaf capabilities with limited downstream dependencies.
  2. Projects, Model as a Service, Enrichment, Tools, Crisis Response and Email: core capabilities with the largest data and external-system impact.
  3. Users, Roles and Groups: shared identity and access capabilities required by later work.
  4. Authentication, User Details, Business Audit, Model and Risk Analysis: cross-cutting services completed once shared foundations are stable.

Separately movable parts: Agreements, Reference Data, Notifications, Settings, Dataset Criteria and Risk Designs. They can run in parallel once their shared platform modules and agreed business dependencies are available.