← selected work

Case 02 · lifecycle / operating model

Making 200 Million Messages Boring

The interesting part of high-volume lifecycle marketing is not the send count. It is building enough delivery control that a large, cross-functional communication program stops feeling heroic.

CURRENT PROGRAM PATTERN · Based on my work at Vigorate, September 2021–present. Scale and outcome figures are reported work-history measures across programs, rather than one project or an independently audited experiment. Examples below illustrate the operating model.

Scale200M+ annual customer communications
Portfolio20+ concurrent enterprise workstreams / quarter
Delivery outcome30% fewer late-stage scope changes
Release outcome20% shorter UAT-to-launch cycles
OPERATING SYSTEMStandardize the controls, not every piece of work.
Intake
Requirements
Data ready
Build
QA / UAT
Go / No-Go
Deploy
Optimize
RAIDcapacitybudgetchange controlownershipmonitoring

Decision snapshot.

Decision snapshot.
Objective Deliver high-volume lifecycle programs predictably across 20+ concurrent workstreams.
My ownership Requirements, dependencies, capacity, risk, UAT, launch decisions, commercial visibility and client communication.
Decision Standardize ownership, testable requirements, decision logs and release evidence; scale the process to delivery risk.
Trade-off Keep core controls consistent while letting artifact depth and meeting cadence vary.
Reported outcomes 30% fewer late-stage scope changes; 20% shorter UAT-to-launch cycles; monthly forecasts within 5% of actual delivery effort.
Evidence boundary Program-level work-history results. Baseline periods, raw counts and calculation records are not published. Read measurement context →

At scale, the interfaces become the risk.

Email, SMS/MMS, push and in-app programs cross audience logic, source data, content, approvals, build, QA and releases. A late source, changed rule or unclear version can affect several workstreams at once.

I make the dependency, owner, decision and release evidence visible so teams can act before the final launch meeting.

The failure modes were predictable.

Most recurring problems could be grouped into a small number of patterns:

Artifact 01Common failure modes
The failure modes were predictable.
Failure mode What it looks like Control
Requirement drift Audience / logic changes late but downstream teams still work from earlier assumptions Decision log + acceptance criteria
Data readiness Creative is ready while the source data, segment or suppression logic is not Dependency gate before build completion
Version ambiguity QA, client and production reference different assets or logic Named release candidate
Hidden capacity Urgent production work displaces roadmap work without a visible trade-off Weekly capacity / burn review
Late readiness discovery Teams discover readiness gaps in the final go/no-go call Pre-agreed launch checklist

I treated delivery as an operating system.

Rather than manage each campaign as an isolated mini-project, I used a repeatable lifecycle that could flex by complexity. Every stage had to produce something the next stage could rely on.

Artifact 02Delivery lifecycle
Intake→Requirements→Data readiness→Build
Build→QA / UAT→Go / No-Go→Deploy→Monitor / Optimize
RAID · budget · capacity · dependencies · change control

The cross-cutting controls mattered more than the boxes. A risk discovered during requirements needed to survive into launch planning. A capacity decision needed to be visible to both the client and delivery team. A late change needed an explicit impact rather than silently becoming “the new plan.”

Every handoff needs a usable output.

Every handoff needs a usable output.
I hand forward Objective, scope, audience and data assumptions, acceptance criteria, open decisions, dependencies and escalation path.
Specialists hand back Implementation decisions, build evidence, limitations, QA results, unresolved defects and release readiness.
Client / operations confirm UAT approval, customer impact, monitoring ownership and support readiness.

My role is to keep the context and acceptance evidence intact across teams. Production engineering and configuration remain with the appropriate specialists.

The controls I cared about.

Requirements that can be tested

I prefer requirements that describe observable behaviour rather than vague intent. “Target lapsed members” is not enough. What qualifies as lapsed? Which source owns status? What happens to recently reactivated customers? Which exclusions override inclusion?

Decision logs

A useful decision log is not meeting minutes. It records the choice, alternatives, rationale, owner, date and conditions that would cause a revisit.

RAID as an active tool

Risks and dependencies were connected to real delivery decisions. A data dependency with no owner is not a “yellow status”; it is a blocker waiting for a date.

Commercial visibility

Retainer and project delivery require the same discipline as launch planning. Scope, burn, forecast and resource allocation are part of the system because unplanned work eventually becomes a quality or schedule problem.

Artifact 04Example decision log
The controls I cared about.
Decision Options Recommendation Why
Audience source Legacy extract / new customer data segment Use legacy extract for this release; validate new segment in parallel Protect committed launch while migration evidence is incomplete
Late creative change Accept / move release / partial change Partial change only Avoid invalidating completed QA on unaffected modules
Suppression update Manual list / source system rule Source system rule Single source of truth and repeatability

Standardize the controls, vary the ceremony.

Ownership, acceptance criteria, version naming, risk visibility, go/no-go evidence and post-launch support stay consistent. Meeting cadence, artifact depth, creative iteration and rollout size vary with complexity and risk.

Go/no-go should be an evidence review, not a discovery session.

Before a production release, the team should already know the answer to the questions below. The meeting exists to confirm evidence and make a decision, not to invent the readiness model live.

Requirements accepted
Audience counts reconciled
Suppression / consent validated
Content version frozen
Journey / automation logic tested
Negative test cases passed
Monitoring owner named
Rollback / stop path understood
Client / operational users briefed
Support and escalation path documented

A fixed date does not make a release ready.

When a business deadline is immovable, my job is not to hide behind “best practice” or automatically say no. I separate what is a negotiable delivery trade-off from what would create an unacceptable customer, consent, data integrity or production risk.

Operating ruleWhen readiness is incomplete
A fixed date does not make a release ready.
Option When I would use it What I make explicit
Launch as planned Critical entry data, consent, QA and rollback evidence are complete Residual risk + monitoring owner
Reduce scope Core value can ship safely while an unready component is removed What is deferred + customer impact
Move affected component One dependency is not proven but the broader release can remain intact Dependency owner + revised acceptance path
Move the release Critical customer, compliance or production safety cannot be protected Evidence, impact, recommendation and decision owner

The point is to translate technical gaps into customer impact and viable options, make a recommendation, and record the decision. “The date is fixed” is a constraint, not a substitute for launch evidence.

The same technical truth needs different language for different people.

Part of technical delivery is preserving the facts while changing the level of detail. The table below is an illustrative communication pattern, not a client quote.

Artifact 05One issue, three audiences
The same technical truth needs different language for different people.
Audience What I would say
Marketing / strategy One signal that determines who enters is inconsistent and one personalization field is incomplete, so a broad launch could give some customers the wrong experience.
Engineering / data Name the exact event or field, expected schema and timing, affected test cases, actual result, source owner and acceptance criteria.
Executive / sponsor State the customer impact, release risk, realistic options, my recommendation, the decision required and the next update point.

Release includes the operating handoff.

Stakeholder briefings, release documentation, training and early monitoring help the client team understand what changed and where to escalate. Support issues, audience and delivery data, feedback and platform analytics then feed optimization and the next rollout.

Reported outcomes, with their limits.

Reported outcomes, with their limits.
Portfolio scope 20+ concurrent client workstreams each quarter; programs supporting 200M+ annual email, SMS/MMS and push sends. These describe scale, not messages I personally authored.
Late-stage scope changes Reported 30% reduction associated with structured intake, prioritization, RAID and change control.
UAT-to-launch cycle Reported 20% reduction associated with clearer acceptance criteria, test scenarios and release controls. This is not a reduction in the entire project cycle.
Forecast Monthly forecast within 5% of actual delivery effort. This describes delivery-effort forecasting, not revenue forecasting.
Measurement disclosure The public portfolio does not include the underlying comparison windows, denominators, raw records or a controlled attribution analysis. These results reflect team delivery; they do not isolate my individual causal contribution.

Measurement context and what can be verified publicly →

What I would improve next.

Move readiness criteria earlier and keep measurement definitions alongside the work. The next improvement is a consistent baseline for scope changes, UAT-to-launch duration and effort forecasting so the operating results are easier to explain and compare.

Inspect a filled fictional decision record →

Next useful view: how I handle a failure that crosses source, integration and messaging boundaries.