Part II: From bespoke work to generic parameterization
In the previous part of this diptych, we discussed the effects of bespoke work on your business as a solution provider or software builder. These effects are primarily negative.
So rather than outsourcing custom-code work or abusing your regular development staff, you probably would want to limit the need of your clients to ask for bespoke functionality with generic parameterization. There are various levels to do this:
Hard-coded bespoke execution paths. This usually starts with one or two if-then-else statements to allow some important clients to have a particular option, derived calculations, or specific process steps. This level of customization is hard to maintain, leads to technical debt, and is considered a bad practice.
The creation of a limited set of options for configuration. You are in the lead for which components within your application you offer these configurations. And since you provide a finite set of variations, you can control the impact on the application as a whole. You have to choose which options you offer; therefore, you will likely disappoint some of your clients.
Uploadable control tables. This option, separate or in combination with configurable options, allows your client to impact the usage of your application more comprehensively. It offers convenience but limits configuration to a limited set of pre-defined characteristics.
In-app scripting. This option lets your client implement specific decision rules, calculations, and workflows. It burdens your organization heavily, since its elaborate functionality needs to be maintained.
Embeddable business rule engine. This option allows you to focus entirely on your generic development in the area you excel at. If you embed a mature business rule engine, this allows for maximum impact at a minimal effort. If the business rule engine has API-building capabilities, the additional benefit is that you can enable your client to implement their own integrations as well.
It’s essential to take into consideration that regardless of the type of parameterization you choose, bespoke settings are
- Transparent. Compliance in most industries requires transparency, which also deflects liability from you to your client.
- Version independent. Backward compatibility is essential. Whatever level you choose, ensure your client’s bespoke settings and integrations don’t break.
Embedding a business rule engine with the right capabilities allows you to pull all resources toward your generic development without denying your client their bespoke wishes. It increases the speed of delivery of new features. It also enables you to amplify your sales activities, since you no longer depend on your implementation team to onboard new clients.
In summary, it creates a scaleable situation with possibly more significant margins. As a side effect, it alleviates your developers of tedious work like updating APIs and creating matching documentation.
Rulecube is a fully embeddable business rule engine that meets the requirements of enterprise solutions providers. If you are curious about what Rulecube could do for your company, get a demo, so that we can dive into your specific needs and challenges.