Simplify your software product to make refactoring easier and boost sales by reducing complexity, misconfigurations, and apparent bugs.
Software products are a great way to start a company, as you can start by building an MVP, then gradually improving the feature set and removing bugs.
On the contrary, hardware products do not tolerate MVPs and bugs. Imagine a car being delivered as an MVP (a bike), or an advanced computer chip being etched to silicon with bugs.
So far, so true.
At Yonder, we followed the classical software product avenue described above. What was different for us than for most software products was the nature of our customers: Right from the first customer, our customers had enterprise-level requirements: offline app for in-flight use, configurable approval workflow, document import and export for Airbus and Boeing manuals, or SSO integration, to name a few.
We built the plane when airborne, adding new features and fulfilling customer requirements as quickly as possible.
Fast-forward 5 years, and fast-forward from a handful of customers to 25 customers. What does the product look like now?
The feature set is much more mature now. Customers still request improvements to existing features, and there are still some bugs in the system, unfortunately. However, we have gained full control of adding new major features to the product, and we make feature decisions with much more market insight than we did 5 years ago.
But being not just the CEO of the company but also the tech founder, there is one thing that we need to do before adding new major features to the product: Refactoring.
With all the different requests from our mainly enterprise-level customers, we have amassed quite some complexity in the product. Here is how we go about simplifying and refactoring our product.
Simplify Before You Refactor
Our product is highly configurable to match the different needs of our mainly enterprise-level customers. That’s why we configure much of our product through a very granular permissions concept, where customer-specific permissions can be added easily.
Believe it or not, over time, 70 application permissions have accumulated in our system. This is complemented by some customers having more than 700 customer-specific permissions in the system. No matter how awesome the user interface is, managing nearly 800 permissions is a nightmare. Before you refactor the user interface for customers to self-configure their permissions, those 800 permissions need to be cleaned up. We have reduced the application permissions from 70 to 10, and also found good solutions with our customers to reduce the customer-specific permissions to a manageable level.
One further complication in our product is that permissions can be mapped to content filters. This is a great feature, but unfortunately, it creates bugs now and then. The permission-to-filter mapping needs to be refactored, but refactoring it will be much simpler after the 800 permissions have been cleaned up.
The same goes for the content links. Our product can link content in a variety of ways, making links visible or invisible based on a user’s permissions, triggering actions when a link target has changed, and so on. Because link types can be configured to meet customer-specific needs, many link types have amassed over the years. A recent analysis showed that most of the link types are only used for very few links, and the majority of links use a handful of standard link types. So before we refactor the content links, we will simplify the link types — in this case, simplifying means deleting the unused and rarely used link types.
Simplify to Boost Sales
A simplified product makes refactoring easier, but it is also easier to sell. Complex products overwhelm prospects in the first demo, giving them doubts as to whether they can effortlessly migrate to your product. Complex products also create what I call “apparent bugs” — misconfigurations that look like a bug but aren’t.
Both problems aren’t boosting sales. So if you simplify your product to reduce refactoring efforts, you’re most probably also helping your sales team to boost sales.
Two birds with one stone.



