Do you really know where your project is going?
In general, a milestone is used to track progress toward a specific goal or event. Although projects are possible without milestones, the likelihood of projects being delivered successfully and on time is much higher with milestones in place.
But how do milestones work in Agile project management and are you creating them correctly?
Let’s see how you can set your own project milestones!
What Is a Milestone in Project Management?
In project management, milestones are one of the most important aspects of project planning as they’re visible indicators of progress toward an objective.
Simply said, a milestone marks an important change, moment, or deliverable in the project plan.
Milestones are used to spot memorable events during project development so the team can use them to stay on track. This is why they’re more than just another element on your project plan: they help teams communicate.
Although the milestones themselves will vary depending on the industry and specific goals, the concept stays the same. Failure to meet a milestone is a strong indication that the project isn’t proceeding according to plan and it might be time to adjust your approach.
The easiest way of distinguishing milestones from regular tasks is to ask yourself if the “task” is a deliverable that impacts the project’s deadline and will be reviewed by your client. If the answer is “yes”, you’ve got yourself a milestone.
Project Milestones Examples
Here are some examples of project milestones to help you better understand what classifies as a project milestone:
- Core feature deliveries
- The start and due date of each project stage
- Huge events, presentations, or stakeholder meetings
- Any other events that could impact the project’s progress including a new feature launch or simply completing a business/strategic plan
Critical milestones that most projects have include the project’s approval, reviewing requirements, design acceptance, the four project phases, and the final approval/project handoff.
Ok, so what’s their purpose? Is it just showing when a feature should be delivered?
The Benefits of Using Project Milestones in Your Project Plan
Imagine having a map with no checkpoints. So you know where you’re starting your journey and where you need to get, but you don’t know what you’re supposed to do on your path there.
That’s what milestones in project management do. They provide a step-by-step roadmap of every feature or item that needs to be completed so you’ll never be left wondering what’s next on your team’s work tray. Additionally:
- They give an overview of all major deadlines
- They allow you to spot potential bottlenecks on time
- They can be used to track project progress
- They help the team understand where the project currently is and what the upcoming steps are
- They let you and your team spot important dates during the project’s development
- They support that resource and time allocation process
- As a bonus, they give your team the chance to celebrate small achievements (i.e. the milestones)
Milestones in More Traditional Software Development
In the past, the software industry followed the waterfall development process, with projects broken down into logical and sequential stages. All discovery is completed before moving onto requirements, then design, implementation, testing, and delivery. While this might have seemed like a good idea, in theory, it wasn’t the best approach for highly iterative work like software development.
A major issue with Milestones in waterfall models is that they overlook continuous evolution. Once an application is in the testing stage, it’s very difficult to go back and change something that was not well-thought-out in the discovery stage, making this model unsuitable for modern application development where there is a high risk of the project changing.
Another disadvantage of this traditional methodology is that it’s extremely difficult to measure the progress of the project during the middle stages. Progress of projects is typically reviewed at the end of each stage of work.
For example, once all requirements are complete, they’re reviewed before moving to design. In addition to not allowing for constant iteration, this makes it difficult to use completed work to forecast how long the remaining work will take. In this instance, Milestones may be planned but they aren’t necessarily realistic or beneficial.
Are Milestones the Best for Agile Project Management?
For a lot of teams, the waterfall development process didn’t provide the expected results, leading them to look for a different approach. Enter: Agile.
Agile development emphasizes flexibility, interactivity, and a high level of transparency. Projects in Agile welcome constant evolution and change, relying on frequent releases of usable code and continuous testing. Although an agile development approach is becoming increasingly common in software projects of any size, using milestones with Agile might seem counterintuitive.
A lot of developers highlight Agile’s rejection of deadlines and rigidity, but it doesn’t necessarily mean an absolute lack of goals or marking points in a project. Regardless of which project management approach you utilize, you’re more likely to fail if you don’t have a roadmap, Gantt Chart, or something similar to mark your progress.
With this in mind, let’s look at how teams can most effectively structure work.
Milestones vs sprints: what's the difference?
When developing a roadmap, it’s important to break up a project more granularly than just one end deliverable (milestones). In scrum, projects are divided into fixed lengths of time (typically two to four weeks) that are called "sprints." During this time, chunks of work are completed to a shippable standard.
These chunks should be sorted according to priority, and grouped by feature or release. Sprints, or “iterations” are mirrored in GitHub with Milestones: groups of Issues that correspond to a project, feature, or time period. Simply set a start and end date, then add Issues representing user stories, to begin sprinting.
However, GitHub’s Milestones can be limiting for teams who want to run regular sprints on their team. With the ZenHub browser extension, you can create Automated Sprints right in GitHub – set a regular schedule, and automatically carry over incomplete issues to the next sprint.
Getting Started with Sprints
When trying to determine how much work should be included in the Sprint, especially when you’re just getting started with Sprints, there is really no perfect answer. The best way to plan is to estimate how many issues will fill up Sprint's time allocation. Estimating the complexity of each issue first can make this easier.
Due to the fact that you don’t know what your average Sprint velocity is when you’re still in the early stages, it’s easy to overcommit. Although you may like to estimate that each team member could complete 70 story points of work for example during a two-week sprint, it’s probably more realistic to assume the amount of work would be closer to 45 or 50 story points per person.
So, for a five-person team, you might assign roughly 230 story points per Sprint to begin, then adjust as you become more familiar with your team’s sprint velocity. With a few Sprints completed and the right reporting tool, you will begin to better estimate the amount of work that can be completed in each iteration.
Remember, the primary goal during a Sprint is to ensure each issue that’s assigned is fully delivered by the end.
Final Words on Agile Milestones and Sprints
Milestones or sprints are an essential part of the success of any project, especially those using Agile.
Agile is based on the foundations of flexibility and continuous change, so opting for sprints over milestones can be a huge productivity booster for your team.
Looking to get started with sprints?
ZenHub is the only project management tool that integrates natively within GitHub, leveraging both Issues and Milestones. When GitHub is paired with the advanced features of ZenHub, your entire team has increased visibility and improved collaboration. If you're interested in learning more about the power of our integration, find out more here.