This all happens within the last 4 weeks of a quarter
Label “Within Milestone”: Dev Lead
The lead developer labels everything expected to get done in the current milestone with “Within Milestone”. They would be responsible for consulting with any other devs on this. This is ideally done before this weeks dev meeting. They notify the community leads this is done.
Community review of remaining priority tickets: Community Lead(s)
They review the priority tickets that are not expected to be completed (those in the current milestone labeled priority but not labeled “Within Milestone”). They are responsible for consulting other user group stakeholders. If there are any major discrepancies, bring these up in the next dev meeting for discussion and consideration.
Agree on what stays and goes: Project Lead
The project lead reviews what the dev and community leads, facilitates discussion on what can be done, and makes any final decisions if consensus isn’t reached. All agreed upon tickets expected to be completed are marked “Within Milestone”. Ideally this all happens during this weeks dev meeting.
Reflect upon milestones progress: Whole team
Look back at how many tickets were completed and our progress. Does this seem like a high/low number? Why? Is that an appropriate general number of tickets to allocate for future milestones? Why? How do w/e think the next milestone will go? What are possible factors to affect it? How many tickets were added after the milestone was initially set? Do we need to leave more space for that? Are we being too optimistic? Generally determine what the next milestone’s ticket number should be.
Prune all tickets: Project Lead
Go through all the tickets that are open and do only three things: close those that are duplicates (with comment); close those that are no longer needed (with comment); refine any ticket descriptions as needed; and make sure things have the right labels but do not give or take the priority label.
Create new milestone, push everything back: Project Lead
At this point, there should only be 4 dated milestones (one for the current quarter and then three for the next three quarters) and one backlog milestone. Create a milestone for the last dated milestone, e.g. if 2020-Q2 is the last dated milestone, create a 2020-Q3 milestone. Move all issues in 2020-Q2 to 2020-Q3. Move all issues in 2020-Q1 to 2020-Q2, and so on and so forth. When you get to the current milestone, in this case 2019-Q3, move all tickets that are not “Within Milestone” into 2019-Q4 (which should’ve been empty). Notify web team this is done.
Re-prioritize next milestone and review: WebApp team
The whole team goes through the next milestone to ensure the most important to them tickets are prioritized, with the goal to have as few as possible (think MVP, what will cause riots if stakeholders don’t get it, what are holding users up the most, etc). Ideally, this is done by this week's team call. Topics for that call: Dev Lead, can all the priority tickets be accomplished in the next milestone? Why not? Project Lead, are there any tickets that need to be removed/added or disagreements that need to be mediated? Dev Lead, do you think we can accomplish all of non-priority tasks as well? Why/why not?
Re-prioritize all following milestones and review: Project Lead
The project lead goes through all subsequent milestones to ensure the most important tickets are prioritized, again with the goal to have as few as possible. Notify the team when done.
Review non-priority tickets, push things back: Project Lead
Starting with the next milestone, go through all non-priority tickets and push back anything that can be to the next milestone or to backlog. Do this for all subsequent milestones. The goal is to have a lean, accomplishable next milestone at the start, something everyone agrees can be done, with wiggle room. Notify the team when done. Facilitate any disagreements at this weeks dev call.
Update the Roadmap: WebApp team
Change any of the things that need to get changed. Send updates as things are done to the team.
Clear and close the milestone: Dev Lead
Move anything that will not be completed to the next milestone and close the milestone.
Reflect upon milestones completion: WebApp Team
Repeat week 1 reflections but also look back at the above workflow and think of how it could improve. Assign any tasks as needed.