Imagine each of these things. Different sizes, right? Right. This is how I think about tasks. Boulders are big tasks – they might even be entire projects. Much like a block of marble waiting to be sculpted, the boulder is unrefined…it has no appreciable form. The boulder represents a large unit of work that needs to be performed. As much as I would like to, I cannot simply hand a boulder task over to any engineer and expect to get the result I want. No, sometimes we have to refine our vision. Sometimes, we have to break the task down a bit more.
Bowling balls are a good bit smaller than boulders. (Perhaps I should have considered something larger for the visualization, but nothing leaps to mind. So, bowling balls it is.) These still represent relatively large tasks, but have been broken down into many more units (there are a lot of bowling balls in a boulder). This size task is more approachable for more members of my team, but I still haven’t reached everyone.
Next, consider softball-sized tasks. These tasks are broken down more than bowling balls. They are better defined (the analogy breaks down a little here) and, much like their namesake, are easier to grasp.
And finally, we have marbles. These are really broken down. Imagine the amount of marble-sized rubble that chipped off the boulder as it rolled down its cliff. Yeah, these are really simple, extremely well-defined and narrowly-scoped tasks. Engineers should be able to task hold of several of these tasks without breaking a sweat. But think a little more deeply about marbles. They are beautiful. All of the creativity has been expressed in the marble…there is no more room for creativity…there is only turning the crank and producing.
Applying the Idea
Over the years, this has become a sort of shorthand for discussing the ability of an engineer to handle different levels of tasks. Senior engineers should be able to take boulders and decompose them into the appropriate tasks and drive to a solid result. If a senior engineer is not actually doing the engineering work, they should be able to develop the appropriate bowling balls, softballs, or marbles for other team members. Mid-level engineers will effectively become senior engineers once they’ve proven their mettle with bowling balls.
Ideally, junior engineers should be able to handle softballs. This gives them a little room to break the task down some more, add some of their own ideas, inject a little creativity, and start building up their muscles to work with bowling balls.
There is a tradeoff. With each boulder, I give away a little bit of creative control, but I can simply communicate a vision and get a very good result.
With each marble, I must agonize over countless details to get something close to what I want. Of course, with each detail that I have to explain, I am getting ever closer to doing the job myself.