Modern Day Build Vs Buy – Author John Olsen
When I first started working in technology in the late 90’s the question of build vs buy was simple. If you couldn’t find a boxed software solution that not only fit your business needs but also integrated with your legacy systems, you needed to build it. The ability to extend existing software was limited primarily to ERP solutions, requiring a massive investment of resources and typically resulted in a solution that was 65% awesome. Internet connectivity and bandwidth issues meant software was something to be installed locally on each and every computer, ensuring a near weekly interruption from a surly IT staffer to run updates on your computer and leave potato chip crumbs in your chair.
As we slid into the new millennium, web hosted software solutions started to emerge. Salesforce was one of the first companies to use Software as a Service (SaaS) as a key selling point. No more installing and updating software, this cloud hosted solution did not require technical resources from customers, what a revelation. Time and technology marched on and every aspect of software development advanced. As the tools to develop software improved the quantity and quality of solutions increased exponentially. Internet connectivity became ubiquitous and the introduction of mobile apps further cemented the need for cloud based platforms.
At first glance the question of build of vs buy in 2020 seems glaringly obvious. With all of the software solutions out there, why would an organization attempt to build software that already exists. Surely there is software out there that solves your exact business need and integrates seamlessly with any and every other system.
The answer may not be quite as obvious as it initially appears however. One of the side effects of easily purchased cloud solutions specifically targeted to a specific business need is that businesses will soon find themselves with an ever increasing list of monthly/yearly subscription fees. As an example, Hubspot, the very popular web based CRM platform can cost companies hundreds of thousand of dollars per year! And that is just for your CRM.
Monthly subscription fees can really start to add up. Even as an individual, one must be careful with monthly fees. Between video content, music content, productivity apps and other apps for different hobbies, if a person isn’t careful they can quickly find themselves spending hundreds per month on subscriptions. For businesses the problem can be exponentially larger with a significant impact on the bottom line.
So am I recommending businesses start designing and building their own CRM, Help Desk, Accounting Software and other business critical software platforms? No. I am not. But what is really interesting is the paradigm shift the IT industry has seen over the last decade. With the growth and progression of cloud computing on platforms like AWS, Azure, ServiceNow, Salesforce and others, the entire idea of software development has been transformed.
Complex software is no longer inherently huge, in fact it is getting tiny. Let’s start with where software resides now, in the cloud.
I remember when I first heard the term serverless I thought, well that doesn’t make sense, how can software work without a server. After I delved further into the topic I came to understand that serverless doesn’t mean no servers, it means there is not “A” server. There are many servers handling all the processes and they are distributed in such a way that nothing relies on a server, it is a compilation of many servers, a large mass of computing that is more accurately envisioned as an amorphous mass of processing power than a server.
As serverless cloud based solutions charge customers by traffic and resources consumed, it is now incredibly cost effective to get a solution up and running. Once the solution starts to get traffic and consume resources the costs will rise, but presumably so will your revenue. Serverless cloud based computing removes the complexity of dealing with servers at all levels of the technology stack, and offers a pay-per-request billing model where you don’t have to pay for idle computing time.
Modern compute services allow developers to run code without provisioning or managing any other server. It executes the code only when needed. It can scale automatically to handle a few requests per day or support thousands of requests per second. In either case you will only be paying for what you use. Moreover, businesses can run code for almost any type of application and/or backend services with little to no administration costs.
Serverless architecture and containerized solutions offer more than just savings on network traffic and hardware investment. Just as serverless has distributed network infrastructure, now too software solutions can and should be distributed. Software architecture solutions are now more comparable to building a large object with Legos™ rather than steel and glass. Just as steel and glass construction requires a massive quantity of resources and heavy equipment, building enterprise software used to require a large investment of resources and sprawling budgets.
The upside of subscribing to one of the many cloud based software solutions available today is that a small business with a modest budget can be entirely set up with enterprise level software solutions that are scalable, secure and incredibly robust. All of that but without the massive up front costs of yesteryear. This is great, but as I mentioned before, the subscription fees can and probably will start to pile up. Another downside is that these solutions are available to everyone, so in order for a business to build a competitive advantage, they will need to differentiate themselves.
Luckily, just as cloud based software solutions have evolved so have the technologies and platforms used to architect these solutions. Enterprise level software architecture and development is not quite drag and drop simple, but it is incredible what an individual or small team can develop in a short amount of time. Leveraging modern cloud technologies or ITSM platforms, developers can build incredibly robust, scalable and secure custom applications in a fraction of the time it would have taken even just 5 or 6 years ago.
I have always recommended my clients against developing custom software unless it was a last resort. I still don’t think it should be anyone’s first option, particularly within areas that are not core to their business. However, I do recommend keeping an eye on software costs and particularly when it comes to areas within your organization’s core competency, custom development should at least be on the list of options being considered. Also important to keep in mind is that developing a modern solution now could be as small as having a developer write a small script, upload it to AWS Lambda, and make it accessible via API. You could then extend some other modern software or in-house solution to connect to that API and presto, it is an integrated portion of the total software offering.
If your organization has software needs that aren’t being met and you are currently evaluating solutions, keep in mind that regardless of your business size, custom enterprise level solutions may not be out of reach. In fact it might just be the lowest priced option over time. MOJO Government Solutions, LLC has decades of experience in solution architecture, reach out to us today for a free consultation where we can explore all of the options available to you.