As annoying things go, planning is not at the top of the list. However, developers tend to feel they are most productive when they are writing code. Therefore, planning can be frustrating. It almost forces us to be patient and define an approach before getting to work. Nevertheless, there are many benefits of planning, and it is an easy topic for finding the bright side.
Look Before You Leap
Many wise words point to the benefits of planning. We may feel better in the short-term by stepping into implementation, but that can easily be overwhelmed by pain due to improper planning. We all work better when we have time to think through an approach. That is why things like panic and knee-jerk reactions are not considered paths to success. When we plan, we force ourselves to think through something at least a little. That alone can sometimes save a lot of time by avoiding foolish assumptions and identifying gaps.
Practice Makes Perfect
Planning and estimation are skills that require training. The more we do these things, the better we get. Thus, any time we spend planning will be time spent getting better at a valuable skill. We also cannot plan without estimating to some extent. Those combined skills can help us avoid being late and even improve our use of time. When you are managing your most valuable resource (time) better, it is a strong argument for ROI. The short-term cost of planning instead of doing pays off in the long run
Avoiding Potholes
We have probably all had that situation where a road obstacle or pothole becomes apparent too late. We may have a rough bump or worse. These situations occur when we do not have enough time to respond to the environment. Therefore, moving at a slower speed can help us avoid these problems. Planning is sort of like setting a reasonable pace for your journey. You are forced to pick your head up and look at what is coming down the road. When we do this, we can avoid missteps and keep things from falling between the cracks.
Episode Challenge: How well has your planning worked for you?