From the book Follow the Money

Follow the Money Patterns

61 patterns and 9 anti-patterns for working with the money flows that shape software architecture and transformation: who funds what, when the budgets are set, and what people are measured on.

  1. 1 Context: Money Smells 15
  2. 2 Diagnosis 9
  3. 3 Working Within the System 13
  4. 4 Reframing the Conversation 8
  5. 5 Changing the Flows 11
  6. 6 Fight, Fold, or Leave 5
  7. 7 Anti-Patterns 9
Cover of Follow the Money by Ian Miell
1

Context: Money Smells

These patterns describe situations rather than actions. Each one is a mismatch between how the money flows and how the work is organized, and each explains a problem that engineers usually experience as something else: a turf war, a platform that can’t keep up, a reorganization that didn’t stick, or a cost line that won’t stop growing.

About these patterns →
Pattern 1.1

Funded by One, Serving Another

A team is paid for from one budget but delivers its value to teams under other budgets, so the people who see its cost and the people who see its benefit are never the same.

Pattern 1.2

Revenue Gravity

When a few large customers pay for the work, the organization forms around them, and shared code ends up with nobody paying for it.

Pattern 1.3

Budget Silos

Each business unit buys or builds the same function from its own budget, because nobody is rewarded for using someone else’s.

Pattern 1.4

Platform as a Cost Center

A platform funded as overhead serves teams that sit in profit centers, so it is judged on its cost while its value is counted elsewhere.

Pattern 1.5

Done in the Accounts, Alive in Engineering

Once software is capitalized and “complete,” the accounts treat it as a depreciating asset, while engineering still has to maintain and extend it.

Pattern 1.6

The Consumers Aren’t the Payers

When the people consuming a resource don’t see its bill, consumption grows unchecked.

Pattern 1.7

Two Budget Masters

A team reports to one person and is paid for by another, and the team follows the money.

Pattern 1.8

Structure Changed, Money Didn’t

A reorganization that leaves the old budget lines in place fails to change behavior.

Pattern 1.9

Wooden Dollars

A central service is expected to “sell” to internal customers who can ignore it, and neither side can really walk away.

Pattern 1.10

The Invisible Benefit

The value of the work lands on nobody’s P&L, so as far as the budget holders are concerned it doesn’t exist.

Pattern 1.11

The Annual Budget Lock-In

Decisions about money are made once a year, and anything that arrives after the round has to wait for the next one.

Pattern 1.12

The Unaligned Bonus

The budget holder’s targets don’t include what the team delivers, so the work is ignored or quietly dropped.

Pattern 1.13

The Overmighty Patron

One person controls the money, or the route to it, and the organization’s strategy moves whenever their attention does.

Pattern 1.14

The Imagined Regulator

A control function blocks or reshapes change in the name of a requirement that no actual patron has made.

Pattern 1.15

The Shareholder Transformation

A change program whose only real patron is the investor, so it can succeed for shareholders while delivering little to anyone else.

2

Diagnosis

These patterns describe ways of finding out how the money really flows through an organization, as opposed to how the org chart says it flows. They come from the analysis described in Part III: preparing the mapping (Chapter 10, “Preparing the Analysis”), mapping the patrons (Chapter 11, “Mapping Your Patrons”), mapping the organization and the money (Chapter 12, “Mapping the Organization”), following the work (Chapter 13, “Following the Work”), and reading the architecture (Chapter 14, “Architecture and Diagnosis”).

About these patterns →
Pattern 2.1

Secure the Sponsor

Before starting a diagnosis of how money shapes the organization, find someone with the authority to give it time and attention, and confirm that they want a diagnosis rather than a validation.

Pattern 2.2

Agree the Goal and the Boundary

Before mapping anything, agree with the sponsors on what the analysis is for and which part of the organization it covers, and separate the goals they state from the ones they don’t.

Pattern 2.3

Map the Patrons

Have the group agree on who the organization (or team) really serves, rank those patrons by influence, and link each one to what they expect to get back.

Pattern 2.4

Find the Gatekeeper

Map the people and functions who can block, delay, or reshape the work without funding it, and keep them in a separate column from the patrons.

Pattern 2.5

Overlay the Money

Draw the organization as people experience it, then draw where each team’s money comes from and who really directs its work on top of it, and look for where those layers disagree.

Pattern 2.6

Follow the Work

Take one real piece of work and trace every step from the decision to do it to its delivery, and find where it waited and who owned each gate.

Pattern 2.7

Predict Before You Draw

Before the architecture workshop, write down what the money flows say the architecture should look like, keep it private, and compare it with what the group draws.

Pattern 2.8

Draw It, Don’t Present It

Have the people who build and run the system draw it from memory, rather than presenting the official architecture diagrams.

Pattern 2.9

One-on-Ones Before Synthesis

Before drawing conclusions, meet privately with the people the workshops couldn’t hear from, or couldn’t hear freely.

3

Working Within the System

These patterns are the cheapest levers: ways of making room for change while the money flows stay exactly as they are. They come from Chapter 15, “Working Within the System”, where Jan finds out who really decides on her platform’s funding, what that person is measured on, when the budget window opens, and who might back her.

About these patterns →
Pattern 3.1

Find the Real Decider

For the specific decision your change depends on, find out who really decides, rather than pitching to the person who controls your budget.

Pattern 3.2

Learn What They’re Measured On

Find out what the people you need are actually rewarded and punished for, and show how your proposal moves a number they are already accountable for.

Pattern 3.3

Pitch in the Budget Window

Ask for money when the money is being decided, not when you happen to be ready.

Pattern 3.4

Coalition With Money

Bring together several people who want your change for different reasons, held together by one story that each of them can retell, and include at least one early adopter who has money of their own.

Pattern 3.5

Staged Build

Instead of one big pitch, build in stages, choosing each stage to serve the goal that one of your patrons has at the time.

Pattern 3.6

Make Each Stage Pay for the Next

If the first stage of your change retires a license, a contract, or a server estate, offer that saving to fund the second.

Pattern 3.7

Fit Under the Threshold

Size the first stage of your change to fit inside someone’s delegated spending authority, so that it needs no business case and no committee.

Pattern 3.8

Attach to Mandatory Money

When discretionary budgets are closed, attach your change to a program that has to be funded anyway, such as regulatory or security remediation.

Pattern 3.9

Which Budget, Not Whether

When one pot of money is frozen, ask whether your work can be paid for, or treated, as the other kind: capital instead of operating spend, or the reverse.

Pattern 3.10

Let a Customer Pay

When the central budget won’t fund your work, find an internal customer with a pressing need who is willing to pay for it from their own budget.

Pattern 3.11

Second Sponsor

Have more than one sponsor, and get their commitments written into plans that will outlive any one of them.

Pattern 3.12

Below the Radar, Then Visible

Keep small, cheap work out of sight with a senior protector until it has proved itself, then make it visible on purpose once it needs funding or adoption beyond the team.

Pattern 3.13

Use the Formal Process

Submit your proposal through the organization’s own architecture boards, investment committees, and business case templates, in the format they expect, even when the process is slow.

4

Reframing the Conversation

These patterns leave the money flows where they are but change how the work appears in them. They come from Chapter 16, “Reframing the Tech Conversation”, where Jan, with the help of the financial controller, turns a technical case into a financial one.

About these patterns →
5

Changing the Flows

These patterns change where the money goes. They come from Chapter 17, “Shaping Teams Through Finance”, and they cover the funding models for shared work (central budgets, taxes, chargeback, showback, and hybrids of them), funding products rather than projects, allocation keys, incentives, and, at the far end of the chain in Chapter 9, figure “Patronage ultimately constrains system architecture”, changing the patrons themselves.

About these patterns →
Pattern 5.1

Showback Before Chargeback

Measure each unit’s use of a shared service and show it to them, and to finance, before (or instead of) billing them for it.

Pattern 5.2

Charge the Unit, Not the Team

If you charge for shared services, bill the business unit rather than each team, so that the financial boundaries are ones that already exist.

Pattern 5.3

Allocate by Tag, Not by Topology

Split a shared bill by tagging resources and agreeing percentages for the rest, so that nobody has to change the architecture to get an accurate bill.

Pattern 5.4

Choose the Key Carefully

When a shared cost is split between units by a key, the key decides who wins. Choose it for the behavior it produces, and decide explicitly who gets to choose it.

Pattern 5.5

Fund the Commons Separately

Pay for a shared platform from a pot that using it doesn’t increase: pass consumption through to the units that incur it, and fund the platform team by a levy every unit pays.

Pattern 5.6

Fund Products, Not Projects

Fund long-lived teams with ongoing budgets judged on outcomes, rather than funding projects that end.

Pattern 5.7

Rolling Budgets

Move money and people on the same cycle as the plans, rather than fixing them once a year.

Pattern 5.8

Share the Saving

Tie part of each unit leader’s reward to group-level savings, so that shared work becomes something they want rather than something they tolerate.

Pattern 5.9

Write In the Review Date

Agree a funding model with the people it affects during the budget cycle, and write a date for reviewing it into the plan.

Pattern 5.10

Move the Money, Then the Org

Before reorganizing teams to get the architecture you want, change how the new teams will be funded and what they will be measured on. Otherwise the old architecture comes back.

Pattern 5.11

Change the Patrons

When the patrons themselves are what hold a system in place, the lasting change is to change whom the organization (or the team) serves, or who funds it.

6

Fight, Fold, or Leave

These patterns are for when none of the levers will move. They come from Chapter 18, “”, and deal with recognizing a system you can’t change, letting go of the time and money already spent, and choosing between the exits open to you, from the cheapest (changing your goal) to the most expensive (changing your employer).

About these patterns →
7

Anti-Patterns

These are moves that solve one problem and create another. Most of them are tempting because they work, at least at first: Connector’s chargeback cut costs and the share price recovered, and a reorganization is quicker and more visible than changing who pays for what.

About these anti-patterns →