Now that you've familiarized yourself with the ZenHub board, customized pipelines, and created and organized issues, it's time to take a look at milestones so that you can prepare for your first sprint!
|Creating milestones in GitHub||✅|
|Adding issues to your sprint in ZenHub||✅|
|Creating multi-repo milestones||✅|
|The difference between Epics and Milestones||✅|
In Scrum, sprints are a fixed length of time during which an agreed-upon chunk of work is completed and ready to be shipped. Sprints, or “iterations”, are mirrored in GitHub with Milestones.
Milestones are a great way for you and your team to plan short sprints and organize issues against a single deadline where there's limited to no scope changes.
Creating GitHub Milestones
To create your first sprint in ZenHub, head to the Issues tab within the repository where your team is working. On the top right, left of the search is the Milestones tab. On this page, select the green New Milestone button to begin:
From here, you will be able to choose a title, due date and description for your Milestone:
Two weeks is the most commonly used timeframe for a sprint. If two weeks seems too short, it's worth taking a look through your issues and asking yourself if they are too big to tackle. Breaking work down into smaller chunks not only improves the likelyhood they'll be shipped, but also elimiates the amount of potential bugs that can postpone a release.
Once you are happy with your chosen options you can select create milestone Now that you've created your milestone, it's time to add your Issues to your sprint!
Ensuring you have a healthy product backlog
Before adding issues to your sprint, it's important to ensure your product backlog is in good shape! This means your issues should have:
- Estimates that you and your team decide on together
- A user story that addresses the who and why of a task, plus any requirements. Don't worry about adding too much detail yet – you’ll discover more information as soon as you start your Milestone
- Priority according to the Issue's business value
Adding Issues to your Sprint
To add issues to your sprint, head to your ZenHub board. From here, you will able to use multi-action to to add the desired issues to your sprint. This is a great way to eliminate the onerous process of performing certain actions over and over again"
Once you've added Issues to a milestone, they can be considered part of a sprint backlog. A Sprint Backlog contains all Issues your team has committed to accomplish in the next 2 week timeframe (or the timeframe you use to define your own iterations). We'd recommend creating a Sprint Backlog pipeline so that you can easily visualize and differentiate between what is in your product backlog and what is part of your sprint but not yet in progress.
Creating multi-repo milestones
If you've created a multi-repo board, you can also very easily create a GitHub milestone spanning several repositories. This is a great time saving feature that eliminates the need to duplicate work.
To get started, select the + beside the New Issue button on the ZenHub Board:
From here you will be able to give your milestone a title, description, and start and end date.
By default, when using the + button to create Milestones, all connected repos will be selected in the dropdown. If you want to create a Milestone in only a few of the connected repos, click on the dropdown and de-select the repos where you do not want the Milestone to appear:
In the ZenHub web app teams can also create Milestones across connected workspaces using the Milestone page and selecting the New Milestone button. You can learn more about creating, using and closing milestones across multiple repositories here
The Difference Between Epics and Milestones
As Epics and Milestones are both used to organize work and boost your productivity, you may be wondering about how these interact and the main differences between them:
|Milestones are your GitHub sprints||Epics are a theme of work which enable you to map out larger objectives|
|Milestones are used to track the progress of issues and pull requests. They contain issues related by time||Epics contain Issues related in subject|
|The scope of work is fixed once a sprint begins.|
The scope is flexible. Issues can be added or removed as teams discover more about the bigger goal.
Epics are intended to give you a broad understanding of larger initiatives. When paired with Milestones, you’re able to work towards these bigger goals in manageable iterations. This means you deliver more business value (e.g. workable code) more frequently. Pairing Milestones with Epics gives you a granular way to plan and achieve your product backlog. It clarifies both the big picture and the minute details that make it up, providing everything necessary to ship better projects faster.
You're all set! With Sprints and epics you can increase productivity by organizing and structuring your work!