Deploy often and early

_config.yml

Rule 1: Go end-to-end Early.

Go end-to-end as early, and as often as possible. Take this as an axiomatic rule.

What does this mean?

Imagine you’re filming a movie.

If you’ve never done it before: how would you approach the problem:

Choice A:

  • Shooting for 20 hours.
  • then cut and edit it to 2-3 hours,
  • then deploy it,
  • then see how an audience reacts to it?

Or

Choice B:

  • Make a 1 minute movie. Film for 20 minutes. It seems absurdly short.

I’d go for the second option every time.

Why?

  • It’s simpler,
  • and you’ll learn a lot fixing problems along the way and doing so cheaply.
  • The faster you learn, the better.
  • What does learning involve? Everything required to deploy. Convincing people. Marshalling resources. Most importantly: making trade-off decisions: you do not have an infinite amount of time and money.
  • Initially, doing a series of short firms allows you to get your skills up, and will de-risk the production of a full feature length movie when you attempt it.

Don’t believe me?

Take it from Tarantino: he lost a couple of years filming. He corrected it only in the last few months of filming - but it was too late. He was financing the operation by working at the video store, and shooting on weekends. He was constrained by trade-off.

The Same Applies to Everything in Life

Building a sky-srapper? Build a gardenshed first. You cannot do the former without having the skills to do the latter.

Are you deploying an application? If you’ve never done it before: de-risk it by deploying a shell, and getting an end-user to use that shell.

Do not do it like a government agency: where you spend 5 years writing a complex application, only to deploy it in the 4th year, on the 364th day - and to then realise that nothing works….good luck trying to fix it at that stage.

I made that mistake, even though I should have known better: there was too long a gap between my releases: and now I am suffering for it.

TL;DR

Deploy early. Deploy quickly. And continuously improve based on the feedback of paying customers.

Written on May 14, 2024