Online Scrum Tools – Part 3 – Import Backlog into Trello
http://www.littlebluemonkey.com/blog/online-scrum-tools-part-3-upload-existing-product-backlog-into-trello
https://docs.google.com/spreadsheets/d/1gCBnYeK3f6uXBAV0jPYfFFFcZEjjeKoJ8Fg2h1PLG90/edit?pli=1#gid=680968806
In the previous post about my search for online Scrum tools, I extolled the virtues of Trello and how, for me, it's the perfect tool to manage a product backlog.
But what if you already have an existing backlog, and don't want to spend time re-keying the entries? Well luckily, like most things in 2012, there's an App for that.
Before you get too excited, I should mention that "The App" in this case is a Google Spreadsheet, with a Google Apps Script that leverages the Trello API to import the data. It's simple, effective, and in true agile fashion, it does just enough to get the job done without unnecessary bells and whistles.
So how does it work? Well make a copy of the spreadsheet in your Google Docs/Drive folder and get to work setting it up.
Go to the "Control" sheet and follow the instructions to set up API keys and tokens. Use the options in the Trello menu in the spreadsheet to find and record the IDs of the board and list that you want to add the cards too.
One of the steps is to add your entries into the "Backlog" sheet, the columns of which are worth looking at a little more closely:
- Upload Status - Set to blank if you want the row to be imported. It is changed by the script as it processes each row.
- Title - The description of the backlog item. This becomes the main text on the generated Trello card.
- User Story - The user story (e.g. As a I want to so that ) for the backlog item. This gets recorded in the description field on the Trello card.
- Points - The number of story points that have been assigned the story. The script puts this at the start of the title in parentheses. This is how the Trello Scrum Chrome extension handles story points.
- Acceptance Criteria - The acceptance criteria for the story. These will be added as a single checklist on the Trello card, with a new line character separating the checklist items.
- Comments - These will be added to the card as comments, with a new line character denoting a new comment.
- Due Date - This will set the due date of the card. Date formats can be a problem, so it's best to use ISO Format if you can.
- Labels - Enter a comma separated list of label that you want added to the card.
Once the script runs, and if all goes well, you will end up with a list full of Trello cards that look something like this:
That's more or less it, easy right? There are, however, a few minor things that are worth noting:
- Google Apps Scripts appear to time out at around 6 minutes, so I changed the import script to end gracefully after 5 1/2 minutes. The stories that have been imported will have "Completed" recorded in column A, so you can just repeatedly run the import script until all entries are imported.
- I did notice that if you had the Trello board open during the import, then some checklists/comments did not immediately appear on the cards - refresh your browser page, and they should appear.
- The Trello cards all have a card number on the bottom right, and it is this unique ID that we use if we don't want to refer to the story by name.
- The performance seems to vary depending on the number of comments/acceptance criteria, but I was managing to import around 50-70 items in every import.
So there you have it - if you've skipped to the end of this post to find the good stuff (i.e. the link to the spreadsheet), then you're in luck - you'll find the spreadsheet here.
** Update : I've added a new post on how you can now go the other direction and back up your Trello data in a Google Spreadsheet.
*** Update 7th November 2013 - If you do import a backlog into Trello, then there is another script available to Pimp Your Trello Card and automatically add Google Docs to your cards, Checklists, Descriptions, or even assign costs to your cards. ***
*** Update 7th January 2015 - I've made a few improvements to the script - details here. ***
*** Update 3rd November 2015 - another new version to address an api deprecated by Trello ***