The dangers of considering software development as a transactional and commoditized business.
In today’s world, we usually exchange money for solid, tangible goods or well-defined services. That’s how material transactions work. As an example, we might buy a t-shirt for $50. That means you give someone $50, and they immediately give you the t-shirt. Or you pay a plumber $15 and hour. Then the plumber spends some time fixing your leak. In this case, there’s a high level of certainty that the problem will be solved.