Killing the Crunch Mode Antipattern

The Crunch Mode Antipattern

“Why Not Crunch? It makes us stupid.” – Chad Fowler

No great surprise there. In fact the whole article wasn’t a surprise to me right up until I ran into his rationales for why, specifically this one:

“Another reason we go into Crunch Mode is that we are perpetuating a culture of cowboy heroism which many of us unwittingly get caught up in. … Rolling up your sleeves and cranking to the end of a deadline makes you feel valuable in a very concrete way. Without your overtime, the project doesn’t get done on time. With it, the project is saved.” – Chad Fowler

Being a hero is something which is bestowed upon you from from the outside. There’s another equally powerful motivator not addressed.

Love.

Love is the font of the creative drive. Deep down inside of even the most socially awkward programmer lies the ability to truly express love in the form of elegant code, comforting user experiences, and beautiful art. It drives some from within to madness without moderation. Madness defined, in this case, exceeding ones limits.

It is this emotion that managers seek when hiring. They use phrases like “Is this person the right cultural fit?” or “Will this person truly like working here?” But the nugget that they really looking for is “Does this person have an emotional bond with what we’re building?”

A huge, vast majority of leaders have no idea that’s what’s really going on because they haven’t thought it through. Or worse, they got into that position because everyone around them pointed at them and said “lead us!” – without realizing that was the person who loved the product the most. The one most internally driven to make it as great as possible.

It is this internal drive which has gotten more people and teams in trouble, especially in the games industry, than any other.

Leaders have to know themselves. Listen to their own emotions. (Chad Fowler talks at length about empathy. Again focused outward, not inward.) Unless they do that, they won’t be able to detect when one of their team goes over the edge into madness. They won’t be able to save them from themselves.

This is not new. Michelangelo loved David. That’s plain to see for anyone who actually looks.

Pixels are just modern day marble.

“It’s hard to find such black and white ways to add value in daily “normal” work.” – Chad Fowler

In reference to heroism, yet ignored as one of the mitigation strategies to prevent crunch mode. Acknowledge excellence continuously throughout the development process. Ensure that this is a team-practice, not just a leader driven one. (Code reviews are a good place to do this…)

Chad covers some mitigation strategies:

  • Miss the deadline.
  • Set smaller goals.
  • Measure progress concretely and in small steps.
  • Set more realistic goals for the team and problems you face.

I would add another:

Always be ready to ship. This is hard to do until you get a ways into the build. However, once you build a bundle with sufficient polish that it could be shipped to customers, you will think with more clarity as you continue to build. Interestingly, if you watch artists, many work exactly this way. Rough out the work in toto and then iterate in passes to layer in more detail. At some point, they just stop and ship it. Think of it as a ratchet. Always ready means always forward.

Advertisements