I get it, I’m a CIO myself, and often think, why do we need to buy this out-of-box solution when my team and I could build it? But then I think, why do I want to? And how do I know it’s going to work and be scalable? Does my team have the necessary understanding to build a world class system and can they build it quickly enough to meet the business requirements?
So here’s the scenario:
You’ve gone for the build option. You’ve put together a team of people. The team is awesome and motivated and has the support of the business and work tirelessly to satisfy the business demands, eager to deliver new functionality on an epic scale.
The business is happy because they see real progress - the system is evolving in front of their very eyes, and they are actively engaged in the design of the systems. Management are delighted because they now have some control over their business, and the software platform meets their every requirement. There is no 80% fit, it is perfect and as they tweak their business model, the system is modified to accommodate every necessary change in business strategy.
And it works.
The business becomes successful. As a result of the people, the marketing and the support of the systems the business grows and very soon the requirements start mounting on the developers to introduce more and more features to enhance and support the ever growing business.
Then this happens.
Delivery of new features slows, so much so that it starts to inhibit the business, and the cries from the IT team to the finance team for more budget for more resource fall on deaf ears and so the IT team fall in to support mode.
After so much expense over years, the business now has a blocker which is difficult to change, a platform which is less flexible than was first imagined and a team of IT specialists in house that are less than happy with what they have produced.
Maybe this sounds dramatic, but seriously I have seen this happen many times in large organizations and after that negative experience they then come and talk to me.
Does your organization really want to go down this path?
Let me outline the advantages of building versus buying a custom solution:
1) You build your own solution:
- You design your own application (features, functionality, everything)
This is the biggest driver, but does your organization really have the skills and capabilities in house today to do this? Have you done a cost/benefit analysis on the time, resources required not only to build, but to maintain it as well. I would say factor in at least 2x budget before you even get close to what it costs to build an in-house software application.
- You have total control over the environment
This is an important one. Management really enjoy being able to make decisions and have actions taken immediately and with your own built system, you can do this. I would ask to consider how important this is to you and whether an outsourced product could offer this kind of service anyway.
2) You license an existing system designed for purpose:
I’ll admit I’m biased, but here’s the biggest advantages you get when you actually invest in a 3rdparty software application.
- They will invest in their product based on what you ask for
Nearly every customer we have, has helped us define our roadmap. We build out capabilities based on their requirements and needs as well as implementing many of our own core roadmap. Before designing a completely new feature, we always seek their feedback to ensure it would add value to their processes.
- You gain their existing deep technical expertise in a subject that is not your core business
Ever heard the adage “Jack of all trades, master of none”? Every software company is an expert in their field. No generalist IT team can replace the value their expertise will bring to your organization.
- You will gain experiential benefits that other customers have already solved
Many existing SaaS companies have solved most of your problems already for their other customers, why not take advantage of that value that is effectively being given to you!
- The solution is out of the box scalable
Software programs are all about scale and future; but building for scale is actually one of the hardest things to do as a developer. Have you thought about how to take a data file from 2,000 lines to 200,000,000? We have. Our engines regularly manage interfaces that communicate not thousands but millions of records and we’re certainly not alone in this.
- Potential efficiencies achieved through a “network effect”
There is massive upside potential in generating what we call the “network effect”. When systems can start talking to one other through regular interfaces in real-time it creates a powerful mechanism for operating a business, especially one in which a channel strategy is in operation and everyone requires information from each other’s systems.
So, still thinking about whether to build that system?
If I can leave you with one final thought – scalability of an internally built application will always be your challenge and will fail over time.