
Why Crunch Mode Doesn't Work - kamaal
http://www.igda.org/why-crunch-modes-doesnt-work-six-lessons
======
btilly
It should be noted that what is needed for assembly line productivity is
different than what is needed for complex cognitive tasks. The more demanding
the cognitive task, the more important sleep and relaxation are. That is why
in Steve McConnell's classic _Rapid Development_ he advocates a 35 hour week.

And the real limit for a lot of people may be less. For instance read
[http://www.kalzumeus.com/2012/05/18/kalzumeus-podcast-
ep-2-w...](http://www.kalzumeus.com/2012/05/18/kalzumeus-podcast-ep-2-with-
amy-hoy-pricing-products-and-passion/) to find out that patio11 thinks that he
can only be productive 2-4 hours per day. This is a man who started a business
on the side while working the insane hours of a Japanese salaryman. It isn't
that he can't put in the hours, it is what he can do and be productive.

Greatly complicating all of this is are two simple facts. The first is that we
can push ourselves and be productive for a short period, so over a couple of
weeks we really can work insane hours and be productive. The second is that we
have coping mechanisms to hide our own inability from us - so as our ability
to function disappears down the drain, it is very hard for us to judge how
impaired we are.

To that end, there was an interesting piece of research that I read about many
years ago. The military was conducting research on sleep deprivation. One of
their findings was that soldiers can be trained to operate on 6 hours of
sleep, and will self-report that that they are functioning well and getting
more done than they could if they slept longer. However the wives of those
soldiers disagreed. And when ability to perform was judged on standard ability
tests, the wives were right.

If you, personally, work long hours and consistently get little sleep, there
is some food for thought. Could you be getting more done if you took care of
yourself and put in more reasonable hours?

~~~
kamaal
>>It should be noted that what is needed for assembly line productivity is
different than what is needed for complex cognitive tasks.

Not actually. Assembly line work might be less intellectually appealing to us,
but for a lot of people it is a complex cognitive task. If you were to talk to
a every day assembly worker of an iPhone, he would find assembling complex
circuitry pretty intellectually challenging.

Things become less intellectually challenging as your brain gets _seasoned_ to
it. Even coding for that matter these days has become pretty less
intellectually challenging. Growth of modern day IDE's have rendered many
programmers into kind of code assembly workers, autocomplete/intellisense does
most of thinking these days.

>> The more demanding the cognitive task, the more important sleep and
relaxation are.

My dad is a cab driver and he used to drive trucks before. I can tell you this
is not true. You can easily argue driving is a repetitive task once learned.
But you have no clue how tiring it becomes. In general a hobby is enjoyable,
but any thing taken up full time as a profession is tiring.

In the book Flow by Mihály Csíkszentmihályi, he explains how once you get into
Flow enough number of times, any job becomes boring and you have to keep
moving higher up the ladder of difficult tasks to experience Flow again.

So its not that we programmers do jobs which are the center of the universe.
What is true for others is generally true for us too.

~~~
btilly
Are you saying that the assembly line work that Ford studied was a complex
cognitive task? Not according to the people who did it - in fact a major
reason cited for quitting was that the work was so boring!

Luckily that type of work has been pretty much replaced by robots today.

Assembly line work is exhausting - very exhausting. However you can continue
to do it while your brain is shot. This contrasts with programming where you
simply usefully can't work on many problems unless you're in good enough shape
to keep the necessary state in your head.

And an incidental note about your dad. Driving involves a lot of complex
visual recognition and situational awareness of a constantly changing
environment. We do not think of this as a complex cognitive task because we're
wired to do it without even being aware of doing so. But when you look on a
brain scan, _huge_ parts of your brain light up and are working. This is real
mental effort being made, and it is no surprise that you get tired after
constantly doing it for long enough.

~~~
kamaal
All I am saying is- the definition of a 'complex cognitive task' is highly
subjective. And it depends on many other things.

To give you an example. Try writing code in Java these days. With Eclipse very
soon(And trust me you will feel this in days) you will realize that you are
hardly doing anything that is intellectually heavy lifting. Unless of course
you are doing something that is totally new to your area of work. In that case
its totally different. Which is the same case with assembly workers too(A
totally new product unknown to you will be difficult to assemble).

But imagine doing applications which have nothing more than a DB interaction
layer and some business logic. You can do this sort of a job for first 6
months of your programming career, and then you can have your muscle memory
built to work with nearly auto completion method out there. Soon you will see
that you will be doing nothing other than assembling already well known blocks
of code without putting any sort of hard intellectual effort.

Rinse-Repeat this with a few domains/programming languages/architectures. Very
soon you will find that you are doing nothing more assembling reusable blocks
of logical pieces.

The only difference between hard labor and something like programming is the
physical tiredness. This I completely agree with you that physical labor is
more demanding to your body.

But other wise there is no reason for us to believe that the nature of our
work is any different than anybody else.

~~~
dasil003
I'd be curious to know where you've worked to form such an opinion. Sure
programming CRUD apps gets repetitive and boring, but if you are literally
needing to spend no mental energy on what you are doing, then you should move
up the abstraction layer and write a script to do your job. If you're not
using your full intelligence and capability as a programmer then you are doing
it wrong (braindead body shop policies notwithstanding). This is not unique to
programming by any means, but it's definitely not the same as assembly line
work or taxi driving or line cook or any other rote job.

------
nostrademons
The experiments cited in this paper are largely from the manufacturing age,
where workers were doing largely mindless work on an assembly line. I'd
imagine that for today's highly-trained, heavily knowledge-oriented creative
class, the optimum workweek is roughly 25-30 hours. That seems to square with
the amount of actual productive coding time I got when working on my startup,
with the data RescueTime got on actual coding time for their YC class, and
with conversations I've had with friends in Ph.D programs.

It's probably possible to squeeze another couple hours of mindless work in
there (eg. checking e-mail, triaging bugs, meetings) to round out an 8-hour
day. But if you're interested in getting the maximum _coding_ output on hard,
creative programming problems, 40 hours is way too much.

~~~
kamaal
>>The experiments cited in this paper are largely from the manufacturing age,
where workers were doing largely mindless work on an assembly line.

What do you think herds of corporate Java/C# programmers do with their auto
complete/intellisense laden IDE's? That is nothing short of coding equivalent
of assembly line work.

>> I'd imagine that for today's highly-trained, heavily knowledge-oriented
creative class, the optimum workweek is roughly 25-30 hours.

People who fit into that description probably account for a very miniscule
minority in the programming world today.

~~~
btilly
_What do you think herds of corporate Java/C# programmers do with their auto
complete/intellisense laden IDE's? That is nothing short of coding equivalent
of assembly line work._

Do you actually know what assembly line work is?

You have power screw driver, an endless line of doors coming towards you, and
an endless supply of screws also coming towards you. Pick up screw, place in
hole, push on it with your screw driver. Repeat. There is no variation, only
endless repetition.

It is a little known fact that the assembly line was originally inspired by a
_disassembly_ line. Specifically disassembling dead animals from whole bodies
to specific cuts of meat in a meatpacker's plant. The body is coming towards
you, whack off the leg, toss in that basket over there. Repeat.

The fact that different popups have different associated messages makes even
the most routine coding infinitely more varied than an assembly line.

Try this. Spend an hour typing out:

The quick brown fox jumps over the lazy dog. The quick brown fox jumps over
the lazy dog. The quick brown fox jumps over the lazy dog. ...

That will give you a taste of how boring an assembly line is. (But not really,
the task you're being asked to do there is more complex than the repetitive
task than what an assembly line worker in Ford's day would be asked to do.
Unless, of course, you cut and paste instead of typing.)

~~~
kamaal
>>Do you actually know what assembly line work is?

I know what assembly line work is, I did it once during my engineering college
days for a start up. And yes I did it for a small company so we would
generally _test_ what we assembled.

>>That will give you a taste of how boring an assembly line is.

Trust me auto generating get/set methods, try/catch blocks, javadocs, mass
refactoring, import/package statements, Generating design pattern templates
and getting used often used Framework functions(And all this getting
autocompleted) sounds very similar to writing 'The quick brown fox jumps over
the lazy dog' many times.

This is true if somebody asks you to check if you are writing 'The quick brown
fox jumps over the lazy dog.' correctly every time.

------
pg
I wonder if one thing that distinguishes successful startup founders is that
they are immune to some force that limits the amount of productive work that
other people can do.

Of course everyone has a point where working another hour is not a good deal.
But if that varies from person to person as much as other things do, it would
be very convenient for a startup founder to be a couple standard deviations
above the mean.

~~~
chubot
That was what I observed when working at EA (I was actually part of the EA
Spouse settlement so this kind of comes home).

Probably 10-20% of the people on the dev team just loved it. They couldn't get
enough. That includes engineers and artists. They could work from 9am to 11pm
for months.

But then management expects 100% of people to be like that. And there's peer
pressure not to let down your coworkers. But in reality some people just have
more stamina, and can get more done with the incremental hour, while for
others it was just clocking time and being a zombie.

I definitely couldn't get much more done in all those late nights, although it
in part it has to do with the fact that there was some sort of "schedule". If
you know that you can take a day or 2 off whenever you want, you're likely to
have more stamina for a 16 hour bender.

Anyway, there is so much human variation in other things; it doesn't surprise
me at all that it's true for how many hours you can productively work in a
day. I would bet startup founders need that stamina, although I'm sure there
are many more components to success.

~~~
critium
I think the main difference is engagement vs grinding. Take gaming for
example. How many hours can you sink into that? My personal experience was
that I could go pretty hard at it with very little sleep (I know, i know) and
still be quite effective. I get the same way when im hacking away at something
i love. Right now, im trying to put together a JS debugger for vim. Its 3am
here and I can just keep on going.

Now, the same cant be said about writing TPS reports.

~~~
keithpeter
You have the _choice_ to carry on working on your debugger or to knock off and
have some sleep or downtime. I am assuming from your choice of words that this
is a _personal project_.

Now, imagine the same hours on _someone else's tasks_ and according to an
inflexible schedule. Would it be the same? I think not. I imagine that is what
you meant by 'grinding'.

~~~
critium
Point well taken. Even a project you're totally stimulated by, committed to,
and engaged in on multiple levels can become a grind if it enters the get-it-
done-or-else phase.

------
critium
In my manager past, the times i've asked for crunch mode are few and far in
between, and I always put a carrot at the end, depending on the severity of
the crunch. Anywhere from a nice lunch at a fancy restaurant, to a few days
off. I've even dangled a team building movie matinee. I've never found cash to
be a real big motivator.

My 2 simple rules for crunch mode:

1\. Manager better be there. Me personally, i would dive in and actually start
doing code reviews. But even if I had absolutely nothing to add, I had to be
there to show support. Even for window dressing. You call for crunch mode, you
better be present. Even if its just to buy lunch or starbucks for the devs.

2\. Coding is like breathing. Crunch mode inhale must be followed by re-
tooling, decompressing exhale. You can only inhale so much.

~~~
hythloday
I'm pretty sure you've never managed me, so don't take this as a personal
attack, but nothing makes me more disgruntled than the management announcing
that a month of overtime (estimated market cost to me: more than £1500) will
be followed by a nice lunch at a fancy restaurant (estimated market cost to
the company: less than £50). The two are not remotely comparable, and to think
of it as a carrot (or worse, a quid pro quo) when in fact it's much closer to
a thank-you for a favour is infuriating.

Your two rules are...minimally adequate, I guess. They're certainly nothing to
pat yourself on the back about.

~~~
critium
If the cash carrot works for you, then great. On the converse side, one of the
main things i look for when building teams, above developer skill is craft and
commitment. I try to say away from gunslingers as much as possible.

Which is why I can get away with my minimally adequate rules as you've put it.
I certainly dont pat myself in the back about my rules. Its all about sharing
the pain. I also forgot my 3rd rule. Only developers set deadlines so I can
ask them to commit to it. If we have a date to hit, then we work on scope.

~~~
hythloday
No, you misunderstand (though I didn't phrase what I meant very clearly). I'm
not particularly interested in additional money above my salary, I'd prefer
free time. My point is that if you _are_ going to look at things in the light
of P&L (and, as a manager, your superiors _definitely will be_ ), offering a
"carrot" (which is a loathsome metaphor - developers are not donkeys) of less
than 3% of the gain to the company is just insulting.

~~~
critium
I think we're in some sort of agreement here. As I touched on my original
comment, depending on the severity of the crunch, I will ask for (yes I was in
middle management, blech) and offer days off. I agree that a lunch, no matter
how nice it is, is no replacement for a 3 month death march. What you're
latching onto are what I use for minor, not more than a few days things.

Though its usually a nightmare for me to work this out with HR, days off to me
can mean actual vacation time which to me, is more precious than cash. It can
also mean time doing cool stuff, or as the late Steven Covey would put it,
time to spend "sharpening the axe" like making a presentation on the latest
version of FizzBangWow product/language/framework, trips to conferences. I've
even had devs prefer to work on clearing out technical debt. That's craft.

------
kamaal
Productivity has various shades and maximizing productivity of a corporate
slave is difficult.

What I have observed is people sprint only under to two situations- first when
a lion is behind them or when they are chasing a gold treasure. Expecting
people to sprint all the time doing work as normal without any gains or losses
doesn't get winners in any situations.

In my experience my work day is generally divided into three sets of tasks.
Periods which I spend firefighting, providing support to some urgent issue,
providing information, routine chores, fixing bugs, adding features. The most
productive periods of my work involve doing new stuff. The most unproductive
and boring stuff involves manual testing, writing test cases and
documentation.

So if you see it- money, fear of getting fired and interesting work form the
biggest motivating factors in my daily productivity efforts. I never
understood CEO/VP/Manager BS talk of expecting people to remain ridiculously
productive regardless of rewards and quality of work. Especially when they
themselves don't follow that advice. No manager/CEO/VP I've every met wants to
work in a non growth area of work. They never want to touch anything that is
not rewarding to their very own careers. Yet they expect their reports to the
very thing they would never do.

Other wise personal productivity wise, my day breaks up into three parts
8:00-12:00, 13:00-17:00, 20:00-00:00. I skip the last part sometimes. Another
thing that I've learned about productivity is to know how to tackle inevitable
distraction. How not to get overwhelmed by tasks at hand, How to use GTD
efficiently and learn to work from one session to another.

------
Paul_S
It's been proven repeatedly during the last 100 years that overtime doesn't
work. Yet it falls on deaf ears in my industry. I've worked for 10 years in
games development. Every single company had unpaid mandatory overtime. It's
depressing.

Here's a solution. Pay your employees for overtime - suddenly you'll find a
way to not do it. But it's too late, because it's now accepted (and expected).
Even though it's _counter productive_.

------
drewinglis
When you work more than 40 hours per week, you're borrowing time from your
future self. However, the interest rates are very high, and so usually it
doesn't make sense to borrow this time.

~~~
trustfundbaby
This is so so true ... I've been doing 4.5-5.5 hour nights (sleep) for _years_
and very recently have started to see the effects in aging ... greying and
balding at a much earlier age than I anticipated (for example). I've made my
peace with it now, but I can't help but wonder how much I would have cheated
aging if I had been sleeping 7/8 hours a night instead.

More scary is how much of the detrimental effect of lack of sleep I am yet to
encounter.

~~~
rwallace
You have started sleeping 8 hours a night now, right?

------
krosaen
One thing I've observed while working at a tech company and then in trying to
start my own is that "crunch mode" can be a protective mechanism to carve out
some uninterrupted time. So it's not that working a 12 hour day coding is more
productive than working an 8 hour day coding, it's that the first 8 hours are
taken up with non coding tasks like meetings, project planning, marketing,
responding to emails, intros, etc and the only way to get _any_ coding done is
to stay late when no one else is expecting you to be around or on email.

If you find yourself working 12+ hour days ask yourself, how many hours a day
do you really have your full well rested mind at your disposal during an
uninterrupted period of time? If it's 4 or less, chances are you aren't
getting any more important work done, and you are quite possibly getting less
done because the hours you have to spend on the creative tasks are not with a
fully rested brain.

------
undantag
This will be my takeaway tl;dr: "Crunch does not make the product ship sooner
— it makes the product ready later. Crunch does not make the product better —
it makes the product worse."

Far too many people in management don't get, or just choose to ignore, that.

I think I've already left a comment on a similar thread about leading a team
through crunch with one of the devs still doing 6 hour days. Some more time
has passed and I have to say even when the rest of the team are doing 8 hour
days it still feels like there's a difference in focus, intuition and problem-
solving.

Of course all that is highly subjective, but it made me think about how to
measure the.. craftsmanship? Anyway, intuitively it feels like having a few
more hours away from the office would give us some more time to subconciously
process the problems and tasks at hand, and when we come back to work we're
better prepared for it.

It can't be impossible to conduct some kind of test on this, can it?

------
xianshou
Useful output depends highly upon the nature of the work and how well-rested
you are. I find myself capable of at most 4 hours of high-intensity
programming per day, but easily capable of 10 hours of routine work. However,
if I don't get at least 7 hours of sleep per night, I'm useless for most
everything.

Commenting on the statistics themselves, though, I would very much like to see
the data on working time disambiguated from the data on sleep. Perhaps the
negative correlation between working hours and productivity stems from their
mutual relation to sleep: it is not only possible, but probable that sleep
declines about linearly with hours worked. I would argue that the difference
in sleep is likely to make a far larger difference for the majority than the
difference in the length of the workweek.

------
carsongross
It's interesting that, after all the productivity gains in the last century,
we are still worried about maximizing output, all while putting two adults to
work in each household.

~~~
Joeri
The productivity gains have happened _because_ people were obsessed with
increasing output. What's even more interesting is that we've had to adopt a
consumer culture to keep the economy rolling in the face of an excess of
supply. Marketing is an entire field of pseudoscience devoted to increasing
demand to meet an artifically inflated supply.

Even the web is funded largely by advertising, marketing. Could it exist if we
in the west had a classical eastern philosophy of not desiring more than we
needed? Given that china invented practically everything, but got "nowhere"
doing it until they adopted consumer culture, i suspect that the web wouldn't
have happened.

~~~
eli_gottlieb
Admittedly, China didn't "go nowhere". Late Medieval China had living
conditions better than any the pre-industrial and industrial West managed,
while working less than the post-industrial West does today. Only the onset of
social democracy and post-industrialization drove living standards up to what
the Chinese enjoyed for ages.

Admittedly, they mostly managed this because large portions of their land area
could naturally support plenty of people without too much work put into
agriculture.

------
BadassFractal
It's depressing that this still has to be discussed. Folks, if you're
marketable, please don't reward companies with your employment if they
continuously death march you.

Never seen a single hour of that extra time either paid back or returned to
you? Time to go. However it will require everybody to do their part to defeat
the system.

~~~
Paul_S
Seeing as the average age in my industry is probably 25 I'd say it's not going
to happen. The young ones are quite happy to be abused (and take some perverse
enjoyment out of it).

People change companies frequently, but all the companies my friends work at
now have the same set of issues. Then there are friends who quit the industry
and got proper jobs. They just laugh at the whole thing. Granted they have a
different kind of bullshit to deal with (bureaucracy in code, formal
development) but the working conditions and remuneration just don't compare to
gamedev so none of them returned and they think it was a good trade.

------
electrograv
For me the magic factor to maximize productivity is sleep.

I have worked consistent 70 hour weeks, where most of those hours are in
sprint high-productivity coding mode, AND without getting burnt out or tired.
The secret is simple: I was getting 9-10 hours of solid sleep every night.

Sadly it's far too easy to stay up late at night browsing the web, losing
sleep for no good reason in particular.

------
fchollet
Before arbitrarily drawing conclusions about software development, it would be
necessary to actually run proper studies in this industry. It is simply not
_rational_ , or scientific, to apply the results of manufacturing-related
studies to software development, when the nature of the work and the cognitive
bottlenecks are completely different.

Based on anecdotal evidence, I would postulate that the average optimal
workweek length for intellectual (and part-creative) work is significantly
shorter than 40 hours (30 hours?), and probably varies wildly among
individuals (while the optimal manufacturing workweek length is very stable
over different individuals).

------
critium
Can I ask everybody here, why is it so prevalent in the Software industry?
What other industry accepts crunch mode? I can think of only 2 (military,
banking/finance) I mean, do the developers actually like it? Wannabe heroes?

~~~
parfe
The staff at retail outlets don't work regular hours between Thanksgiving and
Christmas, or your town's road department employees after a snowstorm, or the
utility company crews following a hurricane. "Crunch time" as a programmer is
kind of a joke. You sit in a chair some extra hours, mumble complaints about
bad project management. and pat yourself on the back for your sacrifice.

Forums for tech self-select for ego stroking keyboard-warrior crunch time
stories. Why would you see other industries complaining about crunch time
bere?

I watched a facilities rep tell Big Payroll Vendor consultants that the 80
hour/week restriction had to be removed because crews work 100+ hour weeks to
clean up the campus after storms. The consultants literally laughed in this
guy's face and joked about how it would suck if someone actually had to work
more than 80 hours in a week. Took a long awkward silence before they realized
they had embarrassed themselves.

------
woah
Thanks for this. Noticed the same phenomenon during my art school days. A lot
of students would consistently "brag" about pulling all nighters. Was their
work better? No. It may work at the end of a project when you need to get some
stuff wrapped up and have the adrenaline to keep you focused, but regularly?
No. This is especially true in programming and especially design, where making
the right decision is all that matters.

------
lottoro
More data! We need data about average working hours and success of teams /
companies in the tech industry.

~~~
Paul_S
Comparing data across companies is difficult - how do you control for other
factors?

------
eli_gottlieb
And yet I see job ads for software developers listing 40-hour workweeks
_alongside the sweet perks_ like equity or company lunches.

Firms really just don't get that the productivity studies were all done
decades ago, and mostly came to one conclusion: 8 hours/day, 5 days/week.

------
daemon13
In addition to [or may be instead of] this long article, one might look at the
real examples of people, who achieved exceptional results whilst working less
than 8 hours per day.

One such example is Roberto Goizueta, whose work habits at the helm of Coke
were vividly described in this book - Greising, David (1989). I'd Like the
World to Buy a Coke: The Life and Leadership of Roberto Goizueta.

~~~
RyanMcGreal
Selected anecdotes are no replacement for empirical data.

~~~
daemon13
I wonder how the researched biography stands for selected anecdote.

Roberto Goizueta was leaving his work at 3-4 p.m. daily. He almost never
stayed till 5-6 p.m. or even overtime.

He managed to achieve this feat by focusing on three things:

1\. capital allocations decisions;

2\. people management (he personally made any/all personnel decisions for top
100 people);

3\. managing Wall Street/analysts.

Compare this with current breed of CEOs/COOs/etc.

