The platform vs. custom software debate might not be as epic as Microsoft vs. Apple, Nintendo vs. PlayStation, or even Star Wars vs. Star Trek, but it is a comparison worth taking a closer look.
Platform and custom software development both result in systems that companies use. While each has historically led to successful outcomes, what is the difference between them and which is a better approach, given advancements in information technology?
Software Development Lifecycle
Until a few years ago, one-off or custom software was the only choice companies had. They consulted with their in-house or third-party software partner and collaborated on requirements and system design. Once agreed upon, the company's development partner built the code and developed the software. The end-users often were only involved in testing after most of the software had been built. This constantly exposed fundamental misunderstandings between what the requirements said and how software developers interpreted them. Fixing these misunderstandings at this later stage required a herculean effort to refactor the code and came at an exponential cost.
Platforms like low-code/no-code work differently. Low-code platforms leverage a visual software development environment that allows developers and IT professionals to quickly design, test, and deploy powerful software applications. Clients are involved throughout the process as the software is built-in real-time using drag and drop functionality and "what you see is what you get" (WISYWIG) development environments.
In traditional software development, change requests are more common than you think. Your software development partner must be consulted for every change or revision and must resource and execute a complete development lifecycle. This takes money and time. Low code platforms instead employ the same point and click technology to implement changes in near real-time. For infrastructure, low-code platforms mainly operate as Platform-as-a-Service (PaaS) - meaning they are run and maintained by the company that owns the software, like Microsoft 365. The hosting company handles updates and improvements in the infrastructure without tedious involvement from you.
Custom software development takes years to complete. Organizations may not have the time or effort available to see these projects to completion. Changes in requirements, scope, teams, and leadership can often lead to project delays and failures. On the other hand, low-code platforms can be used for rapid changes, eliminating the challenges with traditional software development. You can start by building small applications or modules and build as you go. If a third party develops your system on low-code platforms, it still might take a few weeks, but it is much faster than a complete custom build.
A recent analysis of 100 projects shows that 10% of the projects that used low-code were 10-25 times faster than the other 90% that used Agile.
Depending on the requirements, complexity, and team size, the costs can rack up to hundreds of thousands of dollars in custom software development. Low-code platforms mostly use a subscription-based price model that lies on the other end of the spectrum. The difference in cost lies in how development happens – with low-code platforms, you pay only to access the service and use what you need.
In a snapshot
Custom build approach:
- This approach provides a solution that is built grounds-up for organizations and their unique requirements.
- It provides no incentive for partners to support ongoing investment in the solution as it was specifically for one organization (other than third-party software costs).
- It requires more third-party product integration that increases the solution's cost, complexity, and long-term maintenance.
- This approach increases project risk due to the customizations that are required.
- It provides no path to maintain the system's technology base, resulting in technology obsolescence at implementation and beyond.
- This approach provides pre-built templates and modules that can give a head start in your application development process.
- It takes advantage of product investments through future upgrades avoiding technology obsolescence.
- It reduces reliance on multiple third-party products and limits integration with numerous third-party software products/versions.
- The platform approach lowers overall project risk as rapid development on the platform allows for rapid changes, too.
- It separates the business and the technology layers so the technology can evolve without disrupting business rules.
If you are a company in a niche field that needs a high degree of customization, then maybe custom software development is the way to go. For example, Cook County overhauled its outdated enterprise resource planning (ERP) solution in 2018. As a result of their unique structure, they had to implement eight different ERP systems in one, which led to their decision to build. The new ERP they developed is reportedly generating monetary savings while also providing much better functionality. This is a perfect example of the potential upside building custom software has.
But as highlighted in this article, building new software has its risk. It takes an enormous amount of time and effort and can end up costing more. Low-code platforms eliminate these risks and provide you with an enterprise application that is more robust and easier to maintain. An example of this is a U.S Federal agency that created a Telehealth Grant application using low-code. This helped the team focus more on requirements, transparency, and oversight instead of developing custom components and code.