So this might be an unusual post for a site that I predominantly intended to be a collection of tech-articles, but over the recent years I’ve both been observing and noticing in conversations that while there’s plenty of technical material online about how to learn to program, do graphics, engineer music, and so on, much of the writing about how to get projects done seem to veer over into either “life hacks” about how you should do stretches and open your window for fresh air, or escalate into the territory of motivational speeches and emotional, heart-to-heart peptalks; now, while I understand and appreciate their usefulness in certain scenarios, they seem to cultivate a misunderstanding that all you need to get a project done is a positive attitude and ab-crunches.
After having been in an industry for 10 years that has a relatively high throughput, and having had many relatively recent conversations with people who were in awe or disbelief about my ability to handle large projects, I was reinforced in my belief that most people are unaware how much of getting a large amount of work done is down to cold science, scheduling, professional planning, and the ability to retain control of a project even when unexpected events happen.
With that in mind I’d like to present a few random bits and bobs about what I learned about project management – not necessarily only in programming, but in any sort of creative activity – while hoping to keep the popular psychology element in them to the mininum.
A quick note before we dive right in: I’ll be talking entirely about sparetime activity that you want to invest time in. While it can be useful to apply professional techniques to your sparetime activity, you should definitely not treat the two as they’re one of the same. That’s a good way to hate what you used to like. (Trust me.)
Who’s producin’?
Before we start talking about actual work, it is important to introduce ourselves to an important term, namely production. Most people think “production” is the act of making something, and the “producer” is someone who makes things, while I would wager a large portion of the populace can’t tell you what a “film producer” does aside from “making films”; on a day-to-day basis, that role seems to be an opaque cloud to most people, even if it’s one of the most important.
The short version is that the producer’s job is to make sure that the project is finished on time, and on budget. The slightly longer version is that the producer takes the amount of time available, the amount of resources available (budget, people, inventory, etc.), consults the respective heads of departments actually doing the work, and then comes up with the plan and schedule as to what happens when, when something finishes, who works on what, and what resources will it take; once production starts, they transition their role into making sure everything goes to plan and if something doesn’t, what are the options to salvage things.
There is a reason why in most professional environments, there are entire departments for this: it is a tough job, often frustrating, sometimes disheartening, but at the same time a producer is always aware of the state of the project and can have a good idea of progress being done, and whether the whole thing will come together in the end. This will become extremely important later.
Weeks of coding can save you hours of thinking
Projects are usually broken up to three important segments: Pre-production, production, and post-production. These tend to vary from industry to industry as to what they mean, but pre-production generally consists of building a production plan out of the resources and time available. Pre-production is one of the most important parts of a project, because it will define how the rest of the project will be committed, and thus it’s important that we first delve into the ins-and-outs of planning.
First thing first, decide if you have a deadline for your project. Deadlines are cruel, they’re unforgiving, but that’s why they work miracles on productivity; projects without deadlines don’t put pressure on the authors and eventually they just get dropped down the chute of “maybe later”. Pick a hard deadline, or pick a reason to have a hard deadline. (Sidenote: demoparties work wonders as deadlines.)
Secondly, once you picked a deadline, assess your project’s needs: Assuming your project is in some way technically complex, what are the things that you don’t have and need to create or acquire for this? If you’re doing music, is there plugins or samples you need, or instruments to acquire, or musicians to talk to? If you’re painting, do you have the paints and brushes, or is your tablet broken and need to get it fixed? If you’re making a demo, do you have an engine, can it do what’s needed? Think about every single thing you need.
Once that list is done, break down your project into elements, in detail – this is the most crucial part of production. If it’s a song, roughly jot out the parts on paper and maybe the list of instruments you want in there. If it’s a large 3D scene, write down the elements you want in it in detail. If it’s a novel, jot out the chapter titles. If it’s a demo, chart out the parts with rough ideas on how long each is and what’s in it. If it’s a game, map out all the mechanics, characters, levels, cutscenes, and so on. Br