“You must be honest about what you want at a core level and decide to go after it.”
Martha Beck
Every CSP has a vastly different set of requirements from their OSS. Some have non-negotiable requirements that are not relevant to all others.
When you’re a vendor that services top-end telcos, there aren’t many customers available. This leaves you with a dilemma when one of those customers has a highly customised, one-off requirement that will need to be designed, built, integrated, supported and maintained. Do you:
- Accept the requirement into your core product,
- Disregard the requirement and give the customer your nominated core product, or
- Develop an unwavering core capability that provides interfaces that allow others to easily build customised add-ins.
Having worked with vendors who’ve tried to build heavy customisations for each customer (and effectively devolved into supporting tens of different products, making support chaotic) and seen vendors miss major contracts by sticking to a singular focus on core, I wonder whether the openness of point three is the optimal solution.
I am an advocate of following the Pareto Principle, focussing on the 80% of a product that almost all CSPs require, upgrading, supporting and maintaining that single core solution, but making it easy for the CSPs or their supporting integrators to develop customisations for each specific customer?
Does this risk losing closeness with the customer and the ability to meet their needs? Does it open the door for the integrator to become a competitor? Do you develop your own consulting/integration group to develop and maintain the customisations for each customer?
To date, I have yet to see the perfect resolution to this dilemma. I suspect that it is because nobody has come up with the framework that is wide open and allows add-ins to be developed easily (ie taking point three to the next level of simplicity).
Content Management Systems and their open Plug-in frameworks have revolutionised web development, so I wonder whether OSS is awaiting a similar framework?