Software projects rarely fail all at once. They fail slowly, through warning signs that were visible weeks before the missed deadline made it official. The good news is that these signals are consistent across projects — once you know them, you can spot trouble while it's still cheap to fix. Here are ten to watch for, and what to do about each.

1. You haven't seen working software in weeks

The single most reliable warning sign. If progress is only ever described in status updates and slides, you don't actually know where things stand. Insist on running software at a regular cadence. "Almost done" with nothing to click is the phrase that precedes most overruns.

2. Nobody can state what "done" means

If the team and the stakeholders would describe the finished product differently, the project is built on sand. Stop and write down a shared definition of done before more code accumulates on a shaky foundation.