2012-10-15

Software Project Management using Trello

Trello is an online tool that can help keep you organized.  It's free to use, quick and easy to learn, and mimics Agile development quite well.  The interface mimics a whiteboard of items, and allows users to move them around automatically pushing changes to other logged in board members.  It's a great quick and dirty tool, that lets you get started and productive quickly.

I had researched Trello quite a while ago, when it first became available.  I remember liking the interface, however thought it was missing a couple of key features I was looking for.  Now, after using it for a couple of weeks, it seems they've added new functionality and made it an extremely attractive tool targeting a wide audience.

At work, I've been involved with a relatively small project.  Another developer and myself are adding some new features to an existing ASP.NET application.  To start the project, we hadn't been using any tools to help manage the project tasks, we simply divided the major screens/sections of the new functionality up and worked on them.  We recently had a major review with the project manager, which resulted in a list of several changes/fixes to get done ASAP.  We had notes on the changes, but needed to efficiently manage them so that none were forgotten.  We also didn't want to be working on the same item, thus wasting a bunch of time.

Board Screenshot
We used Trello to manage all the tasks.  After creating free accounts and a board for the project, it was quick and easy to add the changes/fixes as cards.  The interface is extremely intuitive and efficient.  It allowed us to efficiently manage and complete all the tasks, without being cumbersome.  I found it very easy to plow through the items, adding comments after completing them and moving them to the appropriate list (i.e. status).  We never accidentally worked on the same card, and minimized project management by relying on Trello.  Here's a censored screenshot of our board.

Trello is very customizable, including renaming lists (labeled To Do, Awaiting Feedback, Doing, etc... above) and labels (refer to Custom Labels Screenshot).  You have the ability to add checklists to each card to further breakdown the task.  You can also assign the card to members, set a due date, attach files, subscribe, archive.  You can also move the card to a different board, list and position within the list.


Modifying the list and assigned members is extremely easy from the board.  The interface supports drag-and-drop for both.  Changes are automatically pushed to other members viewing the board so that everyone is working with an up-to-date view.

Custom Labels Screenshot
Here is a summary of Trello features:
  • Free, easy to setup
  • Extremely intuitive user interface
  • Drag-and-drop cards to change their status
  • Drag-and-drop users onto cards to assign them
  • Board automatically refreshes as others make changes, highlighting recent changes
  • Cards support a lot of functionality
    • Description, checklist, comments, file attachment, due date, subscribe (to changes), archive
  • Customizable lists and labels
  • Add/invite new users to the board
  • Vote - vote on a card, presumably to increase it's priority
  • User permissions - limit permissions of individual users
  • Search cards for specific content
  • Recent Activities - a listing of recent changes to the board
Detail view of card including history and checklist
To support the next level of project management, there are a couple of short-comings, or at least things to be aware of before using Trello.  Tracking the status of cards and getting a high level view of everything is very easy, however there are limited project management tools available.  Beyond looking at the board, there isn't a way to determine the rate at which cards are being created and completed.  Basically, Trello is missing reporting tools altogether.  You can export the project to JSON, and it looks like the file contains all of the cards in their current state.  However I'm not sure how to make use of it.

Another thing to be aware of is that Trello is hosted on the web.  Although we set the board to private, and they have privacy documentation, I think it's a good habit to always be a bit wary of what content you're posting.  There's always the possibility that the site gets hacked, or privacy rules change.  To avoid possible problems in the future, I think it's good practice not to post overly sensitive data/information.

Here is a summary of features missing from Trello that I think are useful:
  • Time tracking for individual cards
  • Ability to minimize lists
    • As far as I can tell, lists have to be open and take up an entire column in the board
    • It would be nice to be able to minimize them because board real estate does become a limiting factor
    • It would be nice to stack multiple lists in a single column
  • Project management and reporting functionality
  • Instant Messaging/Chat
    • It would be great to have the ability to chat with other users
    • You can already determine if a member is logged into the board
    • IM would be a great feature, allowing you to quickly ask another member questions

Here is some Trello terminology:
  • Board - a sprint, project, sub-project or work iteration
  • Card - a task, issue, bug, work item
  • List - the state of the card
    • ex. To Do, Doing, Complete, Verified, Awaiting Feedback
  • Label - a tag, category or grouping for cards
    • Cards can have multiple labels
    • ex. feature, bug, priority
  • Member - users with permission to access the board