Our story about digital project management: 5 to 28 people in the company

in #technology7 years ago

Clipboard01.png

tl;dr: we use Teamwork now (if you can, use our referral link, thanks: https://www.teamwork.com/friend/tinylabproductions)

Game development is a fascinating blend of art, sound design, programming, story telling, game design, business and marketing. All those areas are vastly different and require different tools, yet this creative chaos has to be somehow managed to produce a good product on budget and on time.

We have started our game development studio as three students from Kaunas University of Technology, cramped into a tiny room under an auditorium, with no windows. That happened seven and a half years ago - quite a lot of time in real life and ages in a digital one.

The way we managed our projects has changed dramatically over time. We went through a bunch of stages, listed somewhat chronologically:

  • Just keeping everything in our heads and calling out-of-office people via phones to tell them what needs to be done.
  • Writing stuff on paper and keeping a bunch of paper cards with tasks on our desks.
  • Running our own hosted version of Mantis Bug Tracker (the project is still alive to this day!) that doubled as an error tracker with some PHP scripts slapped on top of it.
  • Trying Trello for a bit and realizing that while it is great for top level management, it sucks for technical tasks.
  • Scaling the team down and going back to tracking everything in our heads.
  • Using Trello for artists, game designers, business and administrative people; using GitLab issues for technical people.
  • Realizing that having everything split between two platforms sucks.

Mantis Bug Tracker

Clipboard02-mantis.png

Mantis is an open-source bug tracker written in PHP. When we used it, the team was 5 people in size: 3 programmers in the office, 2 artists working remotely. We mostly used Mantis for technical tasks, such as:

  • Implement this sidebar for this building.
  • FooBarException is thrown when you do build a unit in a planet.
    And it worked good for that. We also wrote a little PHP script which received errors from our game, grouped them by stacktrace and put them into Mantis.

Unfortunately, we have used Mantis so long ago I can't really tell anything more these days. It seems it has changed massively, including having a hosted solution, but you can still use the open source version and host it yourself if you like.

Trello

Clipboard03-trello.png

Trello is the world-famous virtual sticky note manager, that a lot of people are familiar with.

We have been using it mostly as a Kanban board. While it is great for quick top-level management, it has a lot of cons that forced us to look for another solution:

  • Everything is in the same flat list. Those lists quickly become very long and messy.
  • No task dependencies.
  • Expensive for bigger teams. You need Trello Business Class or Enterprise if you want to use Trello seriously ($9.99 - $20.83 / user / mo), plus the powerups (like Elegannt, $5 / slot / mo) cost as well.
  • Trello does not work as a tracker for code related things. Have you ever tried pasting code into card description or comments? Not fun.
    Clipboard04-trellocode.png

GitLab Issues

Clipboard05-gitlabissues.png

Because of the limitations of Trello, tech people in Tiny Labs decided to use a tool that was made with developers in mind. We already used GitLab to host our repositories, so we decided to try its project management tool as well. Enter GitLab Issues.

It has a lot of benefits for the developers. You can reference code in the repository easily from the issue, or create a new branch for it, then create a merge request (for all you GitHub junkies, in GitLab they are called merge, not pull requests) for that branch that automatically closes the issue once the branch is merged.

If you are technical only team, I would say that GitLab makes a lot of sense. And after all, it is free!

However, it did not work out for us.

You see, GitLab was too complicated for the non-tech people. And with good reason too. Everything in GitLab is tied to a code project. Everything is a git project, even if you do not add any code to it. Need to group some business tasks together? Create a new repository. What is the first thing that you see after clicking a project? Its clone URL and commit history. Artists, game designers and business developers do not want to wade through pages of non-related stuff to get to their issue board.

Clipboard15-gitlabfront.png

This scares people.

And with non-techies pretty much ignoring GitLab, we were back to square one - having several systems for management. Developers never went to Trello, while everyone else stayed off GitLab. Not productive.

Oh, and GitLab does not have issue dependencies as well.

Teamwork

Facing the issues of management split between several sites and neither one of them being perfect, I set out to the internet to find the perfect tool for us.

  • It had to support task dependencies.
  • It had to have Gantt charts, because the artists and game designers love the visual side of them and can easily see how tasks depend on each other and when the tasks are due.
  • It had to be developer friendly - allowing code snippets to be pasted into the task descriptions.
  • A nice to have was that it was not super expensive.

Not that big of a list, isn't it? But it took me two days, until I stumbled upon Teamwork.

Teamwork is a hosted solution, that integrates a bunch of tools into one coherent environment, which is suited for all kinds of people: developers, artists, game designers, business developers, even our accountant uses it!

In Teamwork, you divide your stuff into projects. A project is a collection of tasks, milestones, files, notebooks and other things associated with a group of people.

Clipboard-match3.png

We have projects for:

  • Actual projects, like the Match 3 our interns are doing or other games.
  • Meta-projects like Business or Office, where a particular topic is developed.

Tasks

A project usually has tasks (although you can turn modules on or off depending on what you need).

Clipboard-modules.png

Those tasks are organized into task lists. A task list is just a bunch of tasks grouped on a particular subject, such as introducing a feature into the game. By default, task lists close when all the tasks in them are completed, going into archived state, but you can pin a task list so it never closes (very useful for task lists like "Bugs").

Clipboard-tasklists.png

The tasks can have sub tasks, without limits of depth. They can be viewed in several different views: as a tree (usually used by developers), as a board (usually used by business) or as a Gantt chart (usually used by artists and game designers), which fits all our needs perfectly.

Tree view looks like this. Each task has one or more assignees, start and end dates, tags, files, comments, dependencies to other tasks (which may even be in other projects) and any number of sub tasks, which block the completion of a task, until all of its sub-tasks are completed.

Clipboard08-tree.png

The same task list can be viewed as Gantt chart if you wish:

Clipboard09-gantt.png

If that is not your cup of tea you can also view a task list as a board.

Clipboard07-board.png

These three modes cover all use cases for us and people are very happy with the choice to use which ever format they see fit best for the project.

The task descriptions accommodate code snippets very nicely as well.

Clipboard10-code.png

If you have repeating sets of tasks you can make task list templates, which then can quickly be inserted into a project. If you have one repeating task you can use the repeats feature for that particular task. Very nifty!

Milestones

Clipboard11-milestones.png

Milestones feature helps you out with releases or other important milestones. You can assign responsible people, set dates, attach task lists that need to be completed for the particular milestone (you can't attach single tasks yet unfortunately). Excellent for keeping release history and keeping tract of upcoming milestones.

Files

Clipboard12-files.png

Each project gets its own (versioned!) file storage. You can do pretty much anything you can imagine with these files. While it isn't Dropbox or Seafile (which is an awesome open-source file sync and share platform that you can host yourself; very useful when you have 2TB of art assets), it is pretty nifty for storing small files related to the project or tasks.

Notebooks

Clipboard13-notebooks.png

Notebooks is Teamwork's wiki system. It allows you to store your documentation or other data in versioned pages. We use it for various documents, ranging from tutorials to keeping track of the vacation requests.

Notebooks feature a nice WYSIWYG HTML editor that really works, as well as categorization.

Other modules

There are a bunch of other modules that we do not use. There's messages (from a quick glance it looks that it works like email), time tracking, risk management, billing and a link database.

While those are not useful for us, they might be useful for you. I guess time tracking and billing is excellent for companies doing outsourcing work.

Clipboard01-contacts.png

For companies doing outsourcing work can also invite people from other companies (like their clients) into the projects. This way Teamwork can double as project management software where you can communicate with your clients and contact management software where you can have all your contacts related to the project.

Desk and Chat (beta)

Teamwork also has its own help desk system (like Zendesk), which is priced separately, and a chat system (like Slack) which is in beta right now. We haven't tested those in depth yet, so not much to say there.

Pricing

This is the part that I love about Teamwork the most. It is a complete solution that fulfills our needs and... it has no per-user fees!

Clipboard14-pricing.png

Compared to Trello this starts being cheaper at only 7 users! Mere peanuts, I say! :)

Conclusion

I highly recommend Teamwork for project management. It is cheap, flexible, powerful and user friendly.

If you found this post useful, you can use our referral link (http://www.teamwork.com/friend/tinylabproductions) or just go to regular http://www.teamwork.com/ and start your 30 day free trial.

Best of luck!

Sort:  

Congratulations @arturaz! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

You published your First Post
You made your First Vote
You got a First Vote

Click on any badge to view your own Board of Honnor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

By upvoting this notification, you can help all Steemit users. Learn how here!