This is a contradiction within management of game development.
I have been engrossed in a frenzy of game programming lately. (Note that “engrossed” is just another way of saying “crunch mode” that I willingly accepted.) Despite managing myself, I am struggling with an issue that affects the development of many games and applications, a contradiction in goals.
On the one hand, good development management practice suggests that one deal with the unknowns early in the process. These unknowns, tasks which are the most difficult to estimate correctly, especially those involving partial information, have a natural tendency to be the longer (and often more tedious) tasks to complete. Another important goal is to get the fundamental foundation of the project (e.g., libraries and elemental routines) as solid and complete, and tested, as possible.
On the other hand, unless one is totally isolated and/or committed, it is important to be able to show tangible progress on a project in terms of visuals or notable features (or perhaps of number of tasks completed). Even if one is completely on his own, it helps morale and provides motivation to get a measurable degree of advancement, rather than updating “50% done” to “90% done” (especially since most such numbers are completely arbitrary anyway).
My current major project has many unknowns (due to the new platform), and loads of opportunities for choosing between minimal implementation of a base class, merely to support a specific task, and a complete and proper implementation, with testing, to handle all anticipated needs. Specifically, when porting a solid library of routines from Windows, I have the choice whether or not to port routines that may not be used in this particular game, but will definitely be needed down the road.
The approach that I have been taking is… well, I will just leave this as an enigma for now.
(As this post runs from “paradox” to “enigma”, I must end with a decisive quote.)
“War! What is it good for? Absolutely NOTHING!
… War can’t give life; it can only take it away.“
— Edwin Starr