Using Trello

High-level prioritization is captured on the Dryad Trello boards, primarily the Dryad Development board. When a task is ready for development, more detailed work may be tracked in another system, often FogBugz. For more information on FogBugz, see Using FogBugz.

The Trello boards are publicly visible. Anyone can comment on a Trello card or "vote" for that card to be completed sooner.

Getting items into Trello
The Dryad organization in Trello owns several boards. The primary board is .Dryad Development. (Note: The name of the board actually begins with a period so it sorts first.) Items do not move directly onto the Dryad Development board; they must start on a "feeder" board.

When creating a new Trello item, place it on the "Inbox" list of the appropriate feeder board. If you are unsure which board to use, or if you think an issue may be urgent enough to skip the normal process, place it on the "Intake Perspective" board, and it will be sorted to the appropriate place.

Each feeder board reflects the viewpoint of a certain group of Dryad stakeholders. The feeder boards are summarized below:

Independently managed boards
The owner of a feeder board may use any means desired to populate their board. Each board owner is responsible for managing the various streams of information that pertain to their stakeholders. This includes reviewing new and existing FogBugz tickets related to the appropriate stakeholders.

To allow easy identification of cards, the title of each card should begin with an abbreviation indicating the type of task:


 * FEAT: new feature
 * BUG: bug
 * DOC: documentation task (includes display amendments)

Feeder boards
Each board owner manages the content on their board. New cards are typically created on the Inbox list, and sorted to the other lists as appropriate. The Next Up list contains the cards that the board owner wants to be addressed next. The Next Up list should never contain more than 6 cards. It is understood that only a few of the cards from the Next Up list will be promoted to the main development board during each cycle, but it is helpful to have more cards present so the group can see what issues are being postponed.

Dryad Development board
On the Dryad Development board, cards typically move from left to right. Cards on the left, in the "Next Up" list, are the next priorities for development. As cards progress to the right, they are closer to being completed. A card on the far right, in the Completed list, represents a feature that has been completed and is either available now or will be available after the next update of the Dryad server.

Cards move onto the Dryad Development board during a regular meeting of the board owners. Cards first move from the feeder boards' Next Up lists to the Development board's Next Up list.

The Development board's Next Up list should contain around 10 cards in total. To move cards into the Development Board's Next Up list, each board owner in advance of the meeting picks cards on their own board's Next Up list for promotion. The owner marks the selected cards with a Red label. Board owners can pick no more cards for promotion than permitted by the balance between feeder boards, as listed on the table above. If a board owner wants to promote more cards than otherwise permitted, she needs to select a corresponding number of her cards in the Development board's Next Up list for demotion back to the feeder board.

The cards picked for promotion (and demotion) are circulated among the meeting participants in advance, so that everyone can review those in case of potential disagreements. During the meeting, the group discusses each pick, and approve or reject them based on the outcomes. Once all card promotions (and demotions) have been settled, the group reviews the relative priority among them, adjusted where appropriate to prevent cards from staying in the Next Up list for excessively long. Note that items may not necessarily be addressed in this priority order, depending on the availability of development resources.

Before beginning work on a card, the developer should augment the card with links to supporting documentation. This will typically consist of:


 * One or more wiki pages that describe the affected pieces of Dryad.
 * One or more FogBugz cases containing more detailed information about the issue.
 * A card "owner"

Card Owners
Each card has an owner, who is responsible for ensuring the work is completed according to their needs. The owner is typically the manager of the feeder board that originally housed the card.

Responsibilities of being a card owner:
 * requirements gathering
 * review of designs
 * progress reports to the larger team
 * final signoff

Urgent Items
Some issues are deemed "urgent". These items bypass the normal prioritization process and appear directly on the "Urgent Items" queue of the Development board. Developers will work on the urgent items before any other priorities. To keep the urgent items from derailing the normal prioritization process, we only mark items as urgent when they truly need to bypass the process.

If you think an issue is urgent, place it in the Inbox of the "Intake Perspective" board, and it will be sorted appropriately.

Please make your argument for its urgency as a comment on the card. To be considered urgent, an issue must meet at least one of these criteria:
 * prevents a user from completing a submission
 * affects at least 3 end-users AND does not have a workaround
 * affects at least 3 end-users AND causes enough difficulty/confusion that it may prevent the users from archiving their data
 * makes curation errors likely AND these curation errors would be likely to cause negative reaction from end-users

Recurring Items
Some bugs are urgent as individual cases (i.e. FogBugz tickets), but they can be dealt with by a developer on a case-by-case basis before fixing the underlying bug. We want to make sure that the users' issues are dealt with promptly, but it may either not be clear how frequently the bug occurs or it may be a complex dev issue to fix.

For issues of this sort, tag the bug as "RECURRING" when adding it to the Intake Perspective inbox. When the issue arises, add a checklist item linking to the FogBugz ticket to the relevant card on the Recurring Items list of the Intake board. If the matter meets the Urgency requirements, you can move the card to the Urgent Items queue. When the checklist item is completed, the card moves back to the Recurring Items list on the Intake board.

Daisie will create a Trello card that deals with the underlying development issue, link it to the RECURRING card, and send it to the board of the appropriate stakeholders to address as usual.

Closing out items in Trello

 * 1) When a developer has completed work on a card, they move the card to the Under Testing list. They should also add a comment to the card, including the @name of card's owner
 * 2) The owner should review the work. If it is acceptable, they move the card to the Completed list. If not, they comment and move the card back to the Implementation list.
 * 3) When a card reaches the Completed list, the developer moves any associated code into the main development branch so it may be deployed with the next update of Dryad. Once the code has gone live, the developer moves the card to "Completed this Quarter".