Skip to contentAnemo
EN
Contact

How to Tell If a Software Project Is Really Behind

· 5 min read

A status report is a claim about a project. Deploy frequency, cycle time, rework and the shape of the remaining list are evidence about it. When the two disagree, the evidence is right. You do not need to read code to look at any of it.

The question worth answering is not "are we late", because almost every software project is late against its first estimate. The question is whether this is a hard problem being worked on steadily, or a project that has quietly stopped moving. Those look identical in a meeting and completely different in the record.

Key takeaways

Signal 1: how often anything reaches production

Ask how many times code has been deployed in the last four weeks. Any team can answer this in a minute; the number comes out of their own tooling.

There is no universal right figure, and a project still in early build may legitimately deploy rarely. What matters is the direction. A team deploying several times a week and then nothing for a month has hit something. A team that has never deployed at all, several months in, has a delivery problem that will surface as a very unpleasant surprise near the deadline.

Signal 2: how long one item takes from started to live

This is cycle time, and it is the single most useful number on a software project. Pick five items finished recently. For each, how many days between someone starting it and it being usable?

If most items take a few days, the team has broken the work into pieces it can finish, which is the main predictor of a project landing. If items routinely take three or four weeks, the work is not being broken down, and estimates on a project like that cannot be trusted in either direction.

Signal 3: whether the same areas keep coming back

Ask which parts of the system have been reworked more than once, and why. You are listening for two different stories.

"We changed the pricing logic three times because the business rules changed three times" is a scoping problem and it is usually yours to fix. "We rewrote the order module because the first version did not hold up" is a quality or a skill problem. Both are worth knowing. Repeated rework is the most common reason a project consumes budget without visibly advancing.

Signal 4: whether the remaining list is growing or shrinking

Ask for the list of remaining work, in writing, one line per item. Ask again in two weeks.

A list that shrinks is a project closing. A list that grows while work is being done is a project still discovering what it is, which is normal early and alarming late. A list that stays exactly the same length while items are ticked off means new work is arriving at the same rate it is finished, which is the definition of a project that will never end without a decision.

This is the signal that most often reveals a stalled project, because the date can hold while the list quietly doubles.

Reading the four together

What you see What it usually means What to do
Regular deploys, short cycle time, shrinking list On track, possibly late against a bad estimate Cut scope to the business result
Regular deploys, growing list Scope is not controlled Freeze the list, decide what ships
No deploys, long cycle time Blocked or overwhelmed, often on infrastructure Find the blocker, consider help
Good reports, none of the above visible The reports are not describing the work Get someone technical to look

The last row is the uncomfortable one. If the narrative is healthy and none of the four signals supports it, the gap is the finding.

What to do once you know

If the project is hard but moving, the answer is almost always to cut scope rather than add people or pressure. Decide the smallest version that delivers the business result you originally wanted, and ship that. Everything else becomes a second release, which is a much easier conversation than a missed launch.

If the project has stalled, no amount of reporting will restart it. Someone technical has to read the actual work and say what is true, which is a different exercise from a status meeting. We describe what that involves in what a technical audit covers.

Frequently asked questions

My team says these metrics are not meaningful for our work. Are they right?

Sometimes, and it is worth hearing the reason. Deploy frequency means little for an app awaiting store review, for instance. But a team that objects to all four signals without offering an alternative is objecting to measurement rather than to these measures, and that itself is information.

How far behind is normal?

First estimates on custom software are commonly optimistic by a wide margin, and that is not by itself a sign of trouble. What separates a normal overrun from a failing project is whether the estimate is converging. A team that has moved a date twice and is now confident about a third is usually fine; a team on its fifth date is not estimating, it is hoping.

Should I ask for these numbers directly, or will that seem hostile?

Ask for them as part of a routine, not as a response to bad news. Introduced once, in a calm week, and repeated every month, they become ordinary. Introduced for the first time during a crisis, they read as an accusation and you will get defended numbers rather than real ones.

What if I get the numbers and still cannot interpret them?

That is the normal outcome, and the numbers are still worth collecting because the trend does the work. If you want a read on what they mean for your specific project, send them to us and we will tell you what we see.

How we would work on this

Related reading

Building the product for what comes next

We would rather deliver one product that holds up than three that have to be rebuilt. That standard is the same on every project, whatever its size.

Ali Boran GazelCEO

Contact us