The Benefits of Commercial Off-the-Shelf Software Over Homegrown Solutions
Many organizations still rely on homegrown software to run key aspects of their business. While custom-built applications served a purpose in the past, the case for purchasing commercial off-the-shelf (COTS) solutions grows stronger every year. This article explores five reasons why COTS software delivers more value and reduces risk compared to maintaining internally developed systems.
1. COTS solutions are “productized” for ease of use
They go through extensive testing and quality assurance checks that are not feasible with homegrown tools. Vendors also prioritize comprehensive documentation and training to support users. With homegrown systems, tasks often require customization versus configuration through the UI. COTS products also cater to a wide range of use cases, ensuring capabilities are there when needed.
2. The “write once, sell many times” Factor
The “write once, sell many times” model underlying COTS allows vendors to spread costs over a large customer base. This provides more resources for continuous enhancement and high-quality support staff. Homegrown systems have just one client – you! Without the leverage of a large user base, it’s difficult to justify ongoing investment at the same level as commercial solutions.
3. The Money Factor
While COTS may carry higher upfront licensing expenses, maintaining customized code over time grows increasingly expensive. With commercial software, regular upgrades and new features are built into maintenance fees. Ease of use also minimizes training and onboarding costs for additional applications. Homegrown systems typically rely on the original development team for ongoing support as needs evolve.
4. The Community
COTS solutions benefit from an extensive community of partners, clients, and developers collaborating to maximize value. This awareness shapes both product development and assistance resources. Tap into experienced service partners, easily find qualified personnel, and learn from networked user groups. Homegrown systems operate in isolation without this support network.
5. The Human Factor
Small, undocumented codebases written for an immediate need carry tremendous downside risk. What happens when key developers leave the company? How can you ensure a succession plan for long-term maintenance? COTS vendors architect solutions for longevity and provide continuity for customers. Even if acquired, the large user base incentives continued enhancement.
Rather than reinventing the wheel, integrate best-of-breed COTS solutions to focus on core business capabilities. Reserve homegrown tools for small one-off needs that are unlikely to require ongoing enhancement. For mission-critical systems, the support community, continuous innovation, and risk reduction inherent in commercial software make it the superior choice.
Work with COTS providers as true partners to ensure alignment with your strategic direction. Take advantage of available training resources to maximize user productivity and stay on current versions to benefit from the latest features. The economies of scale and purpose-built design of off-the-shelf solutions make them hard to beat for delivering lasting value.
Hello. This session discusses the topic of building workflow solutions or doing a major software development in-house, versus looking to commercially available solutions. Along with some tips on how to maximize the impact of your internal development projects based on our experience as a production printing and archive solution software company since 1991. First, let’s start by defining what we mean by homegrown versus commercial off the shelf software.
Homegrown software is code that is built, supported, and maintained by your internal IT teams. Commercial off the shelf software, or COTS, is created by organizations that specialize in developing, selling, supporting, and maintaining software for their staffing, processes, and structures are all optimized for software development, sales, and support.
The first reason we view COTS is a better approach than homegrown is that commercial off the shelf software is productized, meaning that it is a proven, well-polished solution. For example, download installer and upgrade process version management goes through extensive regression testing with managed processes. Homegrown software is typically installed by the team who wrote it, and it likely does not go through extensive regression testing on different hardware and software versions prior to release, usually because the internal IT staff may not know how to do this and they don’t have the time or budget for it.
Another part of productization is making the solution easy to use and support, and fully documented, which is necessary when they will be used by many customers. In contrast, homegrown software is seldom well documented and the ease of use is often sacrificed for the core functionality. Support from IT can be hit or miss, whereas support for COTS companies, especially at Solimar, are not only a distraction but a competitive differentiator.
Software products are built to be flexible so that they can support a wide variety of customer use cases. While not every feature of the given piece of software is useful for you today, it’s nice to know that they’re there when you’re working on future projects. Maybe things you do all the time might be simple to do in homegrown software, but infrequent use cases, such as configuration of complicated task is usually awkward and manual.
Reason number two is that COTS uses a publishing model. When Microsoft first started selling software, it looked at the different sales models. The closest they could find to what they were doing was book publishing, and so that’s the model that they followed for like book software is written once and then sold many times. There are many benefits to this approach, but the main one is that the cost can be distributed across a larger user base. Writing once meant selling many copies provides the leverage needed to make a better product, whereas the user base for homegrown development is just one customer. As a result, homegrown products never see the level of investment COTS products receive, which impacts all aspects of the product, not just the code.
Reason number three is the total cost of ownership. It’s no secret that if you’re buying licenses outright, COTS can seem expensive. You can buy subscriptions, which eliminate the initial license fee, but they increase ongoing costs. Whether COTS or homegrown, there’s a substantial investment for the implementation related to installing the software, learning how to use it, and then implementing the workflows. However, there are huge benefits for COTS in this area. Since these things are all typically faster and cheaper, it tends to be easier to use once you get it going and ongoing effort is minimized. New work can easily be added in. Most of what you need to do on a regular basis can be done through simple configuration settings, verse coding or modifying scripts. With homegrown development, the story is different. You might think if we write it ourselves it could be considered free. While kind of what you save on the upfront license fees you pay for with the initial and ongoing development costs.
With homegrown, many times the development time is longer because requirements must be gathered, the software must be written and tested, and all of that with a small team. Once in place, many other tasks typically need to be accomplished through the developer customizing things rather than by users through the user interface, because homegrown is less functional or productized. Adding additional applications and workflows is harder, takes longer, and requires more resources which distracts your IT staff from their other primary workload related to your core business. With COTS, you pay for support, but not only do you get high quality support, you get upgrades that keep your software current and delivers a steady stream of product enhancements.
Reason number four is the power of community. Whether looking for a services partner or hiring new employees, it’s a lot easier to find people who know COTS than your own homegrown software. It’s also easier to train people on COTS because not only is there high- quality documentation, many times there are free training materials. Here at Solimar, we have hundreds of hours of video training available to get users up to speed and help experienced users with new features.
You can also partner with companies using the same COTS products for failover and redundancy. Solimar has a large group of knowledgeable customers who network and share their tips and tricks with each other. Not only do customers learn from each other, we learn from you with every discussion and support call. We learned about how to improve our products and better serve you and all of our other customers.
Another, less obvious advantage that COTS is generalized to industry norms. COTS tends to drive you to and reinforce industry best practices. With home homegrown, you may be wrapped around your own strange and proprietary way of doing things, so homegrown takes you away from industry standards, whereas COTS can drive you towards them.
Reason number five is about the high risk of homegrown software. When you develop software for a living, you can afford to do quite a bit to reduce risk. You can hire redundant resources, have large development teams for key support, documentation and education, you can hire professional software engineers, and take the time to plan the architecture of your software that is extensible and robust. Whereas homegrown software is frequently built in a very ad hoc way where pieces are bolted on to expand functionality but may not work as smoothly together. Your developers may have tried low and shareware software to accomplish the goals, only to find out that they’re not stable, very limited functionality with bugs, not suitable for production critical infrastructure usage. What you can end up with is your homegrown software becoming kind of an unstable Frankenstein monster. Software companies not only plan out their architecture more carefully from the start, they frequently take the time to refactor code, which really means to go back and rewrite core pieces to ensure a solid foundation for future development.
Most homegrown software is tactical. You’re probably not going to get six months or a year of engineering and testing time without new features being added. Next, let’s compare the life cycle of homegrown vs. COTS. Homegrown software is usually tactical and serves an immediate need. The lifespan of most homegrown software is pretty short, as it is many times considered a throwaway waiting for the right COTS to be found. It’s not uncommon to have a new management discover that you have a huge software development going on and wonder rightly, why are we doing this? We’re not a software company. COTS software truly has a life of its own. Once products are put out in the wild, they’re really hard to sunset.
Solimar has solutions that are older than 30 years, and we are incentivized to maintain these solutions and continually enhance them, because we earn support fees and need to remain competitive as an industry leader. COTS products have to compete and stay relevant or they die. So, COTS companies almost always provide a path forward for customers, even for very old products. Since it makes for good business sense.
There’s also a third category of software that’s between homegrown and COTS, with solutions that started off as homegrown but are now being sold as COTS. Typically, these solutions are either built by or for large organizations, by an internal or maybe an external professional services group. That group then decides to resell the solution to other customers in order to recover the costs, maybe get some leverage. Most of the time they’ll try to pass it off as a product, but if you look under the covers, you can pretty easily see that it lacks many of the hallmarks of COTS. Specifically, in the productization characteristics like documentation, training, and how they’re implemented. These products are commonly sold with tons of services to fill in the productization gaps, and end up being designed to support their services business. They require a lot of services initially and ongoing. They have a higher initial cost of COTS and homegrown ongoing cost because of the lack of productization. These homegrown COTS products are pretty easy to spot. Find out about the history of the product in the company. Are they a software product company or professional services company? What is their product services cost breakdown? Do they require services for implementation then onboarding ongoing work? Solimar is a software product company. Most of our customers quickly learn our products and become completely self-sufficient. Feedback from our customers that have tried these is to stay clear of these solutions, since they really are the worst of both worlds.
Okay, so how might you do homegrown right? Your strength is knowing your business, not writing software. Your analysts should be focused on revenue generation and cost savings opportunities, not writing software that you can buy. It’s your job to be the best integrator of commercial off the shelf software. Put those best of breed pieces together. Leverage your knowledge and core competencies to create unique, differentiated solutions that deliver competitive advantage.
Homegrown is great for small utilities that don’t need a lot of ongoing work. Focus on being the glue. Fill in the gaps from those larger pieces were absolutely necessary, and build your platform using the biggest components that you can. Do all the heavy lifting. Don’t write any of the low-level code yourself. Many of you have homegrown systems out there and you’re thinking, yeah, so what? Well, how do you sunset these? How do you move on? Just to be clear, we’re not talking about little tiny utilities. We’re talking about larger kind of key business systems. What you want to do is start by documenting your business requirements. And this is what the system needs to do, not how it needs to do it. What are the key features? What are the key capabilities or characteristics of this for a commercial off the shelf replacement? Identify and build out key use cases. Clear them of personal information so that you can share them with the vendors. Work with the vendors to ensure that they can handle these use cases. It’s important that you know how they handle the use cases.
Don’t be fooled by slick demos. They shouldn’t be using workarounds or a lot of custom code to accomplish common tasks for your workflow. And think beyond the price you’re about to get involved in a big long-term relationship. Make sure that you’re picking the right partner. Finally, here are some thoughts on how to get the most out of your commercial off the shelf software.
Stay up to date with version updates. If you’re not on the latest version, you may not be taking full advantage of all the new features. Oftentimes, these are behind the scenes, like improved performance and the latest compatibility of Windows patches and security. Take advantage of all the free learning resources from your COTS companies. Solimar has a huge learning library with videos and documentation that can help your people be more productive and learn new product features.
Take advantage of the community. If they’re user group organizations, join and participate. Connect with other customers in similar situations. Learn from each other. Many of our customers regularly call each other in addition to calling our tech support. Stay close to your COTS vendors and know their strategies. Make sure that they know yours as well. Since alignment is key.
Great products don’t require a lot of services. When picking COTS, vendors talk to them about the service delivery to make sure that their philosophy is in alignment with yours. At Solimar, we cater to companies that have a preference for self-service. We create easy to use products, enabling customers to do it themselves with the goal of limited professional services from us.
We do have services partners, if that’s what you prefer. Thank you very much for your time. If you have any questions for easy to reach, look forward to hearing from you.