During the video game development process, many things are created, but one that potentially impedes progress and is frustrating to work with are bugs. Bugs are created through errors in the programming code and can cause havoc to developers (albeit some are hilarious). Additionally bugs can be in art animation, problems in level design, etc. To counter bugs, the best way is the developer sorts through the issue and figures out what is causing the error. It is very common for developers to walk up to whoever is fixing bugs and inform them of a new bug, but this poses an issue. By walking up and talking to them, they are no longer working on the current bug, and now they have to remember to work on this new bug (maybe they record it). As development continues, more bugs are found and soon enough the bug fixing developers are bogged down trying to remember what bugs are fixed, what bugs to fix, and their priority. Have no fear though; Issue Manager and other bug tracking software are here to alleviate this problem.
Whether on a small team of four, or on large teams of 100+, bug tracking software is critical to efficiently fix these programming errors. In my own experience on a small team of six developers, we implemented a temporary form of bug tracking on Google Docs, in two weeks our programmers resolved over 50 bugs. Prior to this we were only able to fix less than ten per sprint, this is because of the recording and priority process that bug tracking software provides. Without this process, we would have had many more bugs that negatively affected gameplay. Currently the three teams I am Assistant Producer for use the Issue Manager to track bugs. During the sprint retrospectives I wrote about in a previous blog, the teams usually found six to ten bugs per sprint. Four days ago the teams started a new sprint and began using Issue Manager. So far there are already 33 known bugs logged in the system. I am sure during the other sprints the teams encountered more than only six or ten bugs, but it is likely they did not record them, thus they forgot about them resulting in unresolved errors. This to me undoubtedly proves that during the development process, a bug tracking software is critical in recording and resolving known bugs.
The process that we use for bug tracking:
Add an Issue:
- Here the developer adds a new issue. The issue does not have to be programming related, it can be problems found in levels, bugs in animations etc.
- This is also where the developer writes a title for the issue as well as a description with enough detail to tell the person reading it what the issue is.
- After adding an issue and describing it fully. The person who creates the issue assigns the bug to a specific individual. Upon assigning, the individual is sent an email with the bug information. They can view it in email and on Issue Manager.
- This is very important. As development continues and the amount of bugs increases (by a lot) priority is the only thing that keeps the process functional. It keeps the highest priority items at the top and the lowest at the bottom. This ensures critical bugs are fixed immediately.
- After fixing a bug completely, the assigned developer goes into issue manager and assigns the priority to ‘Closed’ and notes what the issue was. The ‘Closed’ also represents if the bug was not able to be reproduced or due to technical limitations was not possible.
There are many benefits to using bug tracking software, most prevalent though to me is the sheer amount of bugs that are resolved due to the recording and priority process. It has helped the games I have worked on and I will most definitely implement the process in games I work on in the future. Even if a team does not have access to official bug tracking software, formatting a Google Doc works well so long everyone checks it routinely. I recommend all developers not utilizing a bug tracking process to implement one in their developments. The results are very surprising.