Avatar

no-crunch development (Destiny)

by Kahzgul, Monday, August 07, 2017, 12:53 (2752 days ago) @ Yapok

After your first game, you know how long it takes to make a game. Your experienced coders can say how many man hours of work you're looking at.


As a coder, i want to point out that this is frequently not the case. In fact estimating time it takes is one of the harder things many coders do. Particularly with new systems. Yes we can give a good guess, but usually im off. You can even see that same issue with the original destiny game engine and the problems they had bringing it online. You cant account for critical bugs, architecture design that didnt pan out or you hit a wall with.

I'm not really talking about the unexpected, though I do, personally, include buffer time in my own work estimates in case I run into something I didn't predict. You probably know about how many lines of code you write in a day, and about how much that code adds to the featureset of whatever you're working on. You probably also have a sense of how big the sorts of features you code are, on average, project to project, and whether or not the current project is a bigger project or smaller project than your average one. As such, I'd guess you could give a fair estimate of how long any particular task would take you, barring the unexpected. Then you can just add 50% time for the unexpected, or schedule all of your bug hunting for later rather than as you go, etc etc...

But even if you can't, that's not your job, actually. It's your manager's job, and they really should be able to schedule enough people to deal with the task at hand, and without forcing overtime upon you. There's always a degree of uncertainty, but you schedule that in as well. Give higher estimates and when you finish early, everyone is impressed. Give lower estimates and finish late, and everyone is disappointed. Plus when you finish early, that gives you extra time to polish the hell out of whatever you're working on, or optimize it, or just take a day off and get your head ready for the next task.

I understand that the unexpected comes up, but if your managers plan appropriately, that shouldn't derail the whole process or force you into a never-ending spiral of crunch time. If it does, your managers are failing you.


The rest of your points are thought provoking though. Just wanted to point out that as a coder, correct time estimation is difficult with new systems.

Ahh, NEW systems. Yes. The "No one has ever done this before" is a real issue and you can't schedule that. Very, very true. Also very rare. And you're still not operating in a vacuum. Say you're designing a new graphics engine. Someone, somewhere, has designed a new graphics engine before. And you can find out about how long that took. Estimate higher if you've never personally done it before, obviously. It's totally fine to say "This will take at least 2 months, and as long as 6, because I don't really have any idea how complicated it will be." Your manager should be able to say "let me call someone who knows" (and then do that), and should also be able to tell you when critical systems need to be up and running ("well, art starts in 4 months, and will need another 2 weeks to get initial character sketches nailed, so I would love to at least have a limbo area up and running by 5 months from now so they can start playing with their models, is that doable?") etc etc..

I can't speak to your personal situation, but if I were your manager that's how I'd approach it. There are precious few things in this world that no one has ever done before and that are truly impossible to estimate.


Complete thread:

 RSS Feed of thread