Hello my fellow oxygen breathing formerly tree-climbing animals, I am Stefan from 2Guy Games. We are a startup company located in Germany that focuses its work on game development. Today we want to continue to share our insight from last week on: “how bad programming habits lead to bad code leads to bugs lead to projects exceeding allotted time and budget leads to rushed projects lead to buggy end products”. If you want to catch up with the previous article, then you can find it here. I will further clarify the economic point of view on this topic.
“How does this bug, that got past QA cut our profit?”
Last time Marco told you about how bugs can sneak their way into a game and how the hell did they go undetected for such a long time for Pete’s sake. He mentioned how those greedy publishers and rushed development affect this problem to a certain degree. But the main reason why software development lacks quality is the combination of not enough testing of code and the correlating lack of time and money to do so.
And there we are: A Bug, that got into our game by insufficient testing has to be fixed. That costs a massive amount of time and therefore money. The phrase: “Time is money” is as old as money and still is relevant to this day, so what can we do?
As a company, you have a limited amount of Time and Money to make a game. Therefore you use management tools, methods, and theories to structure the whole process to make your project a success. You set and review milestones, evaluate and restructure parts of the project, shift resources and so on. There is nothing wrong with using these tools and methods. But especially in the field of programming, most of them only scratch at the surface of the actual problem, like Marco elaborated last time. You have to dig deeper to uproot the causes of problems, that most management tools cannot reach. And if you do not dig deep enough you devalue parts of your project or even risk everything you planned and did. Then, the development needs more time. Therefore it gets more expensive, the quality decreases, and ultimately the customer or client is disappointed, and you lose important revenue and even reputation for future projects.
How 2GuyGames addresses the root of the problem?
Last time Marco wrote: “Software is complex. It is hard to keep track of everything that is going on.” and “One developer can handle his own mess. Multiple developers making their own mess, each is a recipe for failure.” We have to eliminate the mess of developers in complex products without reducing their productivity and making unaffordable expenses. Sounds like a hell of work. But it can be quite simple and important to work efficient and profitable. If you equip developers with a coherent basic pattern to develop their code you support them understanding each other. That means you communicate the problems among testers and programmers in a away, that it makes things a lot easier for them. That saves time and therefore money. Plus, because of your automatic tests for every aspect of your game, you gain a significant advantage in terms of correcting mistakes and bugs. Finding bugs or miscalculations in terms of playability will get easier and again, saves time and money. With this simple addressing of a core problem in game development, you get the opportunity to make your whole work not just easier or more bug-free. By being able to save time in postprocessing bugs you have way more time to develop more at the same time or be better in less time. This is especially crucial in game development, were you plan and finance a project three to five years in advance and have to justify to investors how and why you did your planning as you did. By controlling post-processing development you make us managers a bit happier. Because we can see were the money goes and what you do to save time and money to make more money out of one project. But not just us. As I already wrote, a failing development can lead to dissatisfied customers. You help them being more satisfied with your product if they encounter way fewer bugs (or even game breaking bugs) or even none. Therefore you gain not only way more positive critics for your game, but that can also lead to more sales. You even gain the reputation of a company, that makes great games not just in terms of gameplay, but in terms of stability, playability, bugs and so on. That helps a lot for your next game in advance, because the customer will definitely appreciate your work. In times of crowded markets and a rising in bad examples in terms of product quality in game development, this seems to be a valid approach to address one of the customers greatest needs.
For Programmers and Managers software development is always bound to strategic planning and balancing of relevant numbers. By directly addressing and eliminating one of the most common problems of game development you help yourself reaching an economical-triplet of product quality, customer satisfaction and time-efficient cost reduction.