A manufacturing company quoted jobs in an application built ten years ago and never updated since. One person in the company knew how to operate it. Today five people work in the new application and prices are calculated against current price lists.
First I built a simplified version that could only calculate a price, and sent a link. No invoice, no commitment. I wanted to know I was aiming right before we started talking about it.
The client sent the price lists as she kept them: twelve spreadsheets for three production technologies. With them, the rules of her trade in plain sentences. No technical specification was ever written.
She clicked through it, wrote down what didn't fit, and the next day she had an updated version. Four times in a row. Then deployment to the company network, accounts for each estimator and live operation.
Each with its own parameters, materials and rules. Purchase and selling prices including volume discounts.
The application uses actual warehouse prices. When they differ from the price list by more than a set percentage, it raises a flag on its own.
Price lists, discounts, help texts and default values: the client changes them without me. Every change can be traced.
Every calculation runs a second time, a different way. If the two numbers don't match, the application stops and shows where the difference is. So no estimator sends a customer a wrong price.
The quote had a cap of 1 650 EUR. More got fine-tuned than we expected, including things that were not in the brief at all, and the cap did not move. I invoiced 1 650 EUR, exactly the amount the client had counted on from day one.
Anything beyond the scope had a price in advance and the client decided whether she wanted it. Fine-tuning what is already in the application is never billed.
At handover you get the source code and instructions on how to run the application. Any other programmer can take it over anytime without starting from scratch. Nothing of yours is locked in with me.
You don't need to know how to write a specification or how it gets built. It is enough to know what your company needs. Write it to me in your own words and I'll tell you what it takes and what it will cost.