top of page

Blog

Software Planning: 6 Sources of Uncertainty

  • Writer: Passacaglia
    Passacaglia
  • Sep 14, 2018
  • 2 min read

Updated: Oct 7, 2018


Calculating the build costs of a software product is easy. Provided you know exactly what you are going to build. This is rarely the case.


Even the most diligent and skilled client-developer partnerships fall prey to the illusion that they sufficiently understand what they are going to build. Perversely, the more time they spend discussing the plan, the stronger the illusion grows. Think about the last time you thought you’d understood a book and then tried to explain it to someone else.


The key to dealing with this phenomenon is to accept the inevitability of uncertainty, to understand its origins and to plan accordingly.


1. Communication is hard

Every team member will imagine the product differently. It is easy to assume a shared understanding and to miss divergence.


Visual design makes it easy to address this divergence. By having a concrete representation - a shared imagining - it becomes easier for each team member to spot differences between what is being planned and how they are imaging the product. These differences can then be discussed and resolved.


2. Untested design

Each design is a theory about what would work in practice. Without the feedback one gleans from trying out the design it is difficult to spot its shortcomings. Unless replicating a tried and tested approach, design generally proceeds through trial and error.


Prototyping is a fast and effective way to get this feedback. It is more reliable means of spotting problems than working through static designs on paper or in the imagination.


3. Approximate design

Estimates based on low-fidelity designs tend to be unrealistic. They fail to account for finer details and for the adjustments, sometimes substantial, needed to make the design work in practice.


This uncertainty can be largely eliminated by fleshing out high-fidelity designs before estimating the effort to implement.


4. Premature commitment to design

As you and your team work on the product and share early versions with users you will discover a number of compelling design improvements. This is something to embrace and hope for but a source of uncertainty nonetheless.


Whether the improved design will yield benefits that justify the disruption and cost of replanning is a genuine judgement call.


5. Dead ends

When trying something new there is a risk of encountering a hurdle that cannot be overcome. The more innovative the product the less is known about the hurdles that might be encountered.


Prototype any aspects of the product that involve new techniques as early as possible. This will give you better planning information and possibly an early opportunity to back out of a venture that would prove economically unfeasible.


6. Moving targets

However good your plan, your target may change. Your customers, your competitors and even your own understanding of your approach may change under your feet, requiring you to replan.


The best approach is readiness to adapt. This requires a high-degree of organisation and is supported by working in small increments, minimising work in progress and being able to release new versions of the product at short notice.


Want to find out more about managing uncertainty? Discuss effective planning with us. We'll give you impartial, professional and useful advice, free and without any obligation.

 
 
 

Recent Posts

See All
7 Strategies for Managing Costs

Runaway costs are a primary concern when commissioning software. The risk is real. You can’t afford to write a blank cheque and may be...

 
 
 

Comments


bottom of page