← Back to essays

You Cannot Measure Progress on Work You Never Defined

·3 min read·By Ry Walker

The most common failure mode in fast-moving engineering teams is not laziness or lack of talent. It is that nobody ever agreed what finished means. Work begins, it gets to the hard part, the engineer drifts to something newer and more interesting, and the half-built thing sits behind a feature flag forever. Multiply that across a team and you get a backlog of projects that are all 90 percent done and zero percent shipped.

This is what happens without a strong product function, and it is completely typical. Engineers are excellent at building up to the point where the work gets tedious. The gap is not capability. The gap is that progress is unmeasurable when the destination was never marked. Linear will happily give you a count of issues closed, but issue counts are not completion. A project with no exit criteria has infinite room for scope creep, because there is no line that says we are done.

The fix is cheap and it is structural. Before a project starts, define how you will know it is finished. It does not have to be elaborate. A working demo you can play. A metric you can hit. A list of acceptance facts. Even a planned marketing artifact - I am partial to writing the press release and the social post before kickoff, the way Amazon does. Pick something concrete and commit to it before a single line of code gets written, because the act of writing the demo script is the act of fully understanding the feature.

This also changes the economics of shipping. If you announce that a project ships next week, it has less time to bloat. You build the core, you cut the nice-to-haves, and you deliver with partial scope rather than chasing perfection indefinitely. That is prioritization, and prioritization is the whole job. Knowing what is core and what can be dropped if you run out of time is the difference between a clean launch and a permanent fire drill.

None of this requires a heavyweight process or a technical program manager who writes code. It requires one more touchpoint where the team agrees on the definition of done, and the discipline to hold every project to a gate before it kicks off. Shipping to a feature flag is not a touchdown. The work is done when it is in front of users and the world has been told. Define that line first, and the team will finally be able to see where they actually are.

Key takeaways

  • Engineers naturally drift to new work when current work gets hard, leaving a trail of 90-percent-done projects behind feature flags.
  • A project with no defined exit criteria has unlimited time to accumulate scope creep.
  • Tie every project to a demo, a metric, or a marketing artifact before kickoff so done is visible from day one.

FAQ

Why not just use story points to track progress?

Story points measure effort, not completion. A team can burn through points and still ship nothing. Defining concrete exit criteria - a working demo, a metric threshold, or a publishable artifact - tells you when a project is actually finished.

What is the lightest-weight way to introduce this discipline?

Convert milestones into owned projects, give each a definition of done, and add one weekly touchpoint to discuss what done means for the next two weeks. You do not need a full PM function to start.

Tembo

Drowning in pull requests that need your review? Try Tembo Review, a beautiful AI-assisted PR review tool unlike anything you’ve used.