Find a task roll-up calculation that works with milestones
Milestone tasks with zero duration are effectively ignored in task roll-up calculations. This leads to the situation where a rolled-up progress value is zero despite all sub-tasks being completed milestones, which is not intuitive.
A calculation that can take milestones into account would avoid this case. A nominal effort value on zero-duration milestones could be inferred for the purposes of roll-up calculation only. This will give technically inaccurate progress values when zero-duration milestones are mixed with real tasks, but is less worse than omitting milestones from roll-up calculations.