PROJECT MANAGEMENT GUIDE
How to calculate software project progress
Published on 30 October 2026 · SuiviDev guide
Task-based progress is the number of completed tasks divided by the number of non-cancelled tasks, multiplied by 100. It measures completed work, rather than time consumed or budget spent.
The formula and a worked example
Progress = round(100 × completed tasks ÷ non-cancelled tasks). First decide which tasks actually belong to the project, then use the same rule across the team.
Illustrative example: a project contains 22 tasks, including 2 cancelled tasks and 8 completed tasks. The calculation is 8 ÷ (22 − 2) × 100 = 40%. Cancelled work is outside the current scope, so it does not reduce progress.
| Task state | Count | Included? |
|---|---|---|
| Completed | 8 | Yes, in both numerator and denominator |
| To do, in progress or to test | 12 | Yes, in the denominator |
| Cancelled | 2 | No |
| Included total | 20 | Progress: 40% |
Which tasks should you count?
Count tasks that are to do, in progress, to test or completed. A task awaiting testing is still unfinished: validation may reveal a defect. A blocked task remains in scope even when nobody can move it forward immediately.
An idea or an accepted change request is not itself a task. It contributes to progress when implementation tasks are created. Keeping these records separate lets the team collect ideas without distorting the project percentage.
What if a project has no tasks?
Without active tasks, progress cannot be measured. Show “No active tasks” or a dash rather than implying that the project is complete. Break the first deliverable into practical actions, assign an owner and add a deadline where it helps.
Why can progress go down?
Adding work increases the denominator. A project with 8 completed tasks out of 20 is at 40%. If an approved change adds 5 tasks, it becomes 8 out of 25, or 32%. That drop reflects a scope change; the work already completed has not disappeared.
Explain the change in the project record. Preserve the original request, the resulting tasks and the decision history so the team can distinguish a new requirement from a delay in agreed work.
Progress, lateness and status are different signals
A project can be 80% complete and already late. Progress describes completed tasks; the deadline shows whether the planned date has passed; status records a management decision such as “On hold” or “Completed”. Read these signals together.
A blockage also needs a reason, such as an outstanding client decision, missing access or an external dependency. A label and explanation are more useful than colour alone.
The limits of counting tasks
This method gives every task the same weight. A text correction and a complex integration each count as one task. Split large work into coherent units and use duration estimates to assess effort separately.
SuiviDev calculates progress from non-cancelled tasks. Milestones group tasks associated with a delivery stage, while ideas stay separate until they are planned.