Shipping weekly without breaking things: release discipline for a small team

We release often because that is how we learn what the next release should be. Releasing often is also how you ship a bug to everyone at once. These are the habits that keep the second thing from happening.

Small releases fail small

A release with one meaningful change is easy to understand, easy to test and easy to reverse. A release with fifteen is none of those. If a change is big, it ships in pieces behind a flag, and the release that turns it on is a release with one change.

Phased release, every time

The App Store can roll an update out gradually over a week. We use it for every release, without exception. If crash rates move or reviews turn, the rollout pauses and most users never see the problem. It costs nothing and it has saved us more than once.

Feature flags

New features ship off, behind a flag, and are turned on remotely for a small share of users first. The release and the launch are separate events. If a feature misbehaves, it is switched off in minutes without a new build and without App Review.

The checklist before submit

  • Fresh install on a real device, the oldest one we support.
  • The full first session, including purchase and restore, with a real sandbox account.
  • The night-time flow with the screen locked and the timer running.
  • The till flow, scanned by a real camera.
  • Release notes that say what changed, in plain words.

Nothing ships on a Friday

A release that goes wrong on a Friday evening is a weekend of a bad experience for users and a worse one for the person who owns the app. Releases go out early in the week, when there is time to watch them.

Watching after

For the first day of a rollout the owner watches crashes, reviews and the support inbox. Most problems show up in hours. A release is not done when it is approved; it is done when a few days of real users have said nothing.

Written by , founder of KNT App Studio. He designs and ships the studio's iOS apps (Dreamify, Viola and GERG) and runs Apple Search Ads and ASO for the studio and the teams it works with. Posts describe what we did and what it cost; when a number is an estimate, the text says so.