When investing in a piece of supply chain software, there is the expectation that it will last a company decades, rather than just a few years. However, with a rapidly changing tech landscape, this becomes a complicated endeavor. For this episode of LokadTV, we discuss this challenge of maintainability and how it can be impacted by good design.
It can appear odd to think of “maintainability” when talking about software, as it would seem that unlike most physical products, which suffer wear and tear, software doesn’t really degrade. This is not the case however. It may not be mechanical degradation, but software does degrade with things falling apart over time.
Some of the largest and most successful software companies, such as Microsoft, have been so successful thanks to their commitment to the long-term survival of their products. For example, you could take a Microsoft Word document edited in the 90’s, open it and still print it out today. This mindset is fairly unique and is one of the reasons why Excel and Word don’t have any real competitors anymore.
Software mostly degrades due to entropy. The landscape is forever changing and the hardware is forever changing. At its core, software is a very composite product, requiring dozens of parts from dozens of different companies.
When it comes to supply chain software, it’s a whole other level of complexity that makes maintainability all the more difficult. So why can’t you just freeze a software product so that it can run forever? Virtualization can help but isn’t a complete solution.
To wrap things up, we go into more detail about how maintainability boils down to a question of design. Yet often, this maintainability is sacrificed for being “cutting-edge”. We talk about Lokad, and other SaaS' strategies for maintainability and why any software vendor that lists dozens of complex sub-components and tools for their product, such as TensorFlow, Apache Spark, PyTorch etc., should be seen as a red flag and not an asset, due to the nightmarish maintenance issues they will bring.
00:29 Surely software does not degrade over time. What’s the idea behind this episode?
03:01 What did Microsoft do well?
06:26 People always want to use the latest tech when they are in their workplace. Is this a dominant issue or is it due to security reasons?
10:22 Supply chain solutions usually last a couple of decades. How reliant are we on other parties? How much confidence can you have that these other companies will still be there in the future?
13:52 What you are saying is that having a product that is very maintainable means that ultimately you can’t be at the cutting-edge?
16:41 What are the clues that a piece of software is maintainable, compared to a piece of software that is old-fashioned?
20:49 Where have you come across unmaintainable pieces of software? Do you have any examples you can share with us?
23:12 To conclude, can we say that we should be wary of all those companies with beautiful interfaces, because they may have maintainability issues in the future?