Dev blog 10 February 2017

Progress update and insight into the difficulty of prioritisation

What we have been working/are working on:
  • New website!
  • Fixing region detection bug
  • Fixing keeperbot bugs
  • Fixing bot-related matchmaking bugs
  • Fixing blackscreen when starting matches
  • Defender bot
  • edit: Figuring out wtf is going on with matchmaking servers right now...

Today's topic: The pain of prioritisation.

We are a very small team. Looking at the list of names on the team page on this website might make you think there are a dozen people working full time on this project. This is not the case. The vast majority of the team are part-time, or perhaps made large contributions in the past but no longer have any time to commit. This means that (very roughly) we probably have the equivalent of 2-3 people working full time on the game.

What this also means is we have to make very difficult calls as to what does and does not get worked on. We manage this using what we call our "triage" list. Every new suggestion, bug report, and idea goes on the triage list. At least once a week, everyone who is available gathers on google hangout and we go through the list, deciding which of these (if any) we should do. Sometimes it's an easy call. For example, game breaking bugs will get priority over pretty much everything. A minor problem that annoys a small number of people, probably less so. We may decide "we're never ever going to do this", but mostly the call we have to make is that it's a valid thing, but we don't have the time to do it. Anything that falls into this category gets logged, so if it comes up again we have a record of any pertinent information.

Of course, sometimes we get the call wrong. It may have felt like the right decision at the time given the information available, but in retrospect we should/shouldn't have worked on something. One of the things I personally try to do is keep the few people we have focused on what is important, and to question if something is still worth doing, no matter the effort that has been expended on it so far (read up on the Sunk Cost Fallacy for more on this).

New things come in faster than can be completed. Just this week, there were over 20 new things on the triage list. We then had to decide which of these perfectly valid things could not be done. Anything we decide needs attention will make everything else we were already working on late. This of course, is nothing new. Every software project has this problem. But... with a small team and such a constrained budget it is often painful to say "This is a great idea, We'd love to do it, but we can't".

The point I'm trying to make is that given infinite manpower and time, we would be doing 95% of the great suggestions made from within the team and from the community, and fixing every bug we find. However, as the classic project management triangle reminds us: Scope, Cost, Time. You can have two.