For a project I was leading at the Baltimore Give Camp in October, one of my teammates suggested we use Trello, a task management web application available online.  I immediately saw its usefulness, and wanted to write this blog post as a means to explain how I use trello for my own various purposes.  Keep in mind Trell0 can be used to track anything; it can be used for development (which is what I’m writing about today), but could also be for tracking your time, your personal schedule, for writing a book, managing your life, or whatever else you may want to track.

Trello works with the concept of a board; on the board are a group of lists, which each has a group of cards.  Working our way up, a card is a task.  The card contains everything related to the task, including notes appended to the tasks, due dates, color coding, etc.  The card resides on the list, which categorically categorizes cards by some sort.  For instance, a list could categorize tasks by its state (not completed, in progress, completed), by location (US, Europe), or any other designation you like.  A list can have many cards, and cards can be transferred from one list to another.  For instance, we can have a list of completed tasks, a list of in-progress tasks, etc, all within a board (which the board could represent your project, for example).

A sample board looks like the following:

Trello Task List

In this sample project organization, as tasks come in, they enter the To Estimate list.  Items estimated that are ready for coding are dragged to the To Code list, and then eventually get assigned to a developer or DBA.  Items completed in development appear on the Development Complete list, which then makes its way to the UAT testing list, followed by the UAT complete, and Production lists (omitted from the list).  As each item is completed, someone on the project can drag and drop items from left to right.

The great thing about Trello is the visual representation it gives you of the life of your application; with one glance, you can see where the status is of all your tasks, and get a feel for the progress you are making.  And because boards are security-driven, other members of the team can keep the board up-to-date in real time.  The project manager knows what tasks are being worked on, the testers can see what tasks are in their testing responsibilities, the developers know which items they must complete, and items can be reordered in the list to meet the client’s priorities.

I personally have used trello for my personal management; currently I am using Trello to manage several of my personal projects, including my Nucleo framework.  I am also working on integrating Trello on a team project as well.  Trello doesn’t have everything for task management that people like to have, and while some of those features will be coming in the future, Trello has a lot to offer any organization, whether a development project, a web design company, or an open source project.  Outside of task management, a trello board can be opened up to the world, meaning that it provides a means to communicate task items being worked on, and allow users to vote on the tasks they personally would like to have in your product.

Trello can be found at http://trello.com.