Make or buy? Commission a bespoke, custom made software application, or buy a refined, standalone product someone else is developing? You are lucky if you can choose. If the requirements fit, the choice should be a no brainer. Here are 5 reasons why a product always beats a bespoke system.
1. Go with a company whose business model depends upon building a great product and providing a superior service.
The allure of the bespoke system, software tailored to your needs is obvious. You will get exactly what you want… But will you? Practice repeatedly shows the opposite.
The “project business model” is to blame. The bespoke application builder’s main incentive is to do the minimum to meet their contractual obligations, to make sure they do what was agreed with the customer. Every additional investment comes off their profit margin. Unfortunately for you the customer, the reality of software development is different. It is not about what is specified up front, but what you learn by people actually using the system. The more they use it, the better.
Not every project is like this. Only every other. Or 2 out of 3 (depending which of the many reports you wish to believe)
Product companies take a different approach. They listen to many, many customers. They come up with a vision, implement it and put it in use as soon as possible. Then they observe the users using the product, and listen to their feedback.
And then they iterate like mad. Until they start seeing happy customers. And then some.
Their business model dictates that. They can not recuperate their development costs from one customer. They have to make sure they make a killer product that many will want to buy. In addition, they have nothing else to do, this is their job, and their passion. Their product is everything to them.
And if they are charging you a pay-as-you-go model, you can be sure they will do everything to keep you happy as a client.
This means superior customer service. Or you stop paying.
2. Crowd costing is cheaper than paying for every single line of code
Going with a product company, is a bit like buying insurance. Really. When you buy from a product company the costs of development are distributed amongst all the customers. This is why they will invest much more in aspects of the product than an enterprise development company will ever be able to do.
In addition, if you build the product yourself (or commission the development), you will have to pay for the full development up-front and the payback period might be significant. With a pay-as-you-go pricing model it is the product company doing all the up front investment!
You get your full ROI from day one.
And don’t forget all the hidden costs! It has been estimated that with bespoke systems, 80% of the cost goes to maintenance and support. I’ve yet to see a company with a key business bespoke system without a person or two – even a team – dedicated to maintenance and customer support of that system.
Companies with internal IT departments sometimes believe things are free because they have to pay their programmers and infrastructure anyway. If they are worth their salt, they will have a big backlog of things to do. Therefore, building a new solution results in a significant opportunity cost. In addition to all the development and maintenance cost – all to be bared by you.
3. A focus on simplicity and ease of use.
In order for a stand alone product to be successful it has to strike a balance between simplicity, ease of use and functionality. For the company building the software product, this is their core business. They will do everything to make it the best possible and keep it that way in the future.
In order for an enterprise developer to get paid they need to deliver all the features you want with only a minimal regard to simplicity and ease of use.
The problem is that with bespoke systems the end user is almost entirely in charge of the features that will be included. Which admittedly sounds appealing, but the tendency then is to ask for what becomes an inherently complex set of features. You end up with the classic application where only 15% of the features are actually being used. You will be missing the input of experts that know how to wield a ‘simple stick’.
Ken Segall in his book “Insanely Simple The Obsession That Drive’s Apple’s Success” points out that whenever someone would come up with a complicated plan at Apple, Steve Jobs would hit it with the ‘simple stick’. We all know the elegance and simplicity of Apple products. That is what you also want for any software that is going to be central for your business.
Go with people who know how to strike a balance between simple and functional. Don’t rely on a developer who gets paid more for more code, and is being directed by your colleague that wants the application to do everything and anything.
4. Benefit from continuous innovation and the wisdom of crowds.
It is an illusion that the product is finished the moment it gets delivered by the developer to you. That is actually where the learning really starts. Successful products evolve. Product companies continuously invest in improvements.
By building the solution yourself you will lose a very important advantage: the opportunity to learn from other companies coping with similar problems. The more customers, the more knowledge about the market and best practices is embedded in the product.
The best product companies organize themselves to ensure this really happens. They listen, listen and listen. They provide 24/7 customer support and feedback mechanisms. They organize usability tests. They monitor everything that is going on: from usage to the system performance. They constantly listen.
They also build highly responsive organizations. Listening alone is not enough. They make sure they can respond within days if not hours. Their software code is covered with automated tests, and their build and deployment process is completely automated too. This allows them to release improvements to their product multiple times a day.
5. Avoid the costly lock in
Typically only a very few people within your company will know the ins and outs of the custom developed product. You will be dependent on their availability and their career decisions. In addition, when you pay a lot for a piece of software a certain level of inertia develops. You will not stop on a dime and go with another solution. It will be a hard fought decision to change course requiring the approval of several layers of management and will evoke the scorn of those who approve the initial expenditure.
This ability of customers to switch applications relatively easily is the beauty of it. It keeps the providers sharp. It also has the tendency to cull out the poorly made programs. In the current fast moving marketplace there is a constant selection occurring. Survival of the fittest. You should take advantage of that. Choose the best possible stand alone product and change when something better comes along. All while paying a fraction of the cost to have something developed in house by an unproven development team.