Until recently, I thought that the concept of a milestone is basically self-explaining, but it seems that I was wrong. On two different occasions, I was told that even trained project managers sometimes cannot tell the difference between an activity and a milestone.
In my opinion, milestones represent one of the most important concepts of project planning, monitoring, controlling and reporting. A milestone provides you (as the project leader) with the ability to define a specific point in time where your project reaches a defined status. Without milestones it is very hard to tell how "far" you actually are with executing a given project plan.
In many project planning tools, the difference between a milestone and an activity is simply that the milestone has zero length, i.e., it starts and finishes at the same point in time. However, semantically, there is a lot more to it why an activity and a milestone are two completely different things:
- An activity defines a unit of work, i.e., what has to be done, by whom, with a defined start and finish date. For instance, "create a project plan" could be an activity. An activity can be between 0% and 100% complete, since progress can be measured within the activity
- A milestone defines a specific status which should have been reached within the scope of the project, typically indicating that some work or phase has been completed, e.g., "project plan created" could be a milestone. A milestone cannot be 50% complete; it is either open (0%) or it is closed, i.e., completed (100%) - there is nothing in between
Milestones are typically shown in schedules in the form of a diamond where an empty diamond indicates an open milestone, while a filled diamond denotes a closed/completed milestone.
This semantic difference should also be reflected in the naming of activities and milestones: I personally use the present tense to name activities while I use the past tense to name milestones. Typical examples for milestone names could be "design finished", "implementation completed", or "handbook reviewed".
The most common practical application of a milestone is as a delimiter of a phase within a project plan. A project phase is a top level activity or collection activity (often also referred to as a "work package"). Such milestones can then be used for monitoring and controlling the overall project progress using milestone tables, or more advanced tools such as a milestone trend analysis (we will cover this topic in a future post in more detail).
Finally, the most important milestone of a project is probably the completion of the given project. Therefore, it is good practice to include an explicit "project completed" milestone. This milestone can be used to formally conclude the project and might remind you to think again if your project is really complete, or whether you have forgotten about something... have you? ;-)