Let’s Talk About Cake

Imagine that you have been asked to make a pineapple upside down cake, as pictured below.

Think about what needs to happen here. Prepare the batter, perhaps from a boxed cake mix. Slice up some pineapples, reserving some juice for the aforementioned batter. Bake it. Flip it upside down. Put cherries on top of the finished product.

That’s a lot of stuff to do. You’ve got the pineapple. You’ve got a proper pan and all the appropriate kitchen utensils. You’ve got the oven. Cake mix? Check.

You do not yet have the cherries.


It would be incredibly inefficient (and probably a play at procrastination, if not outright laziness) to halt production of the cake because you don’t have the cherries.

  • You could start the cake and go buy the cherries while it baked.
  • If you feel that’s unsafe, or the time in the oven is not enough to make the run, you could go get them right now.
  • You could call your roommate who is currently at the grocery store and tell them to bring the cherries.
  • You could go get the cherries after the baking is complete and the cake is cooling.

In short, possession of the cherries is not a prerequisite to get started. However, in the course of my career, I’ve seen these reactions:

  • Use it as an excuse to be blocked. Go poll Reddit until the cherry team delivers the cherries.
  • Claim to be blocked in good faith. Defer this high priority task until later, but pick up another low priority task in the meantime.
  • Go ahead and make the cake. The cherries don’t come until last, anyway1.

Push Through The Blockers

Everyone in Seattle knows about Marshawn Lynch’s 60+ yard playoff run, but I think this one is more relevant to the current discussion:

Notice how the announcers call the play over. “Lynch not gonna get anything.” He could have thought the same thing, dropped, and gone to get some water. Instead, he found a way through the blockers and moved the ball - moved his team - forward.

This Is Not Cake Or Football

Correct! Which means you don’t have to go to the grocery store or keep your legs moving through a wall of defenders. You have a vast array of resources and tools – both inside and outside your team – that allow you to clear a path.

  • Service you depend on goes down? Use a Fiddler autoresponder. Stub it. Introduce an early return of hardcoded data before the call is made.
  • Error you’ve never seen before? Go to Stack Overflow. Talk to your team.
  • UX Design incomplete? Implement non-UX logic. Create independent views that put unstyled data on the screen. Add styles and navigation affordances later.

We could go on.

When Truly Blocked

  • If there’s a real blocker that cannot be worked around, pick up the next task you can handle.
  • If there’s a real blocker for every task that you know how to handle, then pick one up that drives you to learn something new.
  • If there’s a real blocker for every task across the entire project, your organization has bigger problems. Play some darts.

The point is that there’s usually a way to move your team forward. You might not always see the way, but that’s what talking to your team if for =).

What’s your favorite story about making progress despite something that others called a blocker?

1 - Software doesn’t go stale or spoil as fast as cake. Use caution if attempting with real cake.

Cake image used under CC BY 2.0, Kimbery Vardeman