Community Relations/Planning
This page is kept for historical interest. Any policies mentioned may be obsolete. If you want to revive the topic, you can use the talk page or start a discussion on the community forum. |
We are moving and adapting mw:Developer Relations/Planning.
Quarterly goals
Our current and past goals are documented at Technical Collaboration/Goals.
We follow the process for defining quarterly goals used at Wikimedia Engineering/2016-17 Goals. It starts around the middle of the previous quarter, about seven weeks before the planned quarter starts.
Goals vs regular work
Quarterly goals are tasks that can be completed within a quarter. Regular workflows don't constitute goals per se, although significant and measurable improvements in these workflows can be defined as goals.
For people dedicating a lot of time to regular workflows, goals are a way to commit to non-regular tasks that must be completed, which otherwise would end up slipping month after month because of "regular work".
Individual goals and team goals
All goals are assigned to one person, who is the ultimate responsible of its successful completion. Sometimes that person is also in charge of doing most if not all the work required to achieve the goal. These are considered individual goals. Defining your individual goals and agreeing them with your team is also a way to define and agree what will not be a goal for you during the quarter. This is specially useful in busy times, when you must prioritize existing tasks or deal with new unexpected tasks.
Some goals are selected as team goals, and will define the priorities of the team during that quarter. All team members should be aware of the progress and main problems of the team goals, and should help within their capacity, even if sometimes this is done at the expense of their individual goals. Team collaboration is the main feature of a team!
Where to find candidates for goals
We need to find a balance between completing ongoing efforts and starting new ones. We need to make steps towards the implementation of our annual plans and team strategy, but we also need to leave room for autonomous experimentation and pet projects.
This is a good sequence to find candidates for goals:
- Unfinished goals from the current quarter
- Unfinished tasks from the current quarter, promoted as goals
- Other open tasks in the #Community-Liaisons and #Developer-Relations backlogs
- Events and programs with fixed dates
- Team annual plan -- see Improve collaboration with communities in product development and Connect volunteer developer work with community technical needs
- Team strategy
Goal-setting process
- The process starts with the creation of a new section for the next quarter under Technical Collaboration/Goals and a related task in Phabricator, which will be the canonical location to propose goals.
- Team members start proposing goals in the Phabricator task, team meetings, or 1:1 conversations.
- An announcement is sent to wikitech-l, wikitech-ambassadors, and optionally other channels inviting everybody to propose, discuss, and help committing to quarterly goals.
- By the deadline for goals drafted, all goal candidates should have a related task in Phabricator including related projects and measurement of success. Discussions specific to a goal should happen in its own task.
- From that point, candidates will be prioritized through online discussions and team meetings until they are agreed at a department level.
- By the end of the quarter, every team member will have also agreed a list of individual goals with the rest of the team.
Quarterly milestones
We organize our work using quarterly milestones in Phabricator. We have milestones created for the current and the next quarter. These milestones can be accessed from these team workboards:
Adding tasks to a quarterly milestone
Adding a task to a quarterly milestone implies that the team has the intention to work on that task during that quarter. This action is usually done by the owners of the tasks or the team/project coordinator.
Handling tasks during the quarter
New tasks land in the Backlog column of the quarterly milestone. From that point, they are pushed to other columns based on their status:
- Tasks accepted and assigned to someone should be moved to Ready to Go. If a task is planned to be active on a specific month (i.e. an event), it should be moved directly to the corresponding column.
- Active tasks should be moved to the column of the current month.
Following these steps, the workboard will reflect the tasks currently active, those that were initiated but stopped, and those that haven't been started yet.
Wrapping up the quarter
At the end of the quarter, the quarterly milestone workboard must be empty and archived. This is a good occasion to review the priority and relevance of the tasks that were not completed during the quarter.
- Ongoing tasks should be simply pushed to the next quarter.
- Inactive tasks that were not completed or not even started should go through a sanity check.
- Is this task still relevant or appropriate? If not, it is better to close it as Declined or Invalid.
- Should this task be owned by Community Liaisons / Developer Relations? If not, it is better to move it to the "Team radar" column in the team workboard. Please communicate the reasoning in the task and assure that the potentially relevant projects are associated to it.
- Is there a plan to work on this task in the next quarter? If not, it is better to move it back to the team backlog. Consider lowering its priority and de-assign it.
- Only inactive tasks that are still relevant, belong to our teams, and have an owner planning to work on them can be moved to the next quarterly milestone.
The remaining tasks will be moved to the team workboard Backlog before the expired quarterly milestone is archived.