Pricing custom software is hard. Learning and designing everything upfront doesn’t work and is inefficient. Not doing any planning is also a recipe for failure. In addition to this, the start of the project is when you know the very least about it.
For pricing software, two models make sense to me: value-based pricing or an ongoing development cost.
Value-based pricing works well for projects with known, fixed outcomes. The price of the project is set as a portion of the expected benefit for the customer. For instance, I built some reporting automation which was costing about $15,000 annually in direct employee costs, plus indirect costs. Spending about $7,500 was a no-brainer for the client and worked well for me. This paid me well so I wasn’t rushing through the job, and since this was a repeat client, I knew I would run into the code so I wanted it to be high quality.
Setting a price for a project between the cost (what I need to make to survive) and the value (what the client will gain), means both parties are fairly compensated.
When projects do not have a fixed outcome, or that outcome is ambiguous, an ongoing relationship is typically most appropriate. Using an agreed-upon rate, prioritized work will be tackled until the client stops receiving sufficient value from the pending tasks. Units of time will typically be measured in weeks, sprints, or months, and historical pace (velocity) will be used to set expectations for future work.
Because the scope of these projects are not fixed, estimating the cost hardly makes sense. A responsible technical partner should provide a statement similar to “With the currently discussed scope, I think this will take 𝑥 to 𝑦 months”. This allows you to have an idea of the cost and gives you a feel for the level of confidence present. A project expected to take 6–7 months is much more confident than one projected to take 3-12 months.
Finally, an easy question! The correct answer is yes.
Both models are a great solution for the right project. For me, the biggest distinction is the scope of the project:
Fixed → Value Based
Variable → Ongoing
If you need a custom software solution but aren’t quite sure what your next steps should be, book a free call to get clarity today!