Beyond any external constraints and pressures most teams have around them, such as lack of vision, pressure from leadership in the form of “deadlines”, or being pulled into 20 different directions, there is one thing that I keep seeing over and over again while working with teams. The size of items that teams work on is too big.
Over and over again, I see teams struggle with decomposition of big ideas into smaller ones. What I have seen is that many teams don’t know how small things should be.. or could be. Sometimes, they aren’t sure how to break their work down, or they don’t see the value in taking the time to deconstruct items.
Whatever the reason is, smaller items are better… Without a doubt. Let’s assume that the items we are talking about are worth the time spent in decomposition, and that we are taking a “last responsible” approach.
Here are the top 10 reasons I can think of to invest in breaking ideas down into smaller ones:
1. The act of decomposition is a risk mitigation strategy – when you take a big, nebulous, idea and spend time focusing on it, you tend to uncover more about it. The more you pull that vague idea apart, the more the pieces themselves become defined.
When an idea is large, it inherently contains unknowns and risks. When that item is broken down into smaller parts, unknowns and risks tend to get isolated within some pieces and not others. By getting down to something atomic in nature, you are finding out more about it, thus making “unknowns” more “known”.
2. Code is more modular – when a team works on a small item, the design, code and testing needed to finish that item are naturally more compartmentalized.
Small, atomic-sized items are more easily able to be wholly-contained items. I like to think of each item and its respective code as having little firewalls around themselves. In other words, if one small item blows up, the disaster is more likely contained within its own boundaries and does not automatically destroy everything else around it.
3. Parts can be served “à la carte” – more “compartmentalized” items can be more easily branched off or detached from other items, which means we can send some items to our customers at the end of an iteration while simultaneously holding others back.
4. Faster feedback loops – smaller items get done faster, which means there is something to test sooner… something to look at sooner. If that item is tested, then the customer can look at it quicker. Once that happens, we have an increase in feedback opportunities, and we’ll know if we are doing the right or wrong thing much faster.
5. More opportunities for cross training – it is easier to get cross-trained on a smaller, less risky, item, than it is to be cross-trained on a bigger item. Larger items have more at stake and have a larger risk associated with them. Those getting cross-trained will also have faster feedback cycles of learning, because their work will get reviewed quickly.
6. Faster progress – from a psychological standpoint, one gets the sense of progress much more easily when smaller pieces move along the process faster. Conversely, larger pieces inch along at a snail’s pace. With smaller items, the rapid feedback loops, the active discussions, and their movement on task boards all make it feel and appear demonstrative of progress.
7. Throughput increases – as a result from an increase in feedback loops and the steady flow of completed items, the amount of items delivered on an iterative basis will increase. Throughput is the average number of units delivered per unit of time, i.e. per week, per day, etc.
Assuming an increase in throughput is achieved through sustainable means, a team will see these additional benefits: trust and confidence in the team improves, customers get value consistently, the need to train users decreases, and team motivation increases.
8. Bottlenecks are more easily detectable – increased feedback from smaller items allows a team to more quickly detect pinch points in the flow of work. It is easier to see when a small unit of work is held up, because it gets handed off to the next step in the process faster. If that next step is holding the flow back, it is quickly realized. The opposite happens with larger units of work. Big pieces move through process slowly and there are fewer “checkpoints” to detect trouble.
9. Your standup meetings will have more value – how many of you have been in a standup when you hear team members say they are still working on the same item, day after day? For many days in a row, you might hear someone in the team say this: “I’m still working on XYZ, I’ll be working on it for the rest of the day. I don’t have anything else to tell you about.”
When large items are being worked on, It is very difficult to understand what, if any progress is being made. On the other hand, when a team works consistently on smaller pieces, the amount of hand-offs between team members increases and so do the conversations around these items during a standup meeting.
In a team working with smaller items, you might hear this: “I just started working on ABC this morning and I will wrap it up in the next hour. Hey Pat, I see you volunteered to do testing for me… you should be able to start testing later this morning. I’ll sync up with you when I’m done.” More dialogue equals more transparency and information.
10. Motivation improves – I know this is true for me, and it may be for you as well. When I get more things of value done quickly, I get excited and motivated to do more. I feel like my time spent it worthwhile. That makes me feel good. When a team sees progress happening on a regular basis, their confidence in what they are doing improves.
Take more mystery out of your work by breaking it down. It will be worth it in the end.