Skip to content
KODE Product OS

Finish clean

A project isn't done when the MVP is live. A post-live milestone cleans up what we left behind, so the next project starts on solid ground.

Why we finish clean

One of the most common mistakes in software is rushing the MVP out, calling the project done and moving straight on. The flags, workarounds and half-migrated data stay behind, and the next project or team trips over them. Every shortcut we leave becomes someone else's slowdown.

So every project ends with a post-live milestone. It's part of the project, planned from the start alongside the MVP milestones, and the project isn't finished until it's done.

What the post-live milestone covers

Once customers are using the work, we:

  • remove feature flags we no longer need
  • clean up or migrate legacy data
  • pay down the technical debt we took on to ship sooner
  • update documentation and tests to match what we built

Who owns it

  • The project lead runs the post-live milestone and makes sure nothing is quietly dropped.
  • Engineers identify the cleanup while they build, and carry it out.
  • Product prioritizes the follow-up and closes the project once the milestone is done.

Smaller items that don't belong to the project move to the ongoing 1-Offs project, with an owner.

Then the next project

With the project closed, the team picks up the next one, or pulls 1-Offs while it's being chosen. See KODE Kanban.