I'm trying to find out your decision rationale of when to do what. Would be great to learn from you. I'm happy to provide more context, but I want to make it general for now.
|
|
Things to consider for a make-or-buy decision
|
||||
|
|
|
It is, as pretty much every other answer has said, a cost-benefits decision:
It comes down to whether the cost, offset by benefits, of a custom-developed solution is less than the cost of the off-the-shelf product. There are also opportunity costs to consider. Understand that these are not to be included in the real costs of developing vs buying, but in the wider world, you have to consider them. If your in-house development staff is working on this one project, they are not working on any other project; that means if there's another project on the list that is costing you money every day it's not done, it may well be a higher priority causing you to shelve or even cancel custom development and go with the off-the-shelf package. However, if not doing this project means your in-house staff is sitting on their hands, the developer cost is sunk; you're paying your development staff whether they're working or not, so it will cost you less overall if you're using them to their potential. |
|||
|
|
|
On a personal level, I develop on a weird combination of what I want and what would be interesting to write. On a professional level, @haylem makes a good overall point about when to buy versus when to write. I will say that there is a huge element that is overlooked: opportunity. For larger companies it often makes sense, in my opinion, to custom write core line of business apps (not all line of business apps) when doing so makes the enterprise more nimble. There is an opportunity cost associated with buying software because then your enterprise (not just your IT) are locked into the vendor's way of looking at your domain. For most things, it doesn't matter. Your accounting system had better not be creative. Your word processor will be just the same as anyone else's. But the things that make you you might be better written in house so that it can adapt to what it is that your business is trying to accomplish. |
|||
|
|
|
It's overly simplified I guess, but that sort of holds true as a general guideline: In a Personal Environment
AND:
If yes, then I prefer to write it than to buy it. In a Professional EnvironmentIf the total cost of ownership of the product (including development, testing, maintenance, support or any related expenses) is higher than the cost of the product, and that the calculated return on investment won't offset this cost, then you're better off buying it and moving on. |
|||||||||||||
|
|
||||
|
|
|
Anything that has to do with cryptography. There are a 100.000 ways to do it wrong and expose your software to serious security vulnerabilities and just a few ways to do it right. High expertise is needed for this. |
|||||||||||
|