How To Know if Your Company Requires Custom Software
August 09, 2021 / Katarina Rudela
Reading Time: 10 minutes
Virtually all businesses now need software to survive, especially web and mobile applications. Acquiring the software that a business needs to operate often begins with the decision to buy commercial off-the-shelf (COTS) software or hire a software developer to build a custom solution. The most important factors in making this choice include the lower upfront cost of COTS versus the more useful functionality of custom software. The business processes the software must perform, the developer’s capabilities and security requirements are also key considerations in choosing between custom software and COTS.
Custom software is designed to meet the needs of one specific organization, so it only has the functionality required by that organization. COTS may not have all the functionality a company needs and will almost certainly have many features it doesn’t need. On the other hand, custom software is considerably more expensive than COTS because the client must bear all the development costs, whereas COTS can distribute these costs to multiple customers.
A 2015 study by Simform forecast adoption rates for custom software and COTS from 2016 to 2021. This study predicts slight declines for all types of COTS and custom software not related to enterprise resource planning (ERP). However, it also shows a sharp increase in the adoption of custom non-ERP software. The figure below shows these trends:
It’s becoming increasingly clear that custom and COTS software represent two ends of a spectrum for modern software environments. The vast majority of organizations today combine these two types in varying proportions. LNS Research conducted a study in 2015 that showed only seven percent of responding organizations used COTS exclusively, while only ten percent used completely custom software. The figure below shows these details:
The percentage on the boxes in the figure above indicates the percentage of businesses using the percentage of COTS displayed above each box. For example, the largest blue box has 7% on it with a 100% above the box. That means 7% of businesses are using 100% COTS, meaning they don't have any customized software.
Since then, organizations have been trending towards a greater use of COTS, with a minimum of 80 percent COTS being a common goal. This shift is primarily due to advancements in software development that provide COTS with greater capabilities, allowing more organizations to obtain the features they need without customized software.
The increasing variability in the quality of templates and practices used to develop software is another trend to consider when selecting a vendor to build custom software. Many software vendors build a set of functions and processes for a specific customer and call it an industry template in the next release of that software. Other venders take a longer view by performing a true evaluation of each customer’s needs and develop separate templates for each set of requirements. These differences in software design can be subtle to the customer, but they can dramatically affect the ratio of COTS to customized software, resulting in a corresponding difference in development time and cost.
Most end users make heavy use of COTS. Operating systems and office software from major software developers like Microsoft is installed on a large portion of personal computers. This type of software is generally ready to use once you download, install and configure it. This characteristic is also one of its primary advantages, as many organizations don’t time to develop a custom solution. COTS is designed for the mass market, so designers try to meet the needs of as many users as possible, which is why COTS has so many more functions than a custom solution.
COTS has a much lower upfront cost than custom software because it's designed to have the largest possible user base, so each customer must bear only a small fraction of the development cost. Most commercial software also incurs ongoing costs in the form of subscription costs and support, but these are operational expenses rather than capital expenses. As a result, cost is still an advantage for COTS in most cases, although a meaningful cost comparison between the two types of software can be complex. This process generally consists of comparing both the upfront and ongoing costs for custom software and COTS, which can be difficult to estimate in the case of custom software.
COTS also has a large user community in most cases, allowing users to find many opinions, reviews and real-life experiences with their software. Users can usually find answers to their problems because at least one person has already experienced it and shared the solution online. No such support exists with custom software, since only one organization uses it. These users can encounter problems that no one else has experienced.
COTS is typically tested more rigorously, typically by a cross-functional team. The larger user base means these software developers have a greater incentive to minimize bugs before releasing it to the public.
COTS also has greater availability since you can obtain it almost immediately. While it may have a steeper learning curve and require more configuration, COTS is generally ready for use more quickly than custom software.
- One of the biggest disadvantages of COTS is that there’s no guarantee that it will meet your organization’s business requirements. Even with thorough research, actually using the software is the only effective way of determining if it has the functionality you need. If it doesn’t, you may need to get customized software, wasting your previous efforts.
- COTS generally can’t be modified to support changes in your business as it grows. It’s possible to request additional features, but the developer won’t act on that request unless enough users also want that feature. In the case of custom software, obtaining a new feature can be as simple as submitting a changed request.
- It may seem counterintuitive, but the purchase price of COTS can be less than the cost of setting it up. COTS isn’t specifically designed for your organization, so it must be adapted to provide the greatest benefit possible. Custom software shouldn’t require this process.
- COTS is available to anyone who can afford it, including your competitors. The fact that everyone can use the same tool set makes it easy for competitors to make your product look like theirs.
- COTS typically has a much larger number of functions, since it must meet the needs of many users. This may sound like an advantage, but it often means that users must learn about features they don’t need. Custom software allows users to complete their tasks without performing unnecessary actions.
No software can completely meet the needs of multiple organizations since each one has its own set of requirements. Despite the many choices available for most types of software, business would generally prefer custom software all other factors being equal. This is especially true of entrepreneurs, who are more likely to need unique solutions. These businesses are therefore more likely to look for customized solutions.
Custom software is ideally a personification of its owner’s needs. Its features and interfaces should directly depend on that organization’s unique set of variables, including available budget, target audience and business processes. The acquisition time is longer, but the result should be a better solution than COTS. However, the initial investment of time and money is particularly challenging for small businesses.
Custom Software Pros
- Custom software has a greater ability to meet deliver a more useful tool set for solving a particular business problem than COTS. A professional software developer should spend a great deal of time gathering requirements from users to ensure that the software provides all the functionality the user requires, without adding ones that are unnecessary. This process should result in software that's well-suited for each customer.
- Scalability is also a major advantage of custom software. While software should be able to meet an organization's current needs, it should also be able to meet future requirements. This is especially true of small businesses, since they can quickly outgrow the capabilities of their original software. Custom software developers can design software that scales with its users, eliminating the need to replace the software later.
- Custom software is considerably more flexible than COTS. This benefit is most useful for customers who still aren't sure which features that software needs to implement. In this case, the developer can provide an initial product that meets all the known requirements and make modifications later as the user's complete set of requirements becomes more clear.
- All software is subject to attack, whether the malicious actor is internal or external to the organization. Software developers can provide greater protections for custom software, since it's designed for only one organization. Furthermore, the developers of custom software have a greater interest in developing a long-term interest in their clients, increasing their incentive to build secure software.
- Support is another major area where custom software has an advantage. When users encounter a problem with custom software, they typically report it to the same developers who created the software. Custom software developers typically include support in their contracts with customers that provides regular updates and bug fixes.
Custom Software Cons
- Developing software from scratch is a time-consuming process, which is a major disadvantage for custom software. An organization must first decide on the features needed to accomplish the desired objectives. The development team must then formalize these requirements into a software requirements document, which involves extensive communications with representatives of the client organization. Once this is done, actual development can begin.
- Custom software development carries the risk of choosing the wrong developers to create the software, which can be extremely costly in terms of both time and money. The development process requires an experienced, professional development team that can create a quality product, so it's critical not to rush the selection process. Take some time in researching development firms to ensure the team you choose follows best practices in software development.
- The higher cost of custom software often tempts organizations into choosing the cheapest solutions. Custom software development requires experienced team members such as developers, designers and quality engineers, who are in high demand. It's also important to compare the cost of the software with the profit it will bring when deciding what you can afford for custom software. Remember that it's almost always better to pay more than you expect than to end up with poor software.
The decision to buy custom software becomes easier when you recognize the signs that COTS may not be meet your requirements. The clearest of these is when none of the COTS currently meet all of your requirements. Organizations often use the 80/20 rule when making this choice, which holds that COTS should satisfy at least 80 percent of your current requirements. However, this rule may still result in an unsatisfactory COTS solution if the missing 20 percent of requirements are essential.
Your organization’s industrial sector can provide some clues as to whether you should be looking at custom software instead of COTS. Businesses in the finance, healthcare and real estate sectors often rely on custom software due to specific requirements such as regulatory compliance for data privacy and security. The capture and maintenance of data that’s highly specific to a particular industry can also indicate a greater need for custom software. However, businesses in industries that don’t typically use custom software may gain a competitive advantage by doing so when it delivers a gain in productivity.
Some types of COTS are highly templated, such that the developer expects customers to routinely modify it for their particular needs. This design approach is common in e-commerce solutions, allowing customers to place their own branding on the web page templates. In this case, it’s important to ensure that the modification process is easy to perform and will provide the degree of customization need to meet brand requirements. Templated COTS can be difficult to configure to the point that the effort needed makes custom software a better option.
The need to design COTS for a large customer base can mean that it lacks future-proofing, resulting in a risk of obsolescence within the foreseeable future. This problem can often occur in the user interface (UI) component of the software, where changes in business process can make the UI more difficult or even impractical for users. Custom developers are in a much better position to design a UI that provides a solution with greater longevity for your organization, thus avoiding the possibility of needing to buy another solution within a few years.
The decision to use custom software or COTS should be based on your organization’s business requirements. It’s therefore essential to understand the processes it currently performs as well as those it might implement in the future. Changes in business processes should be planned out as far in advance as practical to make the best choice on software selection. However, this can be challenging in today’s business environment, where agility is critical for remaining competitive. Rapid changes in business model are particularly common for entrepreneurs.
The following chart from Nimap Infotech summarizes the comparisons between COTS and custom software:
The above figure shows that COTS is most likely to be the best choice when there aren’t any requirements that are specific to your organization. Custom software may be the better option when you need a special approach or want to provide customers with new options.
Baytech is passionate about the technology we use to build custom business applications, especially enterprise solutions that optimize business processes. We’ve been delivering software solutions in a variety of technologies such as Event Sourcing since 1997. Our success is due to the skill and efficiency of our senior staff, which includes software engineers, project managers and DevOps experts. All of our engineers are onshore, salaried staff members.We focus on the quality, usability and scalability of our software, and don’t believe in mitigating cost at the risk of quality. We manage project costs by implementing an efficient development process that’s completely transparent and uses the latest standards and practices to build software right the first time. Contact us today to learn more about Event Sourcing and how it can help your business. Find us online at https://www.baytechconsulting.com/contact.