Before you hire a programmer to build you a scheduling or forecasting tool, please consider this story.
The Problem
I once had a CFO ask me to create a resource forecasting tool. The industry was forest products, and the tool was needed to help the sawmill forecast capacity demand based on raw logs coming out of the woods. The system was required to estimate the number of board feet per log on a log truck.
The CFO has hired a programmer and had already paid him for nearly two years of work without success!
The programmer’s tool had approximately 20 independent variables. Because this was a while ago, the processing power wasn’t all that great, so not only were the reports not working, but the computer also kept crashing.
The Root Cause of the Problem
Without getting “into the weeds”, attempting to write a mathematical calculation with 20 independent variables is extremely complex. Think of it this way: Each variable interacts with every other variable, (20×20), but then combinations of variables will also interact with other combinations of variables. So, if two variables combine to work with two other variables, and those interact with the other 16 variables, etc. Quickly the computations needed are into the millions of permutations, and the result is essentially an infinite number of possible outcomes.
To solve this problem, most programmers will use recursion and hope you pay their bill. Recursion, in my simple mind, is what you have to do to avoid having your software create endless loops and crash, or create almost an infinite number of results, or in English: Nonsense.
Recursion limits the permutations by using ‘rules’. These ‘rules’ are typically scenarios based on the judgement of experienced people.
What I Did to Solve the Problem
My approach to solve this problem was to take the line of questioning I learned from my grandfather:
“Before you had this tool created, how did you calculate the board feet of a log?”
The answer was the CFO would get a copy of the estimated board feet receipts the truck driver put on the log load and use those numbers along with a couple of assumptions the CFO got from the sawmill manager’s experience.
My follow up question was, “How accurate is that calculation?”
The CFO said it is accurate enough for me to forecast sales and costs within an acceptable error range.
My last question was “Why don’t we use that formula?”
The CFO, visibly relieved said “You’re hired”. We finished the project in about a month.
Just So You Don’t Think I’m Crazy
Today, the log industry’s best tool to calculate board feet from logs dates from 1837, the Doyle Rule. In practice an experienced log truck driver or sawyer, is more than 90% accurate on the actual board feet, looking at bark depth, number of knots from branches, the slope of the log from trunk to top, and several other factors.
Conclusion
- Even in 2023 humans are still smarter than software, especially when the calculations require judgement and estimations rather than precision.
- Don’t hire a programmer to automate a process unsupervised. Make sure they work alongside an seasoned manager who understands the process and the range of expected outcomes.