Skip to main content

Field note · Solution design

A Great Solution Design Makes the Next One Easier

A complete design answers six questions before implementation starts. The best indicator of a great one is that it reduces future effort.

tl;dr

A good solution design tells a team what to implement. A great one explains why, connects the business outcome to the workflow and the data, says how the work will be tested, and names who owns it after launch. One of my favorite indicators is whether it reduces future effort: if adding an event, channel, or integration means restructuring half the system, the design was never great to begin with.

Allison MarxPublished 8 min read

Allison Marx at work.

Most teams can produce a good solution design. It lists the events to track, the fields to capture, and the integrations to wire up. It gets the job done.

Six months later you’re struggling to maintain it. Adding a use case means restructuring something. Your teams argue about what the data means. And nobody can explain how the implementation connects to a business outcome.

Great solution designs feel different. They focus on people as much as platforms, create alignment instead of confusion, and respect the future instead of becoming obsolete.

More precisely, a complete solution design lets a team answer six questions before implementation starts:

  • What decision or outcome is this meant to improve?
  • How does the work move from the current process to the intended one?
  • What data, rules, systems, and definitions does it depend on?
  • What behavior proves it’s working, and what conditions prove it isn’t?
  • Who accepts the work at launch, and who owns it after?
  • How does the team make the next change without rediscovering the meaning of everything already built?

If those answers live in different people’s heads, disconnected decks, tickets, and vendor calls, the design isn’t finished. It’s partially documented.

Start With the Business, Not the Event List

A good design says what to implement. A great one explains why.

Every strong design begins with the problem. What business goal does this support? Who cares, and why? How will you know whether you succeeded? These sound obvious, and skipping them is the difference between tracking activity and building something that informs decisions.

The most effective teams align on a small set of shared KPIs that everything ladders up to. When everyone has a north star, decisions get easier and debates get shorter.

The test I’d apply: pick any event in your specification and ask which decision it informs. If nobody can answer, you’ve found something you’re paying to collect, store, govern, and eventually migrate for no reason.

Apply the same test to every field, rule, integration, audience, report, and automation step. For each, the team should be able to say what decision it supports, which source makes it true, who relies on it, what happens if it’s missing or wrong, and who can approve a change.

An item may still be necessary without mapping to a leadership KPI. A consent state, audit field, error flag, or identifier may exist to protect a workflow, support a legal obligation, or make reconciliation possible. The point isn’t that every field proves revenue impact. It’s that no important element should exist without an explainable purpose.

Expect Six Things Before a Build

You don’t need a hundred-page requirements document. You do need enough shared clarity to build responsibly.

  1. A decision statement. The problem, intended users, desired outcome, constraints, and how success gets measured.
  2. A workflow map. Current process, intended future process, handoffs, exceptions, escalation paths, and the role AI or automation plays, including where a person must review, decide, override, or stop.
  3. A data and systems map. Source systems, inputs, identifiers, definitions, consent or access constraints, transformations, and downstream destinations.
  4. A solution design. Architecture, integration approach, reusable patterns, assumptions, dependencies, and the design choices needing validation.
  5. An acceptance and QA plan. Expected behavior, test cases, source-of-truth checks, failure conditions, acceptance criteria, and who signs off.
  6. An ownership and maintenance plan. Who monitors, updates definitions, approves changes, maintains documentation, pays for the tools, manages incidents, and answers questions after launch.

These aren’t six documents to create independently. They’re six views of one system. A changed definition should show up in the workflow map, the data map, the implementation rules, the QA tests, the reporting logic, and the ownership model. If they contradict each other, the solution isn’t ready.

Balance the Strategic and the Technical

Think of solution design like city planning. A good plan builds roads where you need them today. A great plan creates a grid system that accommodates growth, new neighborhoods, and transportation methods that don’t exist yet.

In practice that usually means:

  1. A phased approach that delivers the smallest reliable capability first, validates the assumptions that matter most, and creates visible value before enthusiasm or sponsorship runs out
  2. Reusable patterns your team understands well enough to apply without asking
  3. A vendor-independent data model or coordination layer that keeps identity, definitions, consent states, critical metrics, and business rules accessible and portable rather than trapped inside one application’s configuration
  4. Privacy by design, with governance considered throughout the pipeline instead of reviewed at the end
  5. A QA and validation plan written at the start rather than bolted on the week before launch

A reusable pattern is more than a naming convention. It includes clear interfaces between systems: what moves, what each critical field means, which system is authoritative, what triggers a handoff, how consent and permissions are handled, how errors get detected, and what happens when an API or a business definition changes. That’s a data contract. It needs to be visible enough that a new team member can understand the connection and a future change doesn’t become an archaeological project.

A future-proof design isn’t one that predicts every requirement. It’s one that establishes stable patterns early enough that the next requirement can be added without restructuring the system or rewriting reporting history.

One of my favorite indicators of great solution design is simple: it reduces future effort. If adding a new event, channel, or integration forces you to restructure half the system, the design was never great to begin with.

That indicator is also the one nobody measures, because the cost of a bad design arrives as small delays rather than one visible failure. The sprint that took three weeks instead of one. The integration that needed a workaround. The report that had to be rebuilt. None of those get attributed to the design.

QA Is Part of the Design

Quality assurance belongs at the beginning, not as a scavenger hunt before launch.

For an analytics, martech, or AI-enabled implementation, “the tag fired” or “the workflow ran” isn’t enough. An event can carry the wrong value, ignore a consent state, omit the identifier required downstream, trigger twice, send data to the wrong destination, or produce an output nobody knows how to review.

Define the source systems, expected values, test cases, thresholds, acceptance criteria, failure conditions, downstream reporting effects, and sign-off roles while the solution is being designed. Decide what evidence proves the work is functioning: source-of-truth reconciliation, expected-value checks, consent-state tests, identity-resolution tests, duplicate-event checks, controlled failure tests, and acceptance by the person accountable for the business outcome.

A clean implementation is one the team can prove is working, rather than one that appears to work in a demo.

Automation and AI shouldn’t erase human judgment from the design either. For each consequential workflow, define where a person reviews, approves, decides, overrides, investigates, or pauses. Identify the exceptions requiring escalation rather than a default automated response. Name the role that can stop the workflow when the output is inaccurate, unsafe, or materially different from what the design intended. The goal isn’t a person in every step. It’s making human responsibility explicit where automation can’t legitimately substitute for judgment.

Write It for the People Who Have to Use It

The best architecture in the world will fail if nobody understands it.

Great designs are written for humans. Clear language, minimal jargon, a glossary when one is needed, and enough context for a marketing manager, an engineer, an analyst, or someone trying to understand the big picture.

Give people an obvious route in. A useful design package usually includes a concise overview for decision-makers, a workflow map for operators, an architecture view for technical teams, a specification for builders, a glossary for shared definitions, a QA plan for testers, a decision log for changes, and an ownership model for after launch. Link them and make the source of truth obvious. A document set nobody can navigate becomes another dependency on the person who created it.

Enablement isn’t a presentation at the end of implementation. Define who needs to learn what, how a new team member gets oriented, where people request a change, and how you verify the team can use the system without calling the original builder for routine interpretation.

Have you watched a solid implementation gather dust because the marketing team didn’t know how to reach the data? Or seen analysts unable to answer a basic question because nobody wrote down what “conversion” means? That’s the adoption gap, and great design closes it.

A tool is only as valuable as your team’s ability to use it without you.

Design for the Version After This One

Launch day isn’t the finish line. It’s the start of the part that lasts longer.

Great designs expect change instead of being broken by it. That means:

  1. A named owner for each critical data domain, technical component, business definition, and prioritization decision
  2. Versioning rules recording what changed, why, who approved it, and which reports, workflows, audiences, or customer experiences it affects
  3. A change process distinguishing low-risk adjustments from changes requiring technical, privacy, security, or business review
  4. Monitoring criteria for quality, adoption, performance, cost, governance, and known failure conditions
  5. A prioritized backlog based on business need and evidence rather than whichever request arrives loudest
  6. A retirement path for integrations, reports, automations, and vendors that no longer serve the outcome

The maintenance plan isn’t an appendix. It’s the design’s proof that the organization expects the system to live past launch.

If nobody owns the next version, every future request becomes an exception. If changes aren’t recorded, reporting history becomes unreliable. If the team can’t retire old logic, the stack accumulates dependencies nobody feels responsible for.

Moving From Good to Great

Most organizations can already produce a good solution design: a diagram, a field list, a set of requirements, and a path to launch.

Great solution design gives every consequential component a reason to exist, connects business outcomes to workflows and data, defines the interfaces that make change survivable, states how the work will be tested, assigns the people who own it, and leaves documentation the next person can use.

It isn’t more diagrams or a longer document. It’s a shared operating model for building, validating, running, and improving the system.

Great design requires strategic vision and tactical precision together. It asks teams to think like architects, test like operators, and explain the work clearly enough that the people who inherit it can make good decisions without starting over.

The Six Things, on Your Actual Workflow

Reading the list is the easy part. Applying it to a workflow that already has three systems, two owners, and a decade of exceptions is the work.

A Workflow Design Sprint does that on one workflow and hands back a specification a developer or vendor can build from. Two weeks, fixed fee.

Inspired? Take the next step that’s right for you.

Occasional mail

New notes, when there's one worth sending.

No schedule and no roundup filler. One email when a note is published. Unsubscribe from any message.

Name and email

Used only to send new notes. See the privacy page for how it's stored.