Lowering Your Total Cost of Ownership
High technical debt is common in B2B eCommerce, leading to expensive application maintenance costs, and we need to understand it so that we can avoid it. Wikipedia defines technical debt as “a recent metaphor referring to the eventual consequences of poor system design, software architecture or software development within a codebase”. Put simply, technical debt is about choosing development paths that are faster in the short run, but in the long run, cost you a lot of time and money.
One Example of Technical Debt
Your company decides to enable online ordering for your customers. You find some software that meets some of your needs and you decide to set up your store based on that. For the short term, it works. Fast forward 18 months - multiple changes have been made to the code, handling specific business rules and adding features to improve the site. A few of the developers you had contracted with didn’t do great work, but the code is somewhat usable and you didn’t want to pay for it to be done again. You used what they created but found new developers. You are now getting several orders through the site, but you have a list of many things that need to be resolved. It’s at this point that you take a step back and look at what you have and build a list of what you want. You find out that to upgrade these customizations will be time-consuming not just for this upgrade, but for each upgrade moving forward. What caused this to happen?
Technical debt is caused by many factors – ranging from a lack of training and experience in your developers to a lack of communication about your needs and the development plans. So how can you avoid this?
Avoiding Technical Debt
Upfront Planning is Key
Technical debt can be avoided by having a complete view of where your B2B eCommerce site will grow in the future. What will it need to be integrated with? What possibilities exist for future expansion? Will you be integrating MSDS and tech specs? Will you need to allow individual users to see orders from other users within the same customer account? This future definition of your site can be a challenge to create. Our customers find it beneficial to work through questions with us. We can ask about features that we have seen other manufacturers and distributors put in place that may not have been previously considered. You want to avoid a reactionary approach to your development. Even (and especially) if the project is being implemented in phases, it is important to have a roadmap of where the project is headed. This enables clarity around decisions regarding your total cost of ownership.
Asking Better Questions
If your development team isn’t talking to you about issues of technical debt, they should be. You and your development partner should be discussing the following questions as a part of your B2B eCommerce project?
- If we use approach A to implement feature B, how much time will be required to upgrade this feature when the software platform is updated?
- When preparing for this upgrade, we see that the software vendor has released a feature similar to a customization we built 6 months ago, can we use their feature and minimize the ongoing cost to maintain that customization?
- Is it acceptable to spend 8 hours longer building this customization to save 4 hours every time this customization is upgraded?
Choosing the Right Platform
Technical debt is also closely related to your choice of software platforms. Some software platforms were not built for what you are using them for. In software, almost everything is possible – but the question is how much time it will take both now and in the future to maintain that. By doing your upfront planning, platforms can be evaluated based on their ability to do what you need today and grow with you. When it comes to technical debt, ideally you want to find a software platform that has separated the user experience from the business logic. There is often a trade-off here. In general, platforms that enable expansion for the future with the lowest technical debt, take more time to implement in the beginning.
How Can We Help?
B2B eCommerce is a complex endeavor, filled with clear benefits and yet potential pitfalls. How do you ensure your success? We are happy to provide you with a free consultation. Fill out our form or give us a call at 414-425-4069 x150