A successful ERP implementation is like a relationship.
A company chooses an ERP (dating), implements the software (moving in together), and eventually, goes live (gets married). Throughout this process, both parties have to be honest, transparent, and communicative (especially when the need to have a difficult, but important conversation arises). There's a high probability that the ERP implementation will be a success if these values are prioritized early on.
Technical debt is one of the most important factors to consider before partnering with a solution long term. Like poor communication in a marriage, technical debt in ERP implementations can cause serious strain on a relationship over time, and lead to a significant drop-off in satisfaction.
What is technical debt, you might ask? Technical debt is a concept in software development that reflects the implied cost (both now and in the future) of additional “rework” caused by choosing an easy (limited) solution now, instead of a better approach that would take longer. In a nutshell, it's the coding that developers have to do tomorrow to maintain the software that was delivered today.
Let's use ClicktoHUB's user documentation as an example. With each new version of ClicktoHUB, we make many improvements to the software, and as a consequence of these improvements, the way certain features work in ClicktoHUB can change. Because the value of the user documentation is highly dependent on the way certain features work in ClicktoHUB, it is fair to say that when we make improvements and change the way ClicktoHUB behaves, we also need to modify the user documentation to reflect these changes.
The cost of updating that user documentation can be referred to as documentation debt. When it comes to technical debt, it's the same concept, except its existing code that needs to be updated in order to accommodate/reflect the changes brought forth by the custom code.
Because it's extremely difficult to quantify "technical debt," the cost of refactoring/maintaining this code overtime is not always apparent at the start of the marriage, and oftentimes, is not communicated until after our partners have wedded. Without this communication, the foundation for a good marriage crumbles, which causes major problems, and impacts the relationship immensely.
Why Can Technical Debt Drag Your Company Down?
Technical debt can quickly snowball out of control. Year after year, it can accumulate, and abstractions can become ever more entangled. Inheriting technical debt is a vicious cycle. For example, companies will rack up technical debt because they are stuck in an old version of the software, but they're stuck on that old version because the technical debt load makes it too cost-prohibitive to upgrade to a newer version. In addition, it might be a project that no one has time for, or doesn't want to start, because it seems overwhelming.
At the start of the relationship, it's very easy to overlook these important considerations and start writing custom code to appease the demands of your new, paying customer. The customer wants the software to work exactly as they envision it, and the implementation team wants to make the customer happy in the short term. Also, quantifying technical debt is difficult to do, so bringing up technical debt and the added costs with your new customer can be a difficult conversation. It's usually easier to put it off, and ignore it until it becomes a problem.
This is a very bad idea!
Remember, this is not what makes a successful partnership: we need to communicate! When these debts are overlooked, they lead to unwanted surprises, such as unforeseen expenses and delays. Eventually, they can jeopardize the whole marriage!
What's the Solution?
ClicktoHUB provides a maintenance service that ensures our customers don't get blindsided by technical debt. To do this, we provide a unit of measure to project costs of maintaining custom code (pre-marriage), and we also provide the technical services to deliver this maintenance. This is our way of ensuring we remain honest, transparent, and communicative.
To gain access to these services, ClicktoHUB has introduced Standard Maintenance Contracts. These contracts act as insurance for you, so you don't have to worry about unwanted surprises associated with technical debt any longer. A maintenance contract is an agreement between you and ClicktoHUB, stating that we will cover any support, bug fixes, and upgrades of any custom code you wish to install in your ClicktoHUB environment.
How Does It Work?
One contract covers the ongoing maintenance of any technical debt brought forth, via any custom code. This makes things simple and transparent from the beginning. ClicktoHUB guarantees that maintenance services will be performed by ClicktoHUB directly, or by a partner (if you wish), so you can rest assured that there will be no costly surprises when it comes time to upgrade.
Additionally, you will have one main point of contact, which reduces the risk of miscommunication and ensures the project runs smoothly. We've also extended our support, upgrades, and bug fixes to include the maintenance of 3rd party modules. All of these changes can be found in the ClicktoHUB Service Level Agreement (go to ClicktoHUB.com/legal for more information).
In exchange for this service, we charge affordable monthly installments.
As for keeping tabs and projecting your maintenance expenses each month: you can audit from the server, customer portal, or by contacting us directly for assistance.