7 ms·
Killing the Crunch Mode Antipattern (2014)
- oacgnol 11y agoI've been through a few 'crunch modes' before and while there was a general feeling of "wow, we accomplished that" afterwards. Looking back, however, I now realize how profound of a hangover it produced in me and some of my teammates, and the hard truth is that it permanently takes a toll (e.g. sluggishness, lost trust, reduced motivation) that you may never get back wherever you are, at least in my experience. The fallout, it seems, truly underscores the 'nuclear option' moniker.
- boatsworth 11y agoIt is an amazing feeling to ship a product when it should have been a failure. It is unfortunate that I worked alone and didn't have a team to share the experience with. I felt I conquered something insurmountable, yet no one saw my commitment to the company, the creativity and hard work that went into it. Management never grasped how poorly things were handled on their end. I grew to resent the company and its leaders, and had no choice but to move on.
- siliconc0w 11y agoThe way to defeat crunch mode is data. If your velocity is 10 and you have 120 points left you probably aren't launching in 2 months. Engineers seem to shy away from metrics to describe their work because it's hard to quantify but it tends to work against them because they get trapped into unrealistic and non-data driven deadlines. Either the date has data backing it up or it's an arbitrary number.
- boatsworth 11y agoThis is exactly it. In my first software job, I found it very difficult to communicate the status of a project because we had no project management. I naively thought I was only a few brilliant coding sessions away from getting on top of things, but that slipped into a few more months of crunch mode. Also, learning to say "no" is vital to preventing crunch mode. Wanting to please my superiors, I would typically say "yes, I'll do my best" or "maybe" when things were dire but never "no, that's not possible".
- enraged_camel 11y agoI'm not convinced data would defeat crunch mode. In your example, if a pointy-haired boss or incompetent project manager saw that the group's velocity is 10 and there's 120 points left, they would simply declare that the velocity must increase to 20 and demand everyone work extra to make it happen. Because, you see, they have already promised their boss and the client that the project will be ready in one month. Data simply empowers them to push the team into crunch mode.
- Zigurd 11y agoVelocity only works if your project is large enough to have stable measures of velocity, but, really, it takes multiple project executions in a stable environment to get it right. That's not to say it can't be done, just that, under the conditions where it does work, you probably have smooth-running projects anyway.
- josephpmay 11y agoThe author is not necessarily wrong, however he provides absolutely no data short of personal antecedents to back up his claims about the inefficiency of "Crunch Mode." I'm sure punctuated periods of stress have been extensively studied, and I wonder if these studies align with what the author is saying. It seems to me that being able to cope and be more productive in sudden high stress situations would be evolutionarily advantageous. "Crunch Mode" is not unique to the software industry, as a trip to a college dorm during exam season will clearly point out.
- josephpmay 11y agoOr perhaps I'm just attempting to justify my bad habits.
- mrbrowning 11y agoPersonal anecdote isn't evidence, but I trust it more than handwaving appeals to evo psych. You do realize too that humans at college age don't have fully developed frontal lobes, otherwise known as the seat of planning and discipline?
- josephg 11y agoIt has been studied (first in 1909 by Henry Ford!). As I understand it the results agree with the original post. In short, you can use crunch time strategically to meet deadlines but you always need a recovery period afterwards. If you work 60 hour weeks, in about 4 weeks your productivity will drop lower than it was when you were working 40 hour weeks - despite putting in 50% more hours. Also many people in this burnout zone will self report that their productivity is higher than it was (and they're wrong). If you've been crunching for a month straight, you're working ineffectively and you're too tired to tell. Here's a presentation on the topic from Dan Cook, with links to papers: http://lostgarden.com/Rules%20of%20Productivity.pdf http://lostgarden.com/Rules%20of%20Productivity.pdf And here's a fantastic write-up of a recent quantitative study in the games industry. They looked at how the success of video games correlates with crunch time and overwork. I suspect that these results would also hold true amongst startups: http://www.gamasutra.com/blogs/PaulTozour/20150120/234443/The_Game_Outcomes_Project_Part_4_Crunch_Makes_Games_Worse.php http://www.gamasutra.com/blogs/PaulTozour/20150120/234443/Th...
- jcadam 11y agoI was on a continuous death march project at my last job. Constant crisis mode got old real fast. When I was asked for a time estimate, it would generally go like this: Lead: "How long do you think this will take you?" Me: "Two months" Lead: "I already promised the customer we would have it to them in 3 weeks." Actually meeting a deadline happened so rarely I'm surprised people weren't constantly getting fired (no one got fired that I know of. Well, except our CFO for some undisclosed malfeasance). In reality, people just got burned out and quit. One especially smart guy left after only a month on the project. After my first few failed attempts to meet an impossible deadline, I just gave up trying. I worked a straight 8-hours and left at the end of the day, waving at the missed deadlines as they sailed by. Still couldn't get fired. Damn, guess I'll have to quit. Got a new job for a small pay cut (though in a lower COL city). I don't mind the very occasional crunch. Stuff happens. But my tolerance level for "constant crisis mode" BS is just about nil nowadays. I must be getting old.
- allochthon 11y ago> Actually meeting a deadline happened so rarely I'm surprised people weren't constantly getting fired There's the problem. Developer performance was being measured according to a framework in which it was likely to fall short. This is because for many problems software development is inherently exploratory and difficult to spec out up front in sufficient detail to know in advance where the surprises are. If one is worried about being fired for not meeting deadlines, one should probably quit as soon as possible and find better work.
- koonsolo 11y agoI also worked in similar environments where sales people already promised unrealistic deadlines to customers. But you have to know the 3 weeks is not your deadline, you said 2 months, it's the lead's deadline, he is just trying to shove the hot potato on your lap. There's a great quote for this: "Bad planning on your part does not constitute an emergency on my part".
- bazillion 11y agoI am firmly in the other camp when it comes to the common theme on here that anything above a 40 hour workweek is a sign of poor management of time and people. It's one thing to be forced to do those work hours against one's will, and I'll grant that doing so is bad business practice. However, when you are working in a startup environment, especially if you're burning through other people's money, there should be a fire lit under your ass. A few weeks ago, my startup[1] did a crunch mode week before releasing our beta to the first set of users. We had promised access to the application on a certain day, and I am absolutely never going to be convinced that missing a deadline that you've promised someone else is an okay thing to do, as the article suggests as a form of self-punishment. In doing so, I did a few things in order to take care of my one employee. First, I said that lunch and dinner would be covered by the company, since we were both staying there until the nighttime hours. Second, I made a Costco run and got us anything would could need to snack on or drink during the week (not very expensive when you're buying for two people). Third, immediately following our successful launch on a Monday, he had Tuesday and Friday off. It's very important that when you're not on crunch that it feels like you're not on crunch, and you "make up" for the time that you burned through. I am always of the opinion that if you're not willing to put in a ton of hours, there's someone just as smart and focused as you that is. I think my perspective has been forever changed, though, because I've been on deployments where we worked 12 hours a day for 9 months straight with no holidays, doing knowledge work I might add. Becoming accustomed to that makes everything that comes after it seem incredibly easy. Both my employee and I feel incredibly lucky to be working on something that we both really believe has a chance to succeed greatly, and it is so much a part of our lives that when we're not at work we're thinking of more ways we can improve our product. When you're that deep into an idea, be it a business, hobby, love interest, etc., the amount of time you spend on it always seems like not enough. I think people bristling about long work hours are doing so because they haven't found something that makes them feel this way. [1] http://pleenq.com http://pleenq.com
- joesmo 11y ago"I think people bristling about long work hours are doing so because they haven't found something that makes them feel this way." Or maybe they just don't like being forced to work for free. What you're saying is that employees should be glad that they get a chance to work overtime for free. They should be glad to be victims in other words. That's just insane.
- Spooky23 11y agoThe key item in the article is "loss of accountability". IMO, that's the whole point of constant crunch mode. Everyone is a hero, which makes it more difficult to call out dumb decisions. In the places that I've worked at that abused crunch time, the management was over its head completely and was unable to get responsibility delegated to appropriate places. So the VP or even C-level execs were making decisions about LUNs (that they were unlikely to be qualified to make) It's easier to congratulate the heroes than to actually manage. In the worst environment, senior leadership patted themselves on the back for having as many as two dozen people on incident response calls in 15 minutes. Problems didn't get fixed, but by golly we spread the suffering around!
- ExpiredLink 11y ago> It's easier to congratulate the heroes than to actually manage. In the Capability Maturity Model 'Crunch Mode' is Level 1 - Initial (Chaotic).
- joesmo 11y agoGreat article. There are even more negatives than it points out. After such sessions, it's likely that employees will underperform and try to get away with it as much as possible. When employees see that those weeks of working around the clock served absolutely no purpose, it's likely they will develop a resentment and try to take that out on the company in whatever ways they can. Taking extra time off or putting in low quality or bare minimum work is not unheard of from disgruntled employees who have just been forced to work for free.
- Animats 11y agoUnion, Yes! The film industry has most of the problems of software development and game programming. But because Hollywood is heavily unionized and overtime is paid at 1.5 to 2x normal, film scheduling and budgeting is a well-developed discipline. Film production has something known as a "completion bond". This is an insurance policy that guarantees to the investors that the film will be completed. The insurance company has the right to fire the director and anybody else and take over the production if it goes significantly over budget. The result may not be great, but you will get a movie. "Bad Girls", a 1994 Western [1] is an example of a movie where the insurance company stepped in and took over. They put in a new director, who spent a day looking over the production and talked to everyone. She then sent the camera and lighting crew back to Hollywood, told the set builders to finish the two sets they nearly had finished and forget the others, put the stunt director on teaching the lead actresses some horse riding tricks, told the costume directors to come up with some bad-girl riding outfits, and then went off with the writers to hammer together a script that used those components. In a few weeks, they had a movie. Not a great one, but one that made back $15 million, which is a lot better than zero. That's how you beat the crunch problem. Underestimation in the film industry applies great pain to management, not the employees. [1] http://en.wikipedia.org/wiki/Bad_Girls_%281994_film%29 http://en.wikipedia.org/wiki/Bad_Girls_%281994_film%29
- walterbell 11y ago> The insurance company has the right to fire the director and anybody else and take over the production if it goes significantly over budget. Sounds like market-based regulation. It would be interesting to see an example contract with the insurance clauses and list of conditions which trigger a change of direction/control. Are there parallel conditions in VC term sheets? Are there periodic reviews to determine whether the project is on track, or does the insurance company only get called in when the project approaches its budget? Any creative industry would want to avoid micro-management by insurance risk managers.
- Animats 11y ago" It would be interesting to see an example contract with the insurance clauses and list of conditions which trigger a change of direction/control." Here's one.[1] There are three parties, the producer, the financier (the party putting up the money for the film), and the guarantor (the insurance company). The contract calls for a "strike price" (the maximum film budget) and a delivery date. If the producer and director overrun those, the financier has the option to invoke the completion bond. The completion bond company can then 1) take over, or 2) abandon the picture and pay the amount of the bond to the financier. If the completion bond company takes over, they may have to put money into the production, in which case they get all gross receipts until they are paid back. A well known director with a track record might get terms like that. Further down the food chain, the terms get tougher.[2] The bonding company watches progress and spending closely, and if the schedule starts to slip, sends observers in to monitor the production, and may take over before the production runs through all the money. There's an up-front phase before production, during which the guarantor reviews the production budget, script, and shooting schedule for realism. This is where the real action happens. The guarantor wants to prevent cost and schedule overruns, not take over production. Completion bond companies are good at cost estimation; they see the full cost data for hundreds of films and know what everything costs. If the producer's estimate is, in the opinion of the guarantor, likely to result in an overrun, there are negotiations between the three parties. Either more money or more schedule has to go in, or some expensive or slow scenes have to come out. This third-party check, by an independent party who's on the hook if there's an overrun, forces realistic budget and schedule estimates. A completion bond costs 2% to 3% of the total budget. If software development (especially game development) had that, there would be far fewer "crunches". Remember, in a unionized industry, crunches and 1.5x to 2x overtime pay increase the cost per unit of work. [1] http://www.filmfinances.com/pdf/Completion%20Guaranty.pdf http://www.filmfinances.com/pdf/Completion%20Guaranty.pdf [2] http://www.eqgroup.com/completion_bond.htm http://www.eqgroup.com/completion_bond.htm
- pessimistic 11y agoOther reasons to go into crunch mode, not mention by Chad Fowler: 1) You think the work your team doing is already of such low quality that it can't get worse, and increased "quantity" of low quality work is better than the usual. 2) You've created a crisis and feel you can convince your team that this is just the natural state of capitalism, or that by accepting salary they are implicitly accepting the debt and promises that you made to your VC firm. 3) Feature lists and time to market trump actual performance. You're trying to get something that can be demoed and sold without regard to how well it actually works. Maybe your product is for a niche industry and you can make a convincing business case on numbers alone, or maybe the people who do the buying are not the people who will use the software. 4) Your product is on shifty legal footing. Having a saleable product will bring you legal support, but until then you are a sitting duck for a lawsuit or regulatory action. 5) Your team is capable of better work, but you believe that the only way to extract it is to create a crisis.
- pekk 11y agoYou can't kill it. It's not even specific to software. As long as humans form hierarchies in which real productivity is dissociated from apparent productivity and "shit rolls downhill," there will be managers who believe their job is to squeeze as much out of lazy workers as possible, and that visible metrics like hours are a reasonable proxy for how much value the worker gives to the company, and that blaming others and theatrically cracking the whip is a good thing to do when goals are missed. And there will always be workers who want to pander to these managers by putting in many hours regardless of whether that is productive or healthy. If anything, startups are even more vulnerable to this problem, framed as a matter of proving that you are committed and "passionate."
- jjoonathan 11y agoSure you can: overtime pay. Once management is punished rather than rewarded for making scheduling "mistakes," the mistakes will stop very quickly.
- ExpiredLink 11y agoEmployers counter with 'all-in' contracts.
- kashkhan 11y agohere's elon musk on the matter: http://www.simplethingcalledlife.com/2015/elon-musk-usc-success-speech/ http://www.simplethingcalledlife.com/2015/elon-musk-usc-succ... > And if you do the simple math, say that someone else is working 50 hours and you’re working 100, you’ll get twice as much done in the course of a year as the other company.” – Elon Musk Elon is a typical SV guy right?
- wwweston 11y agoElon is probably quite wrong if he actually expects a consistent linear relationship between hours in and output. It does seem as if he's very smart and able to lead significant enterprises to success, however. There might be two takeaways here: 1) Even smart/successful people may believe things that are wrong. 2) The point of Musk's statement may be something other than to communicate an accurate model of output vs labor.
- deleted 11y ago[deleted]
- deleted 11y ago[deleted]
- tomjen3 11y agoHe also expects employees not to be there for the birth of their children (http://www.autoblog.com/2015/05/11/elon-musk-scolded-employee-for-missing-work-to-see-birth-of-chil/ http://www.autoblog.com/2015/05/11/elon-musk-scolded-employe...) with the money quote being "you need to find out where your priorities lie.
- rwallace 11y agoAh, good find. Bookmarking this for next time I need an example of a smart person believing something incredibly stupid.
- Bahamut 11y agoI once had an interesting conversation with a director of engineering - he asked for an estimate on how long a project would take given the resources. I gave an optimistic estimate of 3 months, and expressed that it was optimistic - he was dumbfounded, and told me that the company didn't have that sort of time. I ended up being quite prescient - the project took 3 1/2 months, including a bad crunch near the end of it. Fortunately I was placed in a different team before that crunch, I probably would have quit fast after surviving an insane crunch a few months beforehand where I wrote ~50% of the frontend code due to a series of unfortunate circumstances. Crunch mode makes developers want to quit and distrust managers/executives - it's a breach of trust.
- skatenerd 11y agoAnybody on a team that always wants its employees to just go a little bit faster? Meaning, taking comfortable estimates (on the order of 1-2 weeks) and just, by default, sliding them earlier by one or two days? It's a subtle way for management to cope with the anxiety that is trickling downhill, without engaging in or admitting a period of Crunch Time.
- redwards510 11y agoNot that exactly, but I've been repeatedly exposed to this: Management: "How long will it take?" Me: "N weeks" Management: "Ok, you have N/2 weeks" I've been told they actually teach this at business school.
- alkonaut 11y agoNot a problem, you say "in N/2 weeks I'll deliver feature Y, which is similar to X but half as complicated". If that gets you N/4 weeks to do Y, or still N/2 weeks to do X, get new management.
- tomjen3 11y agoPull a Scotty and estimate N*2 or counter with a simpler feature that you can do in N/2. Business school is just expensive signalling.
- sopooneo 11y agoMy favorite manager, as far as I can tell, communicates N*2 to the client, then we either have time to fix unexpected bugs, or maybe throw in one new feature before delivering exactly when the client expected.
- candu 11y agoManagement: How long will it take? Me: 2N weeks.