A lot of times I get a feeling that a lot of people are looking out for take-out software. Take-out is a term used to refer to food purchased at a restaurant but eaten elsewhere. Different terms are used in different places – take-away, carry-out, parcel or to-go. You usually ask the restaurant to provide the food in a package that you then take somewhere else, including at home, and eat. I certainly did not think of this when I had made an analogy between running a restaurant and software development.
But I think we can continue to use it for the purpose of this discussion. There is no absolute objection to the take-away concept in software, it does work out in some cases. However, just like in the food, the biggest difference with take-away is ownership of responsibility. You are taking the responsibility of carrying the food and serving the food on yourself, which would be on the restaurant if you had eaten there. If you think that the serving can ruin your experience, you need to either possess the expertise or need to get someone else with the expertise or be ready to suffer at your own hands. When you take-away you cannot blame the restaurant if the food is not served properly on the plate or if it gets spoiled before you get to eat it. The restaurant might not know anything of the plate, the temperature, the servers or the number of people sharing it. It can at the most give recommendations. You should follow these recommendations to get the best experience, unless you know exactly what you are doing.
Now, this works when bad serving does not affect what you get from that food. I have seen this work for a lot of fast-food joints. However, do you think it will work if you order take-away for French food?
The same would go for software. Whether take-away will work for you or not will depend on the software and of course you. If you buy a piece of software, then you need to have the expertise to use it or you need to get people who have the expertise. You have to make sure that it is hosted properly in the right environment and is used properly. Benefit of software is not in owning it, but in using it properly, only that provide the maximum ROI.
Of course the difference with software is that usually you are just a representative for an organization and higher investment is involved. You have a higher responsibility in which case it is better to use the experts, whether they are the ones who gave you the software or not.
The reason I brought this up was because software is compared to a lot of products and service industries, but the same principles are not applied. And the fact that it is software, it is different from other products. If they are not considered, you will never be able to gain exclusive benefit out of it.