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 will typically be tracked in 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.

'''NOTE: Urgent help tickets (which can be addressed in an hour or less) are managed only in FogBugz. These tickets should be managed as they come in to the helpdesk. If a ticket requires more substantial development work, it should be promoted to Trello.

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 cannot move directly onto the Dryad Development board; they must start on a "feeder" board. Each feeder board reflects the viewpoint of a certain group of Dryad stakeholders. The feeder boards are summarized below:

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 developed and will be available after the next update of the Dryad server.

Cards move onto the Dryad Development board during a biweekly meeting of the board owners, held by conference call, Google+ Hangout, Skype or other appropriate means. 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 no more than 8 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.

When a developer is ready for a new task, they select the first card on the Next Up list that they are able to complete. They assign themselves to the card and move this card to the Design & Specification or Implementation list. The Design & Specification list is used for all new features; they should have a UI design and an associated wiki specification before moving to Implementation. During this phase the board owner, or an appropriate stakeholder designated by the board owner, will typically also be assigned to a card. Cards that represent bugfixes or documentation can move directly to the Implementation list. 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.

Closing out items in Trello

 * 1) When a developer has completed work on a card, they move the card to the Testing & Acceptance list. They should also add a comment to the card, including the @name of owner of the associated feeder board.
 * 2) The feeder board 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".
 * 4) Once a quarter, cards in "Completed this Quarter" are written into new release notes on the Repository Development Plan. As soon as a card is included in the release notes, the card is archived.