#80: “A Study of Estimation Accuracy and Kindness”
Published in 2017/03/23 issue
FFXIV is an MMORPG, so we have to maintain it as a service in addition to the initial development. We release an expansion pack once every two years (as of now) and we aim to release a major patch once every 3.5 months, so we have to be very conscious of the schedule. It wouldn’t be an exaggeration to say that the development team, management team, and I live our lives constantly being chased by schedules. Indeed, not an exaggeration in the slightest.
“Staying on schedule” is the end goal, so specific dates and time periods aren’t that important. What matters more are things like how we should handle the development leading up to the release date, what pace we should progress at, or how we should manage our progress. However, those are extremely difficult.
In order to maintain a fixed pace throughout the schedule, we need to make estimates for the work to be done. In fact, we need each person to consider the following for their tasks:
To complete this task…
- How much time is required?
- What kind of materials or technology are required?
- Who do you need to work with?
- Will the task be affected by the progress of other people’s tasks?
Otherwise, we can’t manage the entire project as a whole and the schedule might as well not exist. Only saying that “it’ll probably be done in around this amount of time” doesn’t help; nor can I trust it because I don’t know what the basis is for that claim.
When we were developing ARR, I had each member of the development team state the fastest they could complete a task (min. time required) and the longest that a task could take (max. time required). Based on the averages, I made two estimates: a minimum, “If everything is going swimmingly, we can finish it this quickly!” time and a maximum, “If it takes longer than this, we’ll want to die from the shame” time. This was the safest way to do it, because even if everyone ended up taking the maximum amount of time, it was calculated such that we would still finish within the designated time period.
Most estimates land in the middle of the min and max zone, so it’s a fairly accurate management approach. Plus, as the tasks got completed, I could observe people’s individual tendencies and factor them into the predictions.
“Oh, this person’s min is too optimistic. They always take closer to the max amount of time to finish.” “This person always plays it safe, so their max time is too cautious and it always ends up being almost the min time.” And so on… As I accumulated results based on the two estimates, the estimation accuracy got higher and higher.
This is a task management system, so just by implementing it, you’ll see results to some extent. But at the same time, you’ll become keenly aware of a large pitfall. There’s no way to measure #4 on the list: how much your task is affected by the progress of other people’s tasks. This leads to cascading delays.
Let’s use my relationship with the Famitsu editor in charge of my column, Opone-san, as an example. My estimation for the time required to write a column is 1 hour min, 4 hours max. As a matter of fact, no matter how hard it is to think of something to write, I can always finish within 4 hours. Even so, if I have to get on a plane or something, or if I’m playing FFXIV too late on a Sunday night, I don’t start writing early enough.
If I stay up too late playing on Sunday and leave it until the next day, there’s obviously a stack of meetings waiting for me at the office on Monday, so I won’t be able to sit at my desk writing a column. The work itself should only take 2 hours on average, but since I never get around to starting it, the completion time gets pushed farther and farther away. If I finish writing it at 11:30 p.m., even though it’s still Monday, most people have left the office already, so Square Enix can’t do the internal review. All operations are on hold while everyone is sleeping, so Opone-san doesn’t receive the manuscript until Tuesday morning.
Of course, Opone-san also has to work on the column in the form of composing a magazine page with the manuscript. Even if he estimates the time required as 1 hour min, 2 hours max, if all of the pages have to be proofread by noon on Tuesday, he has to work at an incredible speed. And if he had other work planned, then he has to put it on hold while he prioritizes the manuscript work. The other staff who were waiting on Opone-san’s work get held up by my late submission, and they have to balance it out somewhere down the line.
The more you try to micromanage tasks, the more you’ll be impeded by others’ progress affecting yours. In the end, the only way out is for everyone to consistently make conscious efforts to start their work early and complete it within the announced time.
Working urgently on everything you do isn’t the most important aspect of this (although it does matter). I think what’s most important is to recognize that being too optimistic with your estimates takes away other people’s precious time. Giving an early completion time is a big mistake, too. If the project is planned using that as a baseline, then the estimates will be too optimistic and delays will crop up one after the other. In the end, you’ve robbed others of their time.
So, when you’re making estimates, don’t think only of the time spent working. Honestly consider your slacking, procrastination, and crunch habits and make sure you give yourself some leeway. Then you’ll realize that your work takes longer to complete than you think it does, and start earlier to make up for it.
There are a lot of people who are unable to do this. The kind of people who go, “Oh, that won’t take much time at all.” Sure, it’ll get done if they work on it—the problem is that they never start. What’s worse is that if they get saddled with many of these little tasks, it sucks up a terrifying amount of time from their colleagues. They’ll think, “These are all small tasks, so I’ll blow through all of them tomorrow.” If they’re short tasks, then do them right now! If you process everything at the same time tomorrow, then all of the schedules will get thrown off and even more people will lose time.
If you’re reading this and thinking, “Oh crap, that’s me!”, please recognize your bad behaviour. Increasing the accuracy of your estimates and fulfilling them is synonymous with showing kindness to your colleagues. I, too, am fervently reflecting on myself while writing this column.
It is currently 10:20 p.m. On Monday, even. I will refrain from playing FFXIV late into the night on Sundays from now on! In other words, this is an incredibly roundabout written apology. (Please forgive me, Opone-san…)
(From Kikuchi: Oh crap, that’s me!)