Every application starts out as a vanilla one. But applications often end up in more than one flavor, requiring more support over the lifetime of the solution, due to the relentless pressure to add custom code. However, highly customized software (and fully custom solutions) can cause problems for both software companies and their clients.
What’s Wrong with Software Customizations?
Too many customizations added to a code base over time creates technical debt. This can make updating to new technologies difficult or impossible. It can complicate testing. Customizations can give rise to multiple versions of an application, since there’s no incentive for a customer to upgrade to a version that contains customizations they don’t use. New releases can take longer and be error prone. Worst case, they may introduce new (or reintroduce old) errors into the application, or slow down processing times, impacting all customers. In the long-term, customizations may lock the software company into older technologies, making it difficult to retain technical staff to support the application.
Adding custom code as a panacea often originates with the sales department. Offering customizations for the unique needs of a particular customer is a popular sales practice. But a few simple changes can quickly snowball into a slew of overpromises. The sales manager may walk away with a nice commission, while the IT team has a list of requirements that, while they seem minor, may require significant re-writes.
But IT may also bear some responsibility, if the software is not designed to allow some margin for code-free customizations. And in fact, often the customer requires customizations that aren’t strictly necessary. This can happen when businesses or government agencies put out RFPs for project bids. Often these contain a laundry list of feature requirements, and sometimes in the process the perspective for what is essential versus nice to have is lost.
What’s Wrong with Buying Customized Software?
Federal and state entities have a long history of buying custom software. The RFP process, which requires certifying a long list of software features, can pressure organizations to add special code to satisfy the RFP.
There tends to be a mindset within governmental entities that they have unique demands that can only be met with custom solutions. While there are differences, most government organizations don’t need customized business software, so commercial off the shelf (COTS) solutions can suffice. As Tony Scott, who served as federal CIO during the Obama administration, noted in this blog post: “While real and important differences do exist for many federal functions, I’ve yet to find any agency that is 100 percent unique in all of its requirements or its business operations.”
One downside of customizations is that it’s costly. A study released by the Alliance for Digital Innovation estimated that, in the past twenty-five years, building custom solutions instead of using COTS has cost taxpayers $345 billion. Another is that it locks the organization into a solution that cannot be easily modified or integrated with newer technologies. To remedy this, back in 1994 Congress passed FASA, the Federal Acquisition Streamlining Act, which requires government entities to evaluate COTS solutions before purchasing custom-built ones.
This General Services Administration blog post suggests some basic rules to use when assessing the choice between a custom and an off the shelf product. For example, it suggests letting the application’s end users try out the demo or proof of concept to see if it meets their needs. And talking to other government entities using the solution; again, focusing on the end users of the product. From a technical standpoint, this post suggests organizations turn to open source solutions and/or connecting applications with APIs.
For Deep Experience Delivering ERP Reporting, Choose Orbit
Orbit provides reporting and analytics that is designed to for maximum flexibility. Our solution can be integrated with a wide variety of ERPs and data sources, both on cloud and on premise, to meet the needs of organizations without requiring deep customizations. Request an Orbit demo to learn more.