A good project management tool should fill at least these requirements:
- Help visualise the work - how much are we working on, how much work is not started and how much is done?
- Adapt to your process, not the other way around.
- Make information transfer as easy as possible.
- Provide an easy way to measure flow of work to allow predictions about completion of certain batch of work.
Trello is the most popular tool at Vincit for the job. I personally love physical Kanban boards and Trello is pretty much the closest thing to those in the digital world. The big benefit compared to a physical board is - duh - the ability to have access regardless of location. I use Trello to manage agile software projects, help facilitate meeting agendas, as a personal todo list and to list our household chores.
In order to get the most out of Trello, some thinking is involved. In this blog post I'd like to share a couple of the ideas we here at Vincit have come up with it.
1. Product backlog board
As a product backlog, Trello is really lightweight and customisable. You can create any kind of lists you want so that they reflect your workflow. You still need to think a lot about how to write your user stories, job stories or whatever you like for that stuff to make a purposeful product backlog. Sometimes we keep separate boards or lists for ideas, some of which will transform into backlog items. But when it comes to actual backlog board lists, we often start with something like:
- Backlog - this is where the items that are not yet started live. In priority order, of course. They might contain a rough wireframe as an attachment. Did I mention, Trello works great with attachments? You can even make the wireframe a card's cover photo, which helps make the backlog more visual.
- UI design - this is the phase where the wireframes get a bit more detail. Maybe some icons and graphics. How much so, depends on what works best with your designers and programmers.
- Programming - the item is being developed by the team. At this point the team member doing the work assigns herself to the card.
- Programming done - the item is implemented and it has passed tests.
- Staging - the item has been deployed to staging/test server for beta users. Or if it's a mobile app, it's been delivered to beta testers.
- Released - the item is in production.
Now this is a simple flow. But the point is that it's really easy to make Trello adapt to yours. You could add lists for A/B testing, code reviews, manual acceptance testing or whatever floats your boat. We also take extensive use of commenting Trello cards. Comments are a good place to ask questions about the backlog items, because they stick with the cards and the comments can add more details on how to implement the tasks.
2. Decisions board
In addition to the Product backlog board, we often use a Decisions board. Sounds magnificent and all, but it's basically just a better place to put your meeting minutes into. The other benefit is that it's easy to put your meeting agenda in there and then use Trello to help facilitate. Doing this with some discipline (or a secretary, yay) makes sure that all the decisions done in the meetings are written down. A decisions board usually contains the following lists:
- To be decided - subjects that are raised between meetings that should be decided. Any team member can create cards here any time. For example, "How should we handle network connection breaks in our mobile app?". We aim to empty this list during planning meetings. But decisions can be made also between meetings based on face to face discussions, Slack messages, email, etc.
- Discussed, no decision - subjects that have been discussed, but do not yet have a decision. Make sure you write down This list should not be long, if cards get stuck here for ages, they probably aren't that relevant.
- Decided - These are the decisions made. Make sure to write down the exact decision and why it was made. At least for us, we often dig up the old decisions to remind us what the justification for them was. Often a decision here will cause changes to the backlog.
A big advantage for us has been, that it's really easy to find what decisions have been made and why have they been made. Trello has a good filtering feature. Using shortcut 'f', you can enable filtering. If decisions have been written down with care, at most times just typing the first few letters of a relevant keyword will reveal the relevant decision. It just feels a lot more efficient and easier to use than traditional meetings minutes that you have to dig up from your inbox or some other archive.
Sometimes we add action points to this board. They're some support tasks that need to be done by someone. We usually just use "action points not done" - "done" lists for these.
We use Slack extensively at Vincit. I won't go into The Epic Greatness of Slack that much in this post, instead I'll explain how we use it with Trello. Slack has integrations for multiple services including Trello. Trello -> Slack integration allows posts to the project's Slack channel about almost anything that happens in Trello, but enabling all of those pollutes the channel. I usually just choose to post only when creating new cards or when a comment is added to the card. Enabling the integration is really easy: just select "Add an app or custom integration", type Trello to the search box and go from there.
I've recently played around with at least these integrations:
- Corrello - CFD charts, release forecasting and sprint burndowns
- Handsome - parent child management, if you want to use epics/user stories that are related in your backlogs
- Kanban WIP for Trello - WIP limits for Trello lists.
- Zapier - an excellent tool for integrating different services to one another. For example, create integration between Google Sheets and Trello. Create a card to Trello whenever a new line is created to the sheet.
Trello has its flaws too. It needs to be used with discipline or else your backlogs will become a huge pile of cards who nobody can understand. Managing epics/user stories and tasks requires some thinking. Sometimes you might want to do a couple of backlogs with different abstraction levels. Or, for example, just split epics into multiple cards when you start working on them.
If you're running close to textbook implementation of Scrum, I'd say there are better tools for that than Trello. But what if you have a retrospective and the team decides to try something new? Maybe some tweak in the way of doing things or even a bigger overhaul or experiment. How will your Scrum project management tool adapt to that? Often, it doesn't. It forces you to do things the way the tool's designers thought people work.
Which brings us back to the good bits of Trello: It's great in making work and progress visual with one glance. It adapts to your way of doing things. Particularly when combined with Slack, it's a pretty good way to transfer information (I refuse to call anything but face-to-face discussion communication). And with some tinkering and extra effort you can get progress forecasts from it.
And one last thing: if you decide to try Trello - which you obviously should as otherwise you just wasted a few good minutes of your time reading this blog post - here's Trello's collection of shortcuts. Learn them, they're great!