This task tracking system will get your trains running on time.


Collaboration is at the heart of OpenStack. As the number of projects grow and people around the world contribute, the challenge is keeping teams on task.

Superuser talked to Zara Zaimeche, software developer at Codethink, about StoryBoard, a task tracking system for cross-team projects.

If you’d like to learn more in person, the StoryBoarders are meeting up in Manchester on February 17 for a Mitaka MidCycle.

The agenda includes updates on what the team is doing and Zaimeche, who is organizing the event, has promised some very tasty cloud cake.

Who will StoryBoard be most useful for?

It’s most useful for someone who wants to track work that spans multiple
projects (or a very big project with lots of moving parts). This could be code, but doesn’t have to be.

For background: a story is a goal, or set of requirements. A task is a concrete step someone takes toward meeting those requirements. Sometimes work is necessary in multiple projects in order to fulfill the requirements, so different tasks in the same story can link to different projects.

It’s easiest to just show an example.


Wasn’t this project dead? Why resurrect it?

It was! I think the dust’s clearing a little now…

Codethink (where I work) were interested because we wanted to extend StoryBoard to use an instance internally, for project management. OpenStack’s infra, especially the CI system, meant it was more appealing to develop upstream than to fork.

We work in the open a lot and we’re familiar with Gerrit, so it was easier for us to do it this way. It also made more sense for us to use a tool based around the needs of software developers, and make a project management layer on top of that, than to use generic management software that we would then struggle to extend with a Gerrit plugin, etc.

In the process, we ended up fixing some old bugs and talking to people who’d worked on StoryBoard in the past, and now more people are interested than when we started. So that’s quite encouraging.

How long before it’s in production?

There are instances in production at the moment, though some features are more mature than others.

It splits into roughly three parts: 1) a bug-tracker, 2) a task-tracker for developers, 3) a task-tracker for project managers. The last is the newest and creakiest, but also our development focus at the moment.

OpenStack Infra have a production instance, though they’ve planned to move away (the decision was made before we resurrected the project). So their instance is the one we use for tracking development on StoryBoard itself, as it’s the most comprehensive task list.

Outside of OpenStack, the Baserock project also uses it for bug and task tracking, here:

We expect more users as we develop it further, especially the project-management side. We’ve kept relatively quiet while we’ve been fixing bugs, but we’re chipping away at them!

What contributions do you need most from the community?

We’re a small team, so the absolute best thing people can do is play
around with StoryBoard, find some bugs, and try to fix them. (that may
be true for a team of any size…:))

Known tasks and bugs:

 Python API:!/project/456

 AngularJS Webclient:!/project/457

The best place to get further context (or just chat, really) is
 #storyboard on freenode.

Other ways people can help: making stories and joining #storyboard to tell us more about their needs. And, as always, review! AngularJS knowledge is top of our wishlist, since in the world of OpenStack it’s rarer than Python.

You made some serious promises about cake when announcing the meetup. Tell me more!

Well, the original plan was to host a meetup, order lots of cake, then somehow forget to invite anybody to the meetup, and eat all the cake ourselves. Then I forgot the master plan and foolishly advertised the meetup.

So now, planned cakes include doughnuts and rainbow cupcakes. This kind of thing: the clouds are made from candyfloss.
Unless I eat them all first.

[Cover Photo] // CC BY NC