Published on

Agile: With a Shovel

Authors

We got some snow where I live in the Greater Boston area. Early in the storm, I looked out at a manageable coat of white stuff on my driveway. I grabbed my shovel and got to work.

If you've lived in an area that gets a lot of snow, you know what it's like to remove a few feet from your driveway, walkways, and stairs. When the snow is very wet, it's pretty heavy. It can take a very long time to remove, and even if you know how to shovel correctly, your arms, back, legs, and shoulders can get pretty sore doing it all at once.

This situation rings true for many folks working in waterfall or SAFe organizations. Big chunks of work take more time, require more effort, and result in more pain.

Let's discuss some of the pitfalls of long-standing work and the benefits of small tasks.

The longer we have to focus on a single task, the more likely our attention will wander, and the higher the chance that we'll be distracted by interruptions.

Francesco Cirillo introduced a time management technique called the Pomodoro Technique in the late 1980s, which has been revitalized by agile-minded workflows because it incentivizes small batches of work, reduces the chance for distractions and aligns ways of working with statistical research regarding human attention span.

Short, simple tasks are also more predictable. Developers can quickly tell you how long it will take to write most functions or classes (assuming they are considering good practices!) with reasonable accuracy. Writing modules, services, and larger bodies of work increase the margin for error when estimating work.

It's vital to consider boredom and happiness as well. As the statistics above suggest, most of us get bored quickly. That means that maintaining focus for long periods requires an increasing amount of effort. It diverts our attention from the quality of our work, essential details, and required processes. If you're one of those folks who can relate to my analogy of shoveling snow, I'm sure that you have waited until the end of a storm to shovel mounds of snow at one point. Do you remember standing up for a breather only to see the remaining snow left to remove? Facing such large tasks ahead can be disconcerting. Our focus on completion begins to compete with increasing exhaustion. We stop lifting with our legs and get sloppy. Our work and well-being suffer.

Conversely, our brains reward us for completion. Completing small tasks motivate us to keep going. We can produce far more work in aggregate when comprised of small, bite-sized increments than when it is one giant monolith.

Anyone who has practiced martial arts, studied music, or danced has likely encountered the concept of muscle memory. Practitioners acquire skills through the repetition of small movements. (Most developers cramming for coding interviews are doing something similar by repeatedly studying patterns, good practices, algorithms, and data structures to more readily recognize the patterns).

Some of us might remember studying one of these disciplines when we were younger. If we rushed through practicing, we began to practice mistakes. Similarly, performing long tasks comprised of repetition will likely result in reduced performance of the repetitive elements. Due to the long-standing work process, we are less likely to get the necessary feedback that the quality of work is decreasing. This results in low-fidelity outcomes as well as building habitual bad practices.

Short work intervals allow us to iterate on practices when we are fresh and enable us to receive feedback on that work quickly. Enabling positive interactions regarding feedback is an undersold attribute of agile-minded workflows. Long-standing work is likely to incur more feedback based on the work volume. The negative impact that results from the length of work will offset the dopamine boost we get after completing it. We will be less receptive to feedback, even if delivered safely. Conversely, the continuous gain after many completion cycles compiles feedback credit in our brains so that we're more receptive to external ideas. When coupled with shorter amounts of feedback due to the smaller size of work, we are pouring the foundation for high-performing teams who are excited about the work that they are doing.

We don't see all snowstorms coming. Meteorology encompasses a mind-boggling number of variables such that there are plenty of cases where a forecast of a few inches results in a few feet. Variables change, and that often has an impact on requirements. In fact, in New England, a saying summarizes this quite well: "If you don't like the weather, wait five minutes, and it will change."

If the requirements I'm working to meet change shortly after I've started to work on them, the agility with which I can course correct is directly related to the length of the interval. If competitors work in a manner that allows them to respond to industry changes faster than we can, then we are at a disadvantage that eats into our bottom line.

I could talk about Agile and engineering effectiveness all day, but I must grab my shovel and get back to it!