Software development produces two distinct end products:
A software development project then tries to allocate resources fairly between the two.
The scale tilts to the first for one-off, short lived projects while strategic, long-term projects need to focus on the second.
The hard part is explaining to your customer why you need to allocate resources to the latter instead of the first.