When organizations evaluate the build vs. buy option for an application, there are significant advantages for custom-built applications. Many organizations focus on the significantly decreased capital investment as the main impetus towards building an application; however, there are additional advantages as well:
- Ability to customize functionality to precisely match the particular business requirements and workflow
- Full control over the licensing and update cycle, including delivery mechanism (desktop or web/Software as a Service (SaaS) application)
- Integration across internal and back-office applications
- Eliminate or reduce third-party licensing costs
- Competitive differentiator among similar customers
- Full ownership of code and internal intellectual property
While the potential benefits of custom applications are clear, awareness of the additional costs that will impact the Total Cost of Ownership (TCO) and potential limitations must be considered. Too often, these “hidden” costs and implications are not considered during the initial planning and budgeting process, even though they may be recurring for years beyond the initial development, impacting the benefits or competitive advantage the original investment was intended to provide.
When identifying the costs of custom applications, it is important to consider all of the factors that can impact ongoing operational or capital expenses and the organizational impacts. These include:
- Ongoing maintenance: According to Gartner research, up to 92% of the cost of an application can occur after the initial deployment. The importance of having a maintenance team that understands the code base and can support the application post-deployment is a critical factor in determining recurring costs. Organizations should deeply integrate the maintenance team during the initial development to ensure a smooth transition following deployment. Comprehensive and updated documentation will also allow for the easy spread of knowledge among the team.
- Continuous testing cycles: Issues are exponentially cheaper to address the earlier they are found in the development cycle. As such, application teams should invest in creating automated unit tests and a separate Quality Assurance (QA) review to identify and fix as many bugs as possible. The ongoing testing costs and time need to be part of the development and maintenance plan. This will help to ensure as much of the application as possible is reviewed. This time and effort needs to be accounted for in subsequent versions as well to avoid regression if new bugs are introduced or old issues resurface.
- Lack of reporting: Often internal applications lack comprehensive reporting functionality, forcing business teams to go through IT for ad-hoc reports. Often, the complete reporting needs aren’t fully determined until after an application has been deployed to customers, resulting in additional effort to restructure data or functionality to provide full operational, financial, and analytical reports. Depending on the data structure and code architecture, some applications are ill-suited to solve all the necessary reporting needs, especially if data from multiple systems or sources are required. As an organization’s reporting needs continue to evolve, application teams should consider an inclusive solution, such as Microsoft SSRS or Oracle to provide a full view into the data necessary to make business decisions. The cost and effort of necessary reports needs to be built into the estimates for the implementation to allow for a scalable solution as the business grows.
- Initial start-up time: Custom-built applications can require more time than commercial software to become operational as the initial requirements, design, implementation, and testing cycles need to be completed before it can be used. When evaluating the initial development path or assessing a potential acquisition target, the time to market can be a critical success factor. The possible delay between building a custom application and deploying an off the shelf product can impact sales, marketing, and customer support.
- Lack of visibility into open issues and developer time allocation: Without an understanding of what the development team is spending time on, it becomes very difficult to accurately predict potential effort for application enhancements and estimate future work. Accurate tracking of developer time and bugs will provide breakdowns to time spent on maintenance, new features, or enhancements. This is critical to ensure the proper allocation of teams for development and support of legacy and new applications.
The effect of these costs does not necessarily offset the savings over commercial products. Off-the-shelf commercial applications have specific costs that contribute to TCO as well, including cost of licensing, less customization, and potential vendor lock-in. However, these costs do illustrate the necessity for planning and budgeting for custom applications (whether as an organization or for an acquisition target) to address staffing, team allocation, and knowledge transfer not only for the initial creation, but for ongoing support for the life of the application.
How can West Monroe Partners help? We possess the deep technical expertise to properly evaluate these decisions, but we also augment our team with the right industry and functional experience to properly assess the IT strategy, organization, processes, and technology across a broader criterion.