Q

Anonymous asked:

As an indie game developer, I don't have much knowledge on any project management practices and tools, but I do know they're a vital part of game development. Could you go into a bit of detail on common practices and tools used?

A

Game development is like most forms of project work:

  1. The project leadership sets overall goals
  2. These overall goals must be broken down into tasks
  3. These tasks must be assigned to developers to complete
  4. The completed tasks then allow work to be done on new tasks that were previously blocked
  5. Repeat steps 2-3 until overall goals are considered complete (or rework the plan to account for new information/discoveries/goals)
  6. Once enough goals are complete, you ship the game.
Lego Batman says "I work alone" to AlfredALT

For a single dev or a duo, it isn’t so bad - you keep a list of things you’ve done, and a to-do list of things you need to do but haven’t done yet. Maybe you consider the dependencies of the tasks you still need to do, so you know that completing task A will allow you to get started on tasks B and D.

The entire Justice LeagueALT

As the scope of the project increases, so (necessarily) does the size of the team needed to complete that work within the allotted time frame. This is where things can get tricky - there can be thousands of tasks being completed by dozens or even hundreds of different developers all collaborating. In order to keep work from being wasted (e.g. two or more developers solving the same problem) and prevent developers from being blocked (e.g. I can’t create a new poison gas grenade if the weapon creation tool doesn’t support creating grenades yet), we need some kind of task tracking software solution that allows us to manage our tasks. These are the common requirements of such a task-tracking software.

  1. Create new tasks
  2. Assign tasks to specific developers
  3. Mark tasks as having a dependency on or relation to other tasks
  4. Be able to mark the task as not started yet, in progress, completed, and verified
  5. Assign a priority level to the task
  6. Allow collaborators to add context to a task like comments, screenshots, diagrams, videos, etc.
Members of the Justice League sit around a large table.ALT

With tracking software like this, a developer can be assigned a new task that provides a lot of context about the task, the stakeholders, the dependency, the priority, and so on. Most studios I’ve worked with have used Jira to track our tasks, but I’ve also seen studios use Hansoft or Trello instead. There are also other software suites like ClickUp, Asana, Backlog, and others. These can be used to track features being built, content being created, bugs that need fixing, or future tasks that should be done later. We can group them into milestones, we can search for specific subsets (e.g. all open bugs marked as priority A or higher) to see how we’re doing, and so on and so forth. This becomes the primary tool of the production team to ensure that tasks are being created, assigned, worked on, and completed in a timely fashion, as well as gauge how much of the overall has reached completion. The larger the scope of the project, the more integral the tracking of the individual tasks becomes in order to make sure that important tasks aren’t lost, that devs don’t waste time doing the same tasks, and that dev time spent blocked is minimized.

[Join us on Discord] and/or [Support us on Patreon]

Got a burning question you want answered?