In the beginning it was all custom. The original computers were bespoke behemoths – every piece of hardware and software were tailored for that particular computer. Then people started to see the value in standardization – if we use the same hardware and operating systems we can mass produce these systems. This gave rise to the mainframe and the mini-computer. Companies like IBM and DEC thrived selling these computers. IBM’s AS/400 was so successful that you would be amazed at how many of these systems are still in use around the world.
The 80s saw the rise of the PC, the relational database, the laptop. With all these components in place, a group of German IBMers decided to create a new software category intended to seamlessly run an entire company: Enterprise Resource Plannning, or ERP. That company was SAP, and their original vision was incomplete from a technological standpoint, but the business case was compelling, and it started a groundswell move towards packaged software that has continued to this day.
Packaged software is very good now, and the investment being made by the large players is staggering. Oracle, SAP and Microsoft are all spending over a billion dollars a year on R&D. It is a global war for the hearts and minds of the business software decision maker. The quality of the software and the completeness of vision of the solutions is far superior to what it was even 5 years ago. The rise of the “Cloud” has also dramatically decreased the complexity of implementing packaged software solutions.
Outside of the “Big Three” there are all kinds of players in packaged software, from CRM (Salesforce), to Marketing Automation (Infusionsoft, Hubspot, Act-On, etc.) to Project Management (Jira, Base Camp, Igloo, etc.). A while back I discovered an ERP that specialized solely in companies that manufacture corrugated boxes. There is enterprise software of every color and stripe out in the marketplace.
So given that we could be said to be living in a “Golden Age” of packaged software, is there still a role for custom software? The answer to that question is a resounding “YES”. Here are just a few of the many reasons to consider custom software:
By definition, packaged software is not going to provide a competitive advantage. Through your particular implementation you may feel that you have a superior solution to your competitors, but ultimately they will have access to the same packaged software and same consultants that you do.
Your “secret sauce”, your competitive advantage, can reside in many different places in your organization. It could by your R&D, your manufacturing processes, your logistics, your customer service. It can be many different places. Wherever that competitive advantage resides, you should apply software to leverage this advantage as much as possible. Custom software will best allow you to capture and sustain this advantage, and will also give you the ability to control the intellectual property associated with your competitive advantage.
Packaged software does a lot more than it used to, but it still doesn’t cover the full range of software applications in business. From time to time, you may find you have a business process that cannot be properly addressed through business software. You might have a pricing model that doesn’t fit, you may have a logistics system that can’t be effectively modeled, your workflow for certain processes may be outside of the available choices within your packaged software.
When you run into these situations you have to ask yourself, do we adapt to the software, or should the software adapt to us? It’s a good point to assess your processes and see if a new approach might be superior, but in many cases you’ll find the appropriate response is to take the custom approach.
This is a special type of competitive advantage available to so called “first movers” - a distinct and special opportunity to garner the benefits of a new technology when it first enters the marketplace. The time between a technology moving from being revolutionary to everyday gets shorter and shorter. Today there is probably a window of a couple of years. The packaged software providers are large, monolithic institutions that are going to lag in the adoption of new technology. If you wait for the packaged software to add the new technology, you will miss the window. Your only option is to go custom.
Mobile and the cloud are now seen as commonplace, everyday technologies, but 5 or 6 years ago, the strategic deployment of these technologies could give you a big leg up against your competition. Today technologies like Big Data, and the Internet of Things offer big benefits, but you will have to move fast, and you will have to follow the custom route.
Vendors are going to try to convince you of the seamlessness of their enterprise solutions. “Everything is easily integrated with everything else”, “our family of solutions talk to each other out of the box”, “the data flows from one solution to the other without virtually any intervention”. Don’t believe it – often the vision presented fails to mention that the software is a bunch of packages that were acquired through purchase and have been cobbled together in the most rudimentary of fashions. Different architectures, different data models, and different processes. Data is still often siloed - even packages from the same vendor do not always talk to each other, and integration tools provided by the vendor are often very basic.
There is no way around it – if you really want to avoid data silos and make sure that everyone in your organization has ready access to the information they need, you almost always have to build custom integrations between your applications. This is an area where the custom approach really shines – ironically, the “data at your fingertips” promise of enterprise software can’t really be delivered without a strong assist from custom software.
If you’re developing software for resale, in the majority of cases you do not want to build it on top of a packaged software package. That would create licensing issues, would give you less flexibility, and would complicate maintenance. Packaged solutions can be very helpful in prototyping and building MVPs (Minimum Viable Products), but when you’re ready to build your real product, it’s best to create it in a fashion where you own the underlying intellectual property. The only way to accomplish this is through custom software.
By the way, don’t kid yourself, packaged software still needs a lot of customization. They just call it different things – configuration, implementation, adaptation. Purchase any enterprise ERP, and try to get anything done out of the box – you won’t have a lot of success - they all require a team of skilled consultants to get them off the ground.
We are living in a golden age of packaged software, but there’s still a strong role for custom software in virtually every organization. Would I recommend building an ERP from scratch? A CRM? Of course not. But any CIO will tell you that custom software can often be your best friend.