Project Management

Published July 07, 2018 by Lawnjelly, posted by lawnjelly
Do you see issues with this article? Let us know.
Advertisement

Something I feel doesn't get discussed enough in the world of gamedev, and something that in general we (more often than not) tend to be incredibly bad at, is project management. This isn't something I'm an expert at myself, I get it wrong plenty of times, but at least I'd like to stimulate a little thought on the subject.

One of the most crucial aspects of project management is the interplay between project scope, and timescales and scheduling. It doesn't matter whether you are managing an AAA game with a multi-million dollar budget, or a one man bedroom indie game or first game, this all affects you.

 

 

Scale & Duration

The first point is that as you increase the scale of a project, the time needed to complete it will increase. You would think that there would be some kind of linear relationship between the scale and the time needed, but in practice there can be a tendency for the time needed to increase almost exponentially with scale. 

timescale2.png.f70f2683f1ab1e9494ced74a688ccf08.png

Real life observations show that it can be incredibly difficult to predict the time taken to complete a complex task. If we were, for example, asking how long it would take a man to harvest a small field of potatoes by hand, we could find out how long it took him to do 1 metre squared, multiply it by the size of the field, leave some time for breaks etc and come up with some rough estimate.

Unfortunately developing software is not like harvesting a field. Some tasks can be made more like this (artwork production for instance), but things like programming are absolutely nothing like this model. You can add more artists but if you add more programmers expecting a productivity increase expect a shock (see the mythical man month).

Dunning-Kruger

Couple this difficulty in making time estimates with something called the Dunning-Kruger effect. This is (I quote wikipedia) :

Quote

'a cognitive bias in which people of low ability have illusory superiority and mistakenly assess their cognitive ability as greater than it is'.

This article is probably a great example of Dunning-Kruger! :)

Those people who have little knowledge of a task will tend to be very bad at estimating how long that task will take to complete. Unfortunately, the people typically responsible for making time estimates are exactly those people who tend to have little knowledge of the subject area. This is often management, and / or 'yes men'.

(Sycophants / Yes men (or people, they could be transgender) are those types that follow the strategy of agreeing with everything their boss says, or providing extremely optimistic estimates. This is a very widely used strategy for promotion, constantly reassuring the superior providing short term appreciation, then when things inevitably go wrong, it is usually easy to blame an external event or third party.)

conjoined.png.b4c196e636762991b9f790dcc21f5972.png

Other types of people who often have little knowledge of a task are beginners, and those choosing to work on something they haven't done before (most of us). So essentially most of us are prone to this Dunning-Kruger effect.

With beginners this almost always shows itself in new posts to forums introducing themselves as knowing nothing about programming or artwork, but expecting to complete a game such as one requiring teams of 50+ experienced staff and years of work, in a couple of weeks. Presumably they expect there is some app for doing this, and they will just press a 'make game' button, after selecting the right parameters. It is easy to see the error in beginners, but this same thing tends to happen with all of us and we have to actively fight against the tendency.

Real World

So how long do things really take? Well, a wise man once told me, as a rule of thumb, if you are familiar with the subject area, it will on the whole take at least 3x as long as your estimation.

What does this mean?

Well if you in charge of developing a typical 18 month commercial game, you should be aiming for something you believe you can complete in 6 months. No, that's not a prototype, that's the whole thing. Once all the things have gone wrong (and they will) it will easily expand to take the full allotted time. Best case if it is finished ahead, you have extra time for testing, and polish.

If you are an indy and you want to complete a game over a 6 month schedule, you should be aiming for something you can finish in 2 months. If you are a beginner and you are aiming for something you can finish in 2 weeks, you should be aiming for something you can finish in 1-2 days. Beginners are the worst at estimating, and are usually wildly out, and typically don't have the skills to complete what they thought, so often don't even have the skills to complete their original project until months or years after.

How can you battle this effect?

The best advice I have heard to battle these problems is to aim small. This applies to everyone but 100x more to beginners. There are a billion unfinished shelved projects out there in the world. Don't be one of those people.

Choose something you *can* realistically complete, something 10x to 3x smaller than your original vision (depending on your skill level).

If you are beginner this means start by making tic-tac-toe. Make pac man, make tower defence, gradually increase your skill set so you can make better games (and better doesn't always mean bigger).

If you are learning OpenGL / DirectX by all means learn to make your own engine but be under no illusions that you will make something that others will want to use. Commercial engines now tend to be made by small armies of experienced devs, and have to work under conditions of a huge variety of hardware, with testing and all kinds of considerations you haven't even thought of.

If you are an indy and you dream of making the next amazing rpg to rival the big companies, have a think, how much artwork, how much sound, how many voiceovers, how many scripts, how many levels do you need to create? Aside from the programming, creating the assets for such games is a major undertaking. Have a look at the credits list on a game you would wish to emulate.

If you are a company, you have possible funding, be very realistic about what you can create in your allotted 18 months. Aim to be leveraging and reusing your own and others' technology because to create everything from scratch everytime is just not possible. Aim for that 6 month timescale, and get estimates from all the tech people especially not just from 'yes men', and use them all to make a balanced decision on what you think is realistic.

cliff.png.a6c3b229cccb56d82bed4d4af7cc0a10.png

Cancel Save
6 Likes 8 Comments

Comments

retrometron

I couldn’t agree more! Thanks for the article.

August 26, 2018 10:47 PM
Dzuvan

Great article!

I myself struggle with estimates, so the thing I do is multiply by 3 my estimate time. Works most of the time. XD

September 03, 2018 04:39 PM
LahiruL

I would like to add bit more to your valuable content. Most important thing to understand in project management is the phases of project management lifecycle.

Project life cycle is the process that project managers follow through when completing a project. It includes a sequence of phases that a project goes through from its initiation to closure.

Project life cycle includes five stages. Those are.

  • Project Initiation - - Lay the foundation for the next few stages of project management. This is where you will define the project at a broad level.
  • Project Planning - work out a strategy for performing the project steps or in other words determine what exactly needs to be done to achieve the goals you have defined earlier.
  • Project Execution - You implement what you have planned. The job of the project manager here is to keep an eye out for errors and supervise the team while making sure that everyone sticks to the original plan.
  • Project Monitoring - This phase requires the project manager to monitor the project performance and communicating the status to stakeholders.
  • Project Closure- This phase marks the closure of the project when the final outcome is delivered. You can leverage the lesson learnt to optimize the project processes and team efforts during future projects.

August 30, 2021 04:01 PM
rubensolis

Such a well-written article, it's a pleasure to read it, thanks for all the explanation, I needed something as well summarized and detailed, I loved it, it's a pleasure to even read it

April 04, 2023 04:15 PM
john955

.

April 04, 2023 10:08 PM
john955

The article really helps alot because when it comes to programming you need to be an expert to be able to create a meaningful game or anything out of it, https://fieldcomplete.com you can check this out I'm sure it will help you more

April 05, 2023 10:46 AM
Anastasiia

I really liked your comment about the Dunning-Kruger effect. Each of us can be affected in one way or another. We do not always have enough competence in some matters and therefore do not manage to get the best result. But only those who do nothing do not make mistakes, do they?

April 05, 2023 03:30 PM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!

Featured Tutorial

Project scope and timescales

Advertisement

Other Tutorials by lawnjelly

Advertisement