In 2009 I didn’t know how to price for my software development work, and I got stung
In summer 2009 a client contacted me with an urgent request; to build, in ten days, a piece of software that would automatically calculate the optimum configuration of products to be stacked on a pallet, so as to minimise the number of pallets required.
The products in question were boxes containing several bags of rice, pasta, mixed peppers, that sort of thing. Each different product necessitated a box of a different size, and up till then the daily pallet plan had been determined manually by the transport manager, using nothing more than a pen, a scrap of paper, and lots of quiet time. As sales grew this task was becoming increasingly complex, and a horde of new product lines were due to go live in ten days time. Once they had landed the task of manually planning the pallet stacking would be nigh-on impossible.
The solution didn’t need to be fancy, it just needed to work, and the multitude of print-outs and reports it would generate needed to be easily editable to allow for ad-hoc tweaks. A Microsoft Excel spreadsheet, heaving with VBA, would be the order of the day.
So I set to it, and a week later I visited them to demonstrate the result. The general manager phoned down to the factory floor to ask the transport manager to pop upstairs to take a look; only he could judge whether its output was up to scratch.
We tested it; the transport manager sat down with a pen, a scrap of paper, and a set of sample sales orders, and determined the configuration of pallets he would typically assemble based on the expected out-load. Armed with the same figures my “palletiser” software produced the exact same plan.
We were all ecstatic, and ever-so-slightly awed at the ease with which the palletiser had done its thing. With the human-logic reproduced satisfactorily it was agreed that the spreadsheet could be put into action the very next day, with the transport manager performing double-checks for the first couple of weeks until he could be happy that the algorithm was mimicking his thought-processes in a predictable manner.
And that was that, no twists, no mishaps, no unforeseen latent bugs. Everything continued smoothly.
But what did I charge them for this software? It was an ingenious and complex application, albeit clumsily housed in a mere Microsoft Excel spreadsheet. Because of the urgent nature of the work I told them I would have to calculate the fee on an hourly rate, as there was very little prior planning time, and so I ultimately plumped for a fee of £1200.00, followed by further bills of £200.00 and £75.00 for a couple of additional modifications required a few weeks later.
I was such an idiot in 2009.
This innocuous-yet-complex Microsoft Excel spreadsheet has saved them (and continues to save them, albeit in a re-imagined and reengineered form) at least one person-hour per day, seven days a week, ever since. This timesaving estimate is extremely conservative – their company sales have more than trebled in the intervening years, and as such the complexity of palletising the products has increased. The recent agreed estimate is that it now saves around three hours of work per day, replacing chores within the transport, accountancy and planning departments. All of this brain and paper work has been reduced to less than five seconds of computation and a few minutes of automated printing.
And in total all I charged was £1475.00.
I will regret that invoice for the rest of my days – even at £5000.00 I would still have been undervaluing it. It may have taken less than a fortnight to build, but it was worth so much more than the time it took to engineer.
I learnt a valuable lesson; it isn’t the cost of the work that matters, it’s the value of the resultant product. I was a stupid, stupid boy.