Designing complex solutions with seemingly insignificant OSS tools

Great things are done by a series of small things brought together.”
Vincent Van Gogh
.

I recently contributed on a vendor’s product design exercise and came away with some ideas that are worth sharing here.

We started the process by trying to resolve a problem faced by many OSS customers. The problem related to re-designing their network to adapt to ever-changing demands within the network.

The initial mood was that it was going to require a big, complex analytic engine to come up with optimal design support. The algorithm was going to take in factors like physical plant rework (and thus costs), balancing the number of homes passed, overlaying the power network, considering network consumption rate trends, shortest backhaul and more. Finding the optimal solution across all those variables isn’t impossible but it does require a lot of number crunching (not to mention clever mathematicians).

But as we started breaking the problem into constituent parts, we were able to see that pieces of the puzzle could be resolved with much simpler approaches, in many cases with tools that already existed. Whilst the bundle of resolutions / helper-tools was perhaps not as sexy as the big, complex analytic engine, it was certainly faster, cheaper to implement, easier and much more flexible for the customers’s resources.

As much as I’m a huge advocate of automations, they’re not always the right solution to a given problem. The elegant solution is sometimes better than the sexy one.

In time, machine learning will become better at determining optimal solutions to complex problems, but whilst we’re still designing custom algorithms automations require cost-benefit consideration.

Read the Passionate About OSS Blog for more or Subscribe to the Passionate About OSS Blog by Email

Leave a Reply

Your email address will not be published. Required fields are marked *