Published on

Phases and approval gates

An application goes through recognisable phases, from idea to production. Between one phase and the next there is an approval gate with a name, a criterion and an owner. That way you always know where each thing stands and who said it could move on.

Service line Platform Engineering

Where does it stand?

Ask a team where an application stands and you will probably get a different answer from each person. 'Almost finished', 'in testing', 'it is already in production, but it still needs…'. Without defined phases, the status of an application is an opinion.

Phases with names

Five phases, three approval gatesPhases from idea to production with three gates, their question and who approves them.PLATFORM · LIFECYCLEFive phases, three gatesIdeaSpecificationMinimumproductAcceptanceProductionG1G1 · SponsorIs it clear what to build?Written approval, with a dateG2G2 · Technical ownerDoes it meet the essentials?Written approval, with a dateG3G3 · Whoever asked for itIs this what was asked for?Written approval, with a dateOn top of that, at every step, automatic checks: it compiles, the tests pass, no documentation is missing.From idea to specification there is no gate: writing the specification is the step.N100F · n100f.com

A useful lifecycle has few phases and each one has a concrete result:

Phase Ends when there is…
Idea A described problem and somebody sponsoring it
Specification What is going to be built, what is not, and how you will know it works
Minimum product A version deployed in a development environment that meets the essentials
Acceptance The same version, in an environment identical to production, reviewed by whoever asked for it
Production The approved version, deployed and observed

Gates, not meetings

Between phases there are approval gates. A gate is not a meeting: it is a question with a written answer.

  • It has a criterion: what has to be true to pass.
  • It has an owner: a specific person who approves, by name.
  • It leaves a record: the approval is written down with a date, and if it is rejected, with the reason.

Gates that depend on human judgement (is this what was asked for?, do we accept this risk?) are approved by a person. Those that can be checked automatically (does it compile?, do the tests pass?, is any document missing?) are checked by the platform, and are not up for debate.

What you gain

  • The status of each application is a fact, not an opinion.
  • Nothing reaches production without somebody by name having decided it.
  • Conversations focus on what needs judgement, because the rest is automated.

The first gate that really matters is moving from the idea to something buildable. That is the specification.


How we apply it: Platform Engineering.

If your cloud cost keeps growing and nobody knows why, or your architecture depends on whoever built it, let’s talk.

Let’s talk