Have you ever felt that your to-do list was longer than what you can possibly get done? Or your product had a ton of features that need to be developed but it still needs to be shipped way too soon? We often respond to this pressure by trying to do more, often at the same time. However, that is not the right thing to do in this situation. By trying to do everything at once, the result is lack of focus, which will affect your performance, the performance of your team and the quality of the product. Whenever you find yourself in this situation, it may help to think of this analogy, which I picked up from another manager and often share with my own teams.
Successfully completing a project, building a product or running a business can be compared to pushing a pile of rocks up a hill:
The rocks can be viewed as product features, tasks that need to be done or even decisions that need to be made. They are different sizes, but they all take work to move them all the way up the hill or to get the features/tasks/decisions DONE.
If we try to push all the rocks at once (i.e. do many things at the same time), the results will usually look like this:
One or two rocks will make it all the way up the hill. Those are the features or tasks that get completely done and meet the expected quality. The others… didn’t quite make it. These are the features that don’t quite work as expected or may have problems. It could also be the work that was done quickly and comes back to bite you later. Shipping a product with incomplete features will be noticed by your customers. Meanwhile, you and your team have been stressed out for days, weeks or even months trying to get all that work done at once. It’s just not worth it!
Instead, if we focus, prioritize that list and move each rock up the hill one at a time, we are much more likely to get this result:
It takes patience to focus on one rock at a time and to get it DONE before moving on to the next one. With focus it takes less time to finish each one. If it’s a product, it means the most important features are done first at the expected quality level. In both scenarios, there are still things left undone, but if you prioritized well then these are the least important. The most important items are done and done well.
This principle is behind two key points in Scrum. By rigorously prioritizing the backlog as each feature is completed, the team is always focussed on building the most important features first. In addition, the team does not move on to a new feature until the first one is completely done and meets the expected quality level. That includes testing and documentation, not just being code complete. It is really tempting to get many features mostly completed and take care of the less fun work later. It is also really tempting to work on items that are most interesting to the developers, for whatever reason. Priorities must always be based on return on investment – the most important to the business with, ideally, the least cost or risk to develop.
So, next time you are tempted to push all the rocks up the hill at the same time, stop and prioritize. It will make a big difference to everyone.
What are some ways you can apply this analogy in your own context? Please share your thoughts in the comments.