Taiga.io

MC706.io

Only those who have been following me a long time remember one of my first large scale projects; Helm.io. The site is no longer up, but the problem it was trying to solve was a project management tool for contractors who might be working on multiple gigs at the same time. The idea was a team could track their time against tasks and bugs in the system, losely tied to user stories and tasks, as well as comment and update status. This way we had a way of both communicating project state, and recoding time spend by various parties for billing purposes. At the end of a billing cycle or project, the project owner could cut a bill and it would print out a numbered invoice to be sent.

Helm got completely revamped into a Angular1.3 + AngularMaterial Frontend and Django + DjangoRestFramework backend. It did its job well for the very few people that used it until better tools solving the various problems I was trying to solve replaced it. Payable.com (no longer available) had client time tracking and billing that allowed for online payments. And Taiga.io, completely eclipsed the Project management capabilities that Helm had, and it even did it using the same stack.

Taiga.io

Taiga bills it self as a project management platform for agile developers and project managers, by agile developers and project mangers.

Most people who have worked with a Jira or some other ticketing tool, know they are at best a lose fit, if not an entire misfit for the process that people use. Bigger tools like Rally begin to fall apart under their own weight and have way too many screens to have to navigate to find what you are actually looking for. One of the most important things about tracking projects is that the users use the tool, and it is a hard sell when it is a dozen clicks to try and get where you need to go.

Taiga is different, the user interface is simple, and very modular. Don’t use the concept of Epic’s in your project? turn that module off. Dont need sprints and instead just need a kanban board? It does that no problem. The configurable modules are:

  • Epics
  • Backlog
  • Kanban
  • Issues
  • Wiki
  • Meetup (Video Conferencing)

The core of the tool if you are using Agile is in Backlog. There you develop a backlog of user stories, which can be tagged, story pointed according to each defined user role, subtasked, commented on, have files uploaded to, assigned, and have status assigned. The user stories are the main unit of work, just as they are in Agile, so the interface for them greatly matches the process.

You can also set up sprints, which have a name and a date range for when the sprint is active. Once setup, you can put in as many user stories as your team feels it can complete in that time, and it will generate a task board and burndown charts. On the taskboard, you have each user story in the sprint as a swim lane, and users move the tasks across the categories of Ready, In Progress, Ready for Test, and Done. These categories are also configurable.

If that flow is a bit too granular for you, you can use the Kanban module, which sets up a high level kanban board for user stories and you can move them across the various Status Columns. If you are using the Backlog, you can use this view to get a much higher look at what is going on in the project.

The issue tracker is pretty standard with the exception that users can upgrade a submitted issue to a user story. So a team can open their issue tracker to their users, and a feature enhancement can get promoted to a user story.

The Wiki is also pretty standard and is helpful to have all of the documentation for a project living in the same place as the work is being done. Typically I like code docs to be in code, and project docs with the project management software, so this setup is great for me.

Taiga has a concept of a user Role. Per user role, you can set if that role can estimate points, and what they can and cannot do in the project.

Pricing

The free tier is good for 2 projects with up to 4 people each. It allows for unlimited user stories and tasks on those projects and is very helpful in getting to learn the project or if you need to do a one off project. Their paid plans are reasonable and don’t grow as fast as other project management tools for larger teams.

The real cool thing about taiga is it is completely open source. If your team is huge and you dont want to pay for the tool, they have cookbooks, deploy guides, and documentation on how to deploy the Taiga server and client on your own hardware. This would allow larger organizations to take advantage of solid project management software without the need for paying an arm and a let for it.

Taiga Tribe

This is a feature I have not tried yet, but as part of taiga, you can post individual user stories as a Gig to their freelance marketplace, Taiga Tribe. This could in theory allow teams to augment their team with contractors if they have well defined user stories and a codebase that can be easily modularized.

Integrations

As would be expected of a project management tool, it integrates with a lot of platforms such as github, gitlab, bitbucket, slack, hipchat and exposes a webhooks layer. It is very helpful to be able to monitor the project from slack and automate status via commit messages.

Devils in the Details

Along with all of the above mentioned features, there are a few semi hidden features in Taiga that has me love it. Users stories can be flagged as Client Requirement, Team Requirement and or Blocked. Blocked is pretty straightforward, but marking something as client or team requirement changes the way the points of that story show up in the burndown. These allow you to easily visualize why you are getting scope creep on your burndown chart. By making an item a client or team requirement, you can see the burn up that the user story causes, allowing teams to track the source of their delays.

In tasks, in addition to being able to flag them as blocked, you can flag them as Iocaine; a reference to princess bride. This allows the assignee of the task to indicate to the team that they are stretching out of their comfort zone to complete this task.

The team section shows a list of users and their roles, as well as a list of achievements. Users can earn points in:

  • Mr Wolf (closing issues quickly)
  • IocainDrinker (completes iocaine tasks)
  • Cervantes (writing documentation)
  • Bug Hunter (reports Bugs)
  • Night SHift (tasks closed at night)
  • Total Power (total story points completed)

This allows for some friendly competition and acknowledgement of where team members are contributing.

Conclusion

Overall, I love Taiga. Despite having written tools that do this exact things (helm, taskburndown), I keep coming back to it as my project management tool of choice. It matches my workflow so well, and is so easy to achieve what I am trying to do relative to other tools like VersionOne or Rally that I have used. It is a solid step above basic task managers like Github/Gitlab Issues.