Wednesday, 18 January 2017

It's all about teamwork

In planning development work on the in-progress Amazon Alexa skill for voice control of Squeezebox devices, I wanted to establish some kind of online portal for testers as I wanted a degree of privacy and didn't want to pollute with bug reports.

I'd previously used Basecamp for this kind of thing but on investigation, it looks like their free tier is gone. One of my objectives on the project is to keep it zero cost for as long as possible so I needed to look around for an alternative.

I came across Teamwork, which appeared to tick a lot of the boxes and has a free tier that allows unlimited users across two projects with a generous storage cap. Perfect.

About 6 weeks into the project, I'm starting to get a feel for it and it's pretty good. Not perfect for a software dev., but pretty good.

A project is subdivided into a number of sections implemented as tabs on the web UI. Tasks, Messages, Notebooks, Links, Files, Milestone etc. are all available and can be switched on or off on a project by project basis which is convenient and reduced clutter.

For this project, I've set up notebooks to cover installation instructions, version change history, a roadmap and a test compatibility matrix that I encourage testers to fill in. These tools work well and really facilitate collaboration.

When a release is ready, I set up a test task with sub-tasks of the particular tests I'd like people to carry out. Tasks are very configurable and can have files attached which is how I use them (the release versions are attached). Because they are so flexible, tasks can be a little fiddly to set up. For example, I was initially setting tasks as assigned to anyone but found that if one person marked a task as complete, it disappeared for everyone else. It was necessary to assign the task to everyone, but there doesn't seem to be a consistent shortcut for this and I ended up having to tick boxes for all 30 users.

The teamwork developers, however, are super responsive. In using the system, one frustration I found is the commenting system is not very well threaded. Being used to forums, I found it odd that I couldn't easily reply to a specific comment or quite the comment. The lack of these features makes it tricky to follow longer conversations. I contacted Teamwork about this and a few other queries and they were back to me within hours with solutions and a note that they would add me as a +1 to their feature request tracker for comment threading.

As well as comments on tasks, there's a separate messaging system which is well-featured and conveniently allows for private discussions - useful when testers are concerned about providing logs containing private details.

Like any of these systems, Teamwork can create a deluge of emails. Users can configure this, of course, and posters have the ability to add or remove recipients on a message by message basis. Again, it's flexible but can require a bit of work.

The files section is probably the biggest letdown for this kind of project. It seems to be just like a folder where any file can be uploaded or where any file attached to a message gets stored. I think this could get out of hand very quickly on larger projects unless better managed.

One of the strongest features is user management. It's easy to set up users and there's a ton of configuration from access and privileges to notes etc. that a project admin can assign. Users themselves also have a lot of configuration flexibility and there's a neat feature whereby an admin can impersonate a particular user which is handy to look at the project as seen by users.

There's also a good deal of active development happening. In the weeks I've been using it, there have been some major changes rolled out and communications from the Teamwork team is excellent (on non-intrusive).

Overall, Teamwork is a solid system. Would I use it again for future project? Absolutely. Would I pay for it if I needed to move beyond the free tier? Probably.

No comments: