For a long time the Web Team used JIRA to manage tasks in our development backlog. Despite its extensive functionality, the team weren’t overly fond of JIRA – finding it hard to navigate and time consuming to update. I had the nagging feeling we weren’t using it to its full potential and would be better suited to something simpler and more lightweight.
After scouting around for alternatives we settled on Trello by Fog Creek. Trello isn’t specifically designed for project management – it is essentially a tool that allows you to organise tasks into lists – what you use it for and how you use it is left entirely up to you.
After reading some persuasive recommendations by the University of St. Andrews Web Team and User Voice we tried it out for a few days and quickly became enamoured with its simple UI, ultra flexibility, awesome use of WebSockets for real time updates (when a team member updates a task on their machine it instantly become visible to everyone else without needing a page refresh) and as an added bonus it is free.
After some trial and error we settled on using one main board for all website development, dividing it up into five lists. Each cards represent an individual project or piece of work and lists reflect stages in the development process.
The main component of Trello is cards. We use cards to represent either a new feature, a bug or an enhancement and we use colour coded labels to denote this. If a project needs breaking down into more manageable pieces we use checklists within each card to organise sub tasks (for major development projects we will use a separate board and have a card in our main board linking to it).
Each card contains a brief description of the project and if a more detailed spec is needed we create this as a Google Doc and link to it from the card. Wireframes and other documentation are saved into our Dropbox account and also linked to from the card. Trello’s integration of Dropbox and Google Drive allows our development board to act as a gateway to all associated documentation for a project.
Our lists represent stages in the development process:
- Ideas: All cards start out in this list. Work comes into the team via a development request FormAssembly form, submissions to this form are essentially business cases where the user justifies the business value of their request. Our placement student James wrote a simple connector script for the form that makes use of Trello’s extensive API to automatically create a card for each submission and add it to the ideas list.
- Requirements Gathering: A card then moves into a requirements gathering phase where as a team we try to assess the complexity of the request, define the scope with the user and estimate required effort. During this stage we complete a Google spreadsheet assigning a score for various business criteria and estimate effort for the various phases of work. This spreadsheet contains a calculated business value which helps the Web Steering Group agree the priority of requests. These Google spreadsheets are attached to each Trello card.
- Next up: Cards that have a business value are then moved into the Next Up list. The order of cards denotes priority and are ready for developers to pick up during the next Sprint planning process.
- Doing: When a card makes it into a sprint it is moved to the doing list. Developers keep the card up to date with their progress through regular comments.
- Waiting for…: During the development process there are inevitably times when we are unable to continue work on a card due to external factors. This could be a content population phase, waiting for designs from an external agency, work which can only be carried out by other internal teams etc.
- Live: When a card is complete it gets moved to the live list. This live list is refreshed after each monthly sprint review meeting – completed cards from the previous month are archived and no longer appear on the board.
We have found the move from JIRA to Trello be painless and it has genuinely cut down on the amount of time we spend on “admin”, allowing us to focus more on the fun stuff of actual development. Our central development board gives stakeholders a quick overview of our workload and quickly shows where their request is in the development process in an easy and transparent way.
There are a few missing pieces in our project development cycle that we are still to address – we are investigating integrating a time tracking app like Harvest into our workflow to help capacity planning (any suggestions would be welcome in the comments) and this looks like a interesting way to visually display project progress in a Google spreadsheet.