There is a lot of discussion surrounding the question of resources being assigned to milestones using Microsoft Project. The answer to this question is (Isn’t it always?), “It depends.” The milestone is the checkpoint. Its main characteristic is that it has no duration (duration for a “classic” milestone is 0 (days, weeks, hours…). The best practice is that you should start a set of tasks with a summary task (to group them), and end the set of tasks with a milestone. Here is a simple example:
As you can see, there are some tasks for writing the article, and they finish with the milestone which I called “Article done.” The duration for the milestone is 0 days. Each task, except the milestone, has an assigned resource. Now, before I start explaining when and why you should or shouldn’t have a resource assigned to a milestone, let’s take a look at what happens if I mark all tasks, except the milestone, 100% complete.
As you can see if the milestone is not marked as completed, and all other tasks are, the summary task (in my case, the whole project) will only show as 99% finished. So, the milestone is 1%!
As you know, when a resource is assigned to a task, it has some work effort. According to the magic formula, Work = Duration * Units. Typically, the purpose of a milestone is not to accomplish some work, but to close some phase (i.e. a set of tasks under the summary task) or to check if those tasks are really done.
Let’s say that the editor is the resource who should sign the final review before my article can be published on MPUG’s site. If the editor has to read the whole article, and it will take several hours, then he/she likely needs to separate tasks with some effort, and, of course, duration. On the other hand, if he/she needs only to sign off and approve my article for publication and it will take only a moment, it makes sense to assign him/her to the milestone like this:
Let me show you a more complicated project:
As you can see in the scenario above, we have two summary tasks, and three milestones, one for each phase, as well as one milestone for the whole project. I assigned a resources to each milestone. This does not harm the project plan, or the work effort.
To conclude, you would likely not assign resources to milestones if all tasks in a set leading to the milestone complete the list. In this case, the milestone is automatically considered completed when all the tasks have been, so only thing to do is mark the milestone as 100% done. On the other hand, if a responsible person needs to approve all the tasks in a set once they have been completed, he/she should be assigned to that milestone. Both approaches are correct.
The last thing to consider is if the milestone involves some work, in which case it should have a duration. When you have a duration linked to a milestone, cost will occur. In a “classic” milestone, with zero work and duration, there are no costs.