During the COVID era, I started thinking of all the home improvement projects I would like to tackle and sadly have not started any, lol. However, I recently became motivated and decided to apply drywall mud (skim coat) to two walls in my garage that have been dinged and dented over the years. An essential part of this process is to first estimate my materials, time and effort to minimize the impact of disruption to my family’s day to day lives. Estimating this job is a simple process – amount of surface area to be covered yields the amount of drywall mud I will need. The time and effort to complete the project is the fuzziest part of the estimate, but since I have mudded before, I have a rough idea of how long it will take to mud, sand, mud again, sand again, then primer and paint. The risk of this estimate is low, since my work won’t be keeping a medical device functioning, an airplane afloat or a billing system used by thousands operational.
Estimating software delivery is not that simple and its accuracy can be easily compromised – but what is “accurate?" Software estimation’s non-linear nature introduces much complexity, since time, effort, resources, and quality are all interdependent - when a change to one of those measures happens it affects the others.