The Benefits of Custom Software Development
Packaged (off-the-shelf) software vs. a custom software solution — that is the question. Actually it’s not that simple a question anymore. Today there are many hybrid software alternatives, which start with a packaged solution that can be quickly modified to meet the customer’s exacting business requirements.
In the “old days” — remember PC DOS and mainframes — most business software was custom built from scratch due to the lack of availability of flexible industry-specific packaged systems. Yes there were some standard accounting systems, manufacturing systems, HR systems, etc., but in large part business software (particularly for large organizations) was written directly to customer requirements. Software was written in everything from low level machine code (0’s and 1’s), Assembly language, COBOL, BASIC and other “higher” languages. Many companies were rightfully wary of custom solutions due to the difficulty of debugging and supporting these systems, but often had no choice.
Then along came one-size-fits-all software (especially with more Microsoft Windows adoption), which generally included some limited configuration capability. Early on, customers recognized the benefits of packaged software and were more willing to conform to the software’s processes rather than modifying the software to the organization’s methods. Software support, particularly upgrades, was cheaper and more reliable. Essentially the software’s larger customer base made debugging far easier and faster. The user base “shared” in the development process.
Today’s generations of software development tools (i.e., Java, .Net and supporting frameworks), makes building robust new applications faster than ever before. Today’s software applications take full advantage of powerful and time-tested development tools (both licensed and open source tools). Not only do these tools speed up initial development they do the same with modifications to existing applications. Today’s software is also built with responsive design so that it works on all devices: Desktops, tablets and phones.
Since today’s development platforms are more standardized, the pool of experienced developers can be very large, lowering the risk of supporting custom code. (Almost) gone are the days of proprietary (non-standard) development platforms (remember Digital, NeXT and IBM OS/2). One programmer’s Java code can readily be interpreted and understood by other programmers, creating efficiencies in the process. Or, at least, that is the theory.
Businesses have 3 fundamental choices when selecting a new software system:
- Hybrid (customized package)
My advice has always been to choose packaged solutions when they entirely or substantially meet your business requirements. The cost to deploy and support will be lower and the solution will be truly time tested.
Next would be hybrid. As I have made the case here, customizing a modern off-the-shelf system (from the right vendor) presents minimal risks and provides the benefit of meeting 100%+ of your business needs. Your users will always appreciate it when the system runs exactly the way they expect it to run; and often, some customization is necessary to meet their expectations. It is important to note that many software vendors will not customize their solutions, so what you see is what you get. LBi Software does provide customization services for all of our products (that’s why I am writing this post :)). Our client customizations are often minor in nature but significantly enhance the user experience. And we provide 100% system support regardless of modifications performed.
Lastly, fully custom software solutions provide a very important advantage. They are your only choice if your business requirements cannot be met with any packaged solution. One example would be an employee HR self-service portal with interfaces to many internal systems, and requiring features that assure adherence to government regulations, such as those found in the financial services or healthcare industries. There are a myriad of packaged self-service portal solutions on the market, but if modification is substantially required to meet the business’s needs (for instance >50% customization), it is probably a wiser choice to build from the ground up rather than make heavy modifications. The key is finding the right vendor that can demonstrate the proven capability to build and support such an application.
In the end, it is critical when selecting any new system that you understand the system’s capabilities relative to your requirements, before the purchase. Have the vendor walk through your core business scenarios to avoid surprises after the fact. If some modification is identified, be certain the vendor has the willingness and experience to perform the work.
Remember, the goal with any new system deployment should be no or at least minimal compromises or work-arounds. LBi Software strives every day to achieve that goal with all of our valued clients.