Often in the mornings I wake up with a question on my mind that is lying at the heart of some conflict that I am enduring at that time. Should I continue with school; why do we have so much suffering in the world; where is my god damned naked girlfriend when I need her? The questions go on and on. This morning I awoke with an odd predicament. Why the hell do people that are uneducated in the software engineering process, who are aspiring to ultimately be a part of it, choose to hide from the processes that would allow them to not only succeed, but to better understand it?
This seemingly complex and convoluted question is really what lies at the heart of all of the negative experiences that have gone on within the mod and indy game development communities. I have yet to have my big break or find a team destined for stardom that actually attains their goals. Without fail, every project I have come to is strictly abhorrent to the ideas that allow software, or anything else for that matter, to be created. The team, en masse, chooses to shy away from process for fear that it will lead to bureaucracy and tension within the ranks.
It’s odd though. People seem to fear the formal process and ignore the fact that there is little beyond a single model or minor portion of something that can be done without some form of formality. Scrambling eggs is pretty straight forward, but can anyone decide to make their thanks giving feast the day of without recipes and preparation and thought and have it be anything more than a jumble of stressful mess? Even in the instance that they start a few days previous you can surely see that the experience will not be as good as if they open their grandmothers cook book and read up on how she recommended you baste the turkey.
Let me back off a bit, as I am sure I have offended some.
Volunteering is how a great majority of mod and indy game development is achieved. These volunteers donate their time and energy in an effort to get their name put on some project that is not always their own, but may be popular or seems fun. How can you possibly ask more of these people than their time and energy that they donate needlessly? A bit of simple reasoning can put this question to rest:
If it is the case that volunteers time and energy is a finite resource then it follows that that time should not be spent needlessly.
Volunteers time and energy is a finite resource
Their time should not be spent needlessly
If it is the case that organizing and adding formal process can increase the productivity of the volunteer in any considerable amount then it follows that this organization is a good thing.
Organization of a team has been shown to be more influential in a teams success than most any other aspect
This organization is a good thing
It is of course true that you cannot impose rules that are absurd and overbearing but you should never be against management of tasks down to the “hour” level, because any less granularity impacts your ability to forecast your deliverable date and anything more is just absurd.
Alright, let me get back up on my podium, give me a moment.
As I stated previously, developing any non trivial project requires planning, and without fail every mod project I have been recruited to work on fails on this ground. Most of the initial responses I get when prompting the team members range from “Yea, just ignore it. He’ll give us direction when we get to that bridge.” To “Yea, we do need to organize, but we are volunteers.” The latter response makes my skin crawl. The gall of some people to believe that because they are volunteers means they cannot be depended upon or hold any responsibility! How the fuck dare you, sir. I don’t give a flying fuck if you are Rembrandt or god damn DaVinci, you cannot be a member of any software development project and not be required to contribute in some way. If you were of other mind, you are either unskilled or you are still too immature to know otherwise.
Inflammatory remarks aside, I want to be clear about the intent of this piece. It has indeed been stressful to be the soul person standing against the might of an already (dis)established team. It’s frightening to run into these groups because you can’t tell from the onset whether you are wasting your time or not. Below you will find a list of buzz phrases that you can use as a sort of litmus test…
- Have you been given an orientation document, introduced to the team formally within the first week of joining the team?
- Was there any documentation about the project that was delivered to you, or is it just an ad hoc development project?
- When you are introduced to their source control, note that I said when, do they have any aside comments that strike you as odd?
- Is the coding team angry?
- Is the art team angry?
- Is there a weekly/tri monthly meeting that all members are required to come to?
- Is there an established hierarchy that you are introduced to?
- Does the phrase “buddy system” make them cringe?
- On their bug / task project tracker do they note things with enough granularity for it to mean something?
- Do the team members seem intelligent and driven?
- What is their contribution/absentee policy?
If you can get through these questions without feeling your jaw hit the floor or your eye brows fall for any reason you should probably either pack up shop or at least confirm that you truly want to be a part of this team. If they can’t pass the Joel test, alternatively, you should be at least keeping your eyes open.
Best of luck