Buying software can be a lot like buying anything else. So it should be treated that way. Would you buy adult-sized shoes for your child, in anticipation of them becoming an adult? It wouldn’t be advisable. So why do we so often do this when building custom software?