Article 04 of 06 sue-brownfield

The foundation is already there

sue-brownfield · 4:13 · narrated by Sue

The claim

Almost nobody is starting. They are running something that works, and the job is to read it accurately.

A greenfield demo is easy because a greenfield has no history to be wrong about. The systems that pay for enterprise software are the other kind: old, load bearing, understood by fewer people every year, and expensive to touch. Reading one of those correctly is the hard part of the work, and it is the part a demo never has to do. This article settles the question for the whole set, because there is no separate greenfield case to make. Starting from nothing is the rare condition, and everything downstream of it is easier than this.


Reading the film

0:22 — the estate, read out of the repository. Five rings, labelled Core, Services, APIs, UI and Infrastructure, with every file in the codebase named on the one that matches what it does. Blade templates, payment controllers, signature-pad scripts, a deploy compose file. Nobody drew this picture and there was no map for it to be drawn from.

0:44 — two version numbers instead of an adjective. Laravel five point two. Angular one point five point eight. The newest thing in that toolchain shipped in 2016. “Legacy” is a word that lets a room agree without agreeing on anything. A version number is checkable, and it is checkable by the engineer who already suspects the answer.

1:02 — forty six of forty six tickets, and none of them invented. Migrate the create_function calls to closures. Charset conversion. Zero-date and strict mode handling. Remove the legacy Bower, Gulp and Elixir build. That list reads like the output of somebody who opened the code, because that is where it came from.

2:07 — the parallel week. Both platforms ran. Staging and the new production were refreshed from the live database every morning, the same four step test ran every day, and customers stayed on the old system throughout. DNS moved at the end of the week. This is the beat a migration engineer is actually waiting for, and a greenfield demo has no version of it.

3:04 — the desk, unflattered. Open seven. Closed in the last seven days, zero. Average age twenty days, six of them stale. A dashboard that made itself look good here would have cost the film everything the previous three minutes earned.

3:17 — the defect that is still in the code. A call to create_function at line fifty five of one file, and the card underneath it reads still in the code, still ticketed, still not done. PHP removed that function in version eight; this stack landed on seven point four, so it still runs. Closing on an open item is the strongest thing in the film, and it is the discipline article five is about.


What this costs, and what it does not do

One estate, one customer. The file and line counts for that estate are spoken over the rings at 0:22 and are not printed on the picture, so that pair is the one claim here you cannot check off the frame. This is a set of captures with a narration over them rather than a recording of the migration as it happened. And the unfinished item at 3:17 is one the film chose to show. It is evidence of a habit, not a complete list of what is open.

It read the system and it named what it had not finished. The harder question is whether it does that when the truth is expensive.

Next

What it refuses →

See it running

sue-brownfield in the Stellarverse index →

The same film, next to every other one, with the evidence for each sitting under the film that pays for it. No price and no form on that site.

The whole case, in order

The practice underneath

All the words