Estimating time and financial implications of projects; where we get it wrong
The average one of us has been in a situation where we contracted a job to a semi-skilled personnel (a plumber, a carpenter, a tailor, a mechanic or something), they probably gave us a financial and time estimate for the work. Sometimes they disappoint and the work ends up taking longer than they promised and at times incurring more financial cost than budgeted. This is very frustrating for the client who contracts their services.
Just like semi-skilled personnel, software engineers at times have difficulty estimating the time and financial cost associated with a project. Sometimes things go wrong on a project which complicates matters. A small bug in code can take hours to debug, a project I once worked on was delayed by over 24 hours because I wrote one code a line above where it was needed. The entire project crashed as a result and it took a while to spot the error as the error reports I was getting were misleading. In projects with a lot of moving parts you have to acknowledge the possibility of things going south.