Jason Yip's Hail Mary software development talks about what happens when you defer all the finishing to the end of the project. In the dashboard chapter of the book, I have a sidebar called “How Can We Have No Completed Work?” which talks about exactly the same thing.
The more serial your lifecycle, or the more you implement by architecture instead of by feature, the less completed work you have. Since I don't count partially completed work, it's possible to have 0 progress until the very end where things finally start coming together.
One of the assignments I gave my class this semester was to provide me a status report for the projects. Several of the teams decided to give me % complete measurements. I asked how they knew it was 80% complete. One team actually told me they'd done 80% of the work so far.
I told them to track the rest of the effort. I'm sure they fell or will fall into the 90% done schedule game.
Percent complete makes no sense. Features are done or not done. You can count done features and see how far along you are. You can't reliably count any percentage done.