“Why do we need our software to be proprietary at all?” I was asked by my boss a couple of weeks ago. And by proprietary she meant things built on our own instead of taking something from the shelve.
I’m sure there are good reasons for being proprietary.
These reasons of course highly depend on your business and the kind of software we’re talking about.
These are the top X reasons for building something yourself:
- It’s never been done before!
- It’s not available elsewhere.
- It’s too expensive..
- You can do it better!
- You need a high level of specialization.
The first two reasons are fast-selling items.
Looking at the price tag is an economical perspective that can produce a reasonable decision when people do their job properly and add up not only the costs of development but also those of maturing the software over time and the costs of not having a solution while the software is still being build. If it adds up – go on and develop some software yourself.
The fourth reason is arguably a good reason. If applicable solutions exist but are in fact far from ideal as you define it I see no reason not to do it. However you need to be extra sure that your view is not flawed by some exaggeration of your own capabilities.
The last reason is what I think is the most overrated and misjudged.
When the level of specialization is determined by your competitive environment and you need to offer unique features in order to reach and maintain your target audience then you probably do need to be flexible and are better off with your own solution. Granted.
But the question is how much software are you building yourself and how much are you building on top of? From what level do you need to be flexible?
Do you build everything yourself? Do you use a framework and start from there or is there a solution available that fits your requirements but allows a level of specialization that makes you flexible enough?
In my opinion there is no reason ever not to use a (good) framework and there is rarely a good reason to not use a full blown solution. The head start you will get by using i.e. a CMS or CRM and then specializing it is worth so much in contrast to develop it on your own unless the above reasons apply and conflict with available solutions.