Updated: Nov 5, 2022
Specialist no code, low code and traditional code developers have two things in common. They all need some level of expert status - extensive expertise in, and knowledge of, highly complex software development tools and platforms. Also, they are optimistic planners. Unsurprisingly, they cannot accurately predict the future. In fact, they often fail to get close to reliable estimates. In this blog we suggest how to address this.
Expert software developers really believe in their plans and estimates but they are not prophets. Despite best intentions, many are affected by something called optimistic bias - they may unintentionally overestimate the benefits and underplay the risks. Their clients see them as experts and they are keen not to disappoint by displaying uncertainty. Clients hold some responsibility for the problem - many set their own expectations for the duration and cost of projects . Unsurprisingly, development experts feel pressured to match expectations. Software development is complex and this is exacerbated by the fast rate of change in this industry. However, the biggest problem is the lack of an outside view.
THE OUTSIDE VIEW
First, recognise that experts can be some of the worst judges and decision makers. Like most of us, despite their expertise and experience, they cannot predict the future. Their ability to make sound judgements is affected by bias and noise. See my previous blog for a primer on both. Next, understand that the real problem is the tendency to neglect the “outside view”. Simply put, once focused on the estimation task, software development experts do not typically review how long previous projects took to complete or how much they cost. The most common approach is to consider new projects as unique and special. Whilst they are both, neglecting the outside view is often the root cause of most unreliable estimates.
WHAT TO DO
If you want to know how long it might take a software development team to complete a software project, first look at the performance of the population of software projects. Of course, each project is unique and similar projects are often impossible to come by but this outside view is important. This should always be the starting point – a baseline view that is detached from the optimism of experts, unaffected by bias, noise and other impediments to sound decision making.
The next step is to adjust the baseline with information that you know about the specific software project that you need an estimation for. How is this project unique and different from the baseline? Is it less complex? Is it being built on a different platform? Is the team more experienced? The main thing is to never neglect the outside view – start with the outside view and make appropriate adjustments based on the characteristics of the new project.
As project managers, we have access to a large pool of previous projects’ estimates (time and cost) from a variety of teams and specialists. To support the planning process we often share this “outside view” with software development specialists and they may choose to use it to adjust their own estimates.