The OMERO Development Process

As decided at the May meeting in Dundee, the OMERO team is going to test a new development process loosely based on Agile and XP methods. Stories, tasks, and defects (our ticket_types) will be entered into trac as necessary. These will be scheduled into cycles, each of which consists of six iterations (a two week period). After each bi-weekly period, we will schedule user-supplied stories, developer supplied tasks, and outstanding defects to the upcoming iteration during the review meeting.

A Task is a developer item (a "Todo") that will be scheduled by the developer for technical reasons. Stories and defects are scheduled jointly to a particular milestone (cycle & iteration) and will always be closed by a successful Test.

Tests should be of the Acceptance Test form. The ticket number for which a test is being written should be added in the  testng annotations (@Test( groups = "ticket:60" )). This works at either the method level (see SetsAndLinksTest#L73) or the class level (see UniqueResultTest#L15).

If for any reason, a developer can't fulfill the assigned stories/tasks for an iteration, ... that's ok. It's two weeks, right? But by raising a flag, we can get a feeling for our planning strategy. During the next iteration, we should take that into account.

General Notes

  • Review meetings are a learning process.
  • Use views like {9} and {13} to get a feeling for what's going on.
  • Broad items can be left scheduled to the cycle.
  • Backlogged items are rescheduled.
  • The articulation of stories is critical; not too big, not too little.
  • Bigger stories can be left at the cycle level.
  • But, usually a story should be a testable piece of functionality.
  • Also, usually a stakeholder should write the story in order to push it forward.

Review Meetings How To

  • Before Meeting
    • Try to close everything, or explain why still open.
    • Review unscheduled and upcoming (next iteration) tickets.
    • Move unscheduled tickets to cycle where sensible.
    • Move cycle-unscheduled tickets to next iteration where sensible.
  • Scheduling
    • Discuss what new came out of the closed tickets.
    • Discuss why open tickets are open.
    • Evaluate how well the previous iteration was planned.
    • Move backlog (unfinished tickets) to next iteration or unschedule.
    • Move other tickets to next iteration
    • If next iteration is too full, prioritize and reschedule.
  • After Meeting

Future directions

It's possible that we add time estimates to the trac tickets and beginning measuring our velocity. Currently, there is no way to do this in trac.

1.2.1-PRO © 2008-2009 agile42 all rights reserved (this page was served in: 0.28165 sec.)