Live in 11 months.
4% under budget.
A $120M consumer products distributor moving off 15 years of Sage engaged a systems integrator for the build, and had nobody on its own side who had run an implementation. We were that side: from the SOW review before signature to the war room after go-live.
$120M consumer products distributor. 3 distribution centers, wholesale plus fast-growing DTC ecommerce.
NetSuite, with a systems integrator on the build. Storefront, 3PL and payment integrations.
Client-side implementation PMO, end to end: SOW review, requirements, build oversight, data, SIT/UAT, cutover, hypercare.
11 months, kickoff to go-live, against a 12-month plan.
The SOW quietly assumed the client would do the hard parts.
Wholesale ran on Sage. The DTC channel ran on a storefront duct-taped to it. Inventory truth lived in spreadsheets maintained by one heroic controller. The board approved the NetSuite move and an integrator was engaged for the build. What the company did not have was anyone on its own side who had run an implementation.
The integrator's proposal assumed the client would cover data cleansing, integration ownership and testing “with internal resources.” Three risks carried the program: 15 years of SKUs, kits and open orders in shapes NetSuite would not accept; a test plan that gave UAT three weeks on top of everyone's day jobs; and storefront, 3PL and payment integrations that were listed in the SOW but owned by no one.
- Renegotiated the SOW before signature. Data cleansing and integration ownership moved into the integrator's scope where they belonged, UAT was resourced properly, and payments were tied to phase gates instead of hours.
- Requirements signed, not assumed. Two weeks with every department head. Requirements written down and signed against by the integrator.
- Data as its own workstream. Its own owner, its own plan, per-entity reconciliation from month one. Not a task inside the build.
- UAT from real order history. 52 scenarios built from the client's actual ugly orders: kits, backorders, partial shipments, returns against closed periods.
- Cutover rehearsed twice. Full dress rehearsals with rollback plans before the real overnight cutover, planned backward from the Q4 peak blackout on day one.
- One steering rhythm. A 30-minute weekly, decisions only, over a decision log everyone could see. Status reported against the plan, not against optimism.
| Stage | What happened | Exit gate |
|---|---|---|
| SOW & commercials | Scope rebalanced, gate-based payments, change-order rate caps | Contract signed |
| Requirements | Department workshops; requirements doc signed by client and integrator | Design sign-off |
| Build oversight | Weekly build reviews against requirements; fit-gap closure log | Config baseline frozen |
| Data migration | Extract, cleanse, map, load; per-entity reconciliation | Migration reconciled |
| SIT | End-to-end NetSuite to storefront to 3PL to payments | SIT pass |
| UAT | 52 scripted scenarios; defect triage board; daily standup | UAT signed off |
| Cutover & hypercare | Two rehearsals; overnight cutover; 30-day war room | Stabilized & handed off |
| Metric | Before | After | How measured |
|---|---|---|---|
| Program duration | 12-month plan | 11 months | PMO plan vs actuals |
| Budget variance | — | 4% under, change orders included | Finance program ledger |
| Lost order days at cutover | — | 0 | Order and cutover logs |
| UAT first-pass rate | — | 96% (50 of 52 scenarios) | UAT sign-off log |
| P1 defects in hypercare | — | All closed within 48 hours | Defect log, 30-day window |
| Month-end close | 9 days | 4 days | Close calendar, two cycles post go-live |
Anonymized case study. Client-identifying details redacted. Reference available on request.