What are milestones and what do they do?
Milestones as per the dictionary are:
- A stone marker set up on a roadside to indicate the distance in miles from a given point.
- An important event, as in a person's career, the history of a nation, or the advancement of knowledge in a field; a turning point.
- (industrial engineering) An activity that possesses major significance. Also known as milestone activity.
It makes sense to break up a project into milestones, each milestone being 2 - 3 weeks long. At each milestone the team will deliver something.
This allows the project to have points along the way (milestones) at which to be able to pause and check:
- What have we done so far?
- Is it what we want?
- How long did it take vs. how long we thought it would?
- What's left to do?
- How long will it probably take us?
- How does that compare to our original estimate?
It's a also a good time to take some measurements:
- Is the product still/already fast enough? Small enough? Cheap enough? or any other metric we care about.
- Try getting feedback from internal users, or the QA group or a small test/beta group.
Milestones also give a sense of achievement. We have finally delivered something. Not being able to come up for air for many weeks / months / years can be depressing, or wear down the team.
A milestone is a good time to have a mini celebration, pat each other on the back, do some team building and rejuvenate the team for the next milestone.
Millstones break down the project into smaller pieces making it easier to report progress.