Ever wonder why plans are useless, but planning is essential? Five important lessons for software product development.

Ever wonder why plans are useless, but planning is essential? Five important lessons for software product development.

Ever wonder why plans are useless, but planning is essential? Five important lessons for software product development.

Photo by JESHOOTS.COM on Unsplash

Introduction

“Plans are of little importance, but planning is essential,” - Winston Churchill

“Plans are worthless, but planning is everything.” - Dwight D. Eisenhower

“Everyone has a plan until they get punched in the mouth.” - Mike Tyson

Planning is essential in life and work, but plans are not.

It may be counterintuitive, but it’s not that plan that matters

So, what does matter?

The planning process powers focused foresight to help you hit your target.

Here are five reasons why.

1. Plans allow you to adapt, change and adjust.

The reason plans may seem useless is that they don’t reflect reality.

But here’s the thing: Plans are just a way of communicating what you want to do, your vision, and your goals.

You never know what will happen tomorrow, so you need to design plans that can adapt, change and adjust as you go along.

Plans allow you to focus on things that move the needle before you get bogged down with details that may never happen.

Planning helps you prioritize tasks so that when something more critical comes up, your team can handle it efficiently. You can confidently push back less urgent items, such as prioritizing a simple feature that will double your value to customers over inconsequential features or minor issues found by users once they start using your product.

2. Use plans to estimate time and cost, but most importantly, minimize risks.

Sure. Plans help you estimate time and cost. However, the most critical aspect of planning is to minimize risks.

Plans are useless, so why not just use estimates?

Across everything from getting groceries to software product development to modern warfare, plans tend to become meaningless very quickly.

The reason for this lies in the discovery process. While many aspects of software product development are vital, it’s more about discovering how you’ll hit your target than manufacturing.

In software product development, we all know things constantly shift, so you can’t make detailed plans for tackling what you don’t yet know. The only way to deal with unknowns is to know they are coming, prepare to learn from them, and adapt accordingly.

Whether you leverage the nature of today’s software or not, it’s always made up of custom-built blocks (or components) that you combine in different ways. This means there’s no one correct answer or approach when building something new; what works for one company might not work for another because their target customers want different things from their products!

3. Plans must be so simple that they are executed—not ignored.

You can think of plans as extensions of your product backlog. If a high-level list of requirements is your product backlog, then a plan is what you use to map and navigate your backlog.

So it’s not something to be ignored. Instead, it’s one of the most critical tools in your arsenal.

Here are four things you should know about plans:

  • Plans are not a substitute for action—they help you make better decisions about what your teams need to do next and how best to do it. They also help teams coordinate around shared goals and make adjustments when necessary.
  • It’s OK if people don’t follow them precisely as written—you needn’t obsess over details for them to be useful! Having different perspectives with clear goals may help you discover more creative paths to get there (as long as they aren’t too far off base and everyone is on the same page to meet your time, cost, and quality goals).
  • You don’t set plans in stone—they’re living documents that you can change anytime. You should expect to update them regularly as circumstances change and you gather new information. That’s why it’s essential for everyone on your team to have access to and coordinate using the latest version of the plan.
  • Yesterday’s plans are not a replacement for sound decision-making today— Plans are meant to help you make good decisions faster—they don’t tell you what to do in every situation, only how to figure out the best way to move forward from where you are today. When yesterday’s plan isn’t working, it’s up to you (and your team) to adapt and change it as necessary to course-correct and meet your goals.

4. Plan for agility with time frames that allow problems to be surfaced, analyzed, and addressed promptly.

Plan for agility with time frames that allow issues to be identified proactively and addressed promptly.

Use time boxing to manage the overall flow of a project while facilitating agile development by allowing room for short spikes to experiment with different solutions or approaches. It is essential to understand that there is no “one size fits all” approach; you must decide what timeframe makes sense for your specific project.

Use long time frames for big-picture planning and small timeframes for closeup details.

Timeboxing helps keep things manageable and prevents scope creep (when more features/functionality get piled on at the end, putting projects at risk of failure).

Pair excellent structural (architecture) with a solid work breakdown structure (WBS). This way, your team can see how each deliverable piece of functionality works together, how much effort goes into building each one individually, and what it will take to integrate.

You can then use these points when prioritizing tasks during sprints or iterations by asking yourself questions such as: “Is this feature critical enough? Are we good enough at estimating yet? Is there too much risk involved? How much are we willing to invest before seeing results?”

A WBS works well because it gives everyone involved an understanding of what you need to do, who should do it, what they should deliver, when it’s due, etc… This means your teams’ collaborate to minimize confusion about what to do or how long something might take.

5. Planning is essential in life and work, and the planning process is always more important than the plan itself. Here’s why.

Planning is essential in life and work, and the planning process is always more essential than the plan itself. Here’s why:

  • Planning allows you to adapt, change and adjust. It allows you to experiment, fail and learn from your mistakes before making any irreversible commitments.
  • You’ll more easily achieve complex objectives by breaking them down into bite-sized chunks that everyone involved in implementation can easily understand (especially those with no technical background). Use visual tools like storyboards or flowcharts to tap into the visual engine in our minds!
  • You can design big and build small; make large low-fidelity plans rather than small high-fidelity ones. This helps you ideate, integrate, and coordinate rather than focusing on too much detail too soon, wasting time and causing your project to come in late! In addition, it helps avoid getting caught up in investing too much in details early, causing costly changes and killing projects.

Conclusion:

So now you know how planning is essential, but plans are not.

You need to plan for agile planning, and if you do it right, you will be able to adapt your plans as the business environment changes and still meet your objectives.

Use agile plans as a framework to adjust quickly without losing sight of your goals or the big picture.

Best wishes and warm regards —Matt


By the way, how many times have you designed software, but struggled to deliver? Sound familiar?

Software is everywhere today, but genuinely effective software production is rare!

Let Truth Shields software design, planning, and development services help you plot a more efficient and cost-effective course.

Click here to help us help you succeed.


RELATED POSTS


Ever wonder why plans are useless, but planning is essential? Five important lessons for software product development.

ADDRESS

99 Wall Street #2794, New York, NY 10005

CALL US

1-800-394-2500