Pushing a maemo.org task

The maemo.org Sprint development process uses tasks to develop improvements and new ideas. If you have an idea for improving maemo.org, you can push a task to implement your idea. There are two efficient ways of pushing a task related to maemo.org development.

  1. Just Do It, or
  2. See below.

Contents

[edit] Proposing a task

There is a process for tasks that can't be accomplished easily by a single person.

  1. Create a new wiki page named "Task:..." explaining what you want to achieve. Keep the plan in the main page and the comments in the "discussion" page.
  2. It is good to keep the right size for tasks. Too simple tasks (something one person can do in an evening) can be dealt with a simple bug report/enhancement request, or perhaps in the Just Do It way. Too complex tasks (several people, several months) are better handled when they are split in subtasks. Since we organize the development around 20-30 days sprints, it is good to think in tasks that 1-3 people can complete in that time frame.
  3. Once it's ready for review, list it in the Proposals and add the Proposed Task template, {{task|proposed}}, the the top of the page.

[edit] Getting a task in the backlog

The maemo.org development team keeps a backlog of tasks that are approved, but still waiting for a sprint to be committed. The tasks proposed are reviewed in the sprint meetings. When they met certain conditions they are approved and placed in the backlog.

The criteria:

  1. The task makes sense in the context of maemo.org and other ongoing tasks.
  2. The wiki page provides clear information of the objectives and the steps proposed.
  3. The task looks like achievable within a sprint.
  4. There is at least one person able to push it forward.

Ideally you will attend the sprint meeting to present the proposal. If you cannot make it, an email to the maemo-community list and/or coordinating with someone presenting it will do.

[edit] Getting a task committed to the next sprint

In every sprint meeting the maemo.org development team agrees on the tasks committed for the next sprint. Going through this process is a major step:

  1. A task committed to a sprint becomes a team commitment. It's not your own little thing anymore.
  2. A task committed needs to be completed. It can be delayed and jump to the next sprint but in rare circumstances will jump back to the backlog or be discarded.

This is why the maemo.org development team looks carefully what goes inside a sprint. And this is why your task might be postponed to a next sprint planning meeting if the team doesn't feel like the elements to accomplish are in place.

If you want to push a task for a sprint, you or someone also involved in the task need to be present in the meeting. If you really can't make it, send a convincing email to maemo-community before the meeting.

[edit] Completing a task

WOW, your task is now part of a sprint. Congratulations! Now you have to complete it. In order to do so a good idea is to report and document progress. It works getting yourself organized and making easier for others to help.

[edit] Task page up to date

Document in the task page the steps you are doing and completing. Use it for your own guidance and team coordination. Ask people to discuss in the "discussion" page. Link to any interesting resources. Think that all this will help someone else helping today... or in the future, when new tasks appear around this one.

[edit] Daily micro-reports

Daily standup scrum meetings at a certain time when working online is difficult.  ;) Instead, it's easy to update your status in a wiki page by telling in 3 sentences:

  1. What have I done since my last report. This is useful for others to see what is the progress.
  2. What is my plan today. This helps you to get organized and provides an orientation to others working in related tasks.
  3. What are the obstacles I'm facing. This is useful to highlight problems (e.g. non-evident dependencies) where others can help.

Ideally you will do this every day before you start working on maemo.org stuff. No need to do it the days you are doing something else.

[edit] Progress table

We skip time allocation and nice graphical burn-down charts :) but we do keep a table with the status of all committed tasks in a sprint. This way it's easy to see in a first glance where are the green and red areas. You are responsible of keeping the status of your task up to date.

Committed Task Owner  % Highlights
2008-06-24 Task D Miguel DONE LightGreen = Completed
2008-03-21 Task B Micaela 50% LightBlue = Good progress
2008-02-20 Task A Mika 50% Default = Just standing
2008-04-22 Task C Michael 50% Orange = Some help needed!
2008-05-23 Task D Michelle 50% Tomato = Really stuck/delayed

Chase the green!