“Have no fear of perfection – you’ll never reach it.”
Salvador Dali.
The heading for today’s blog sounds ridiculous doesn’t it? How could the pursuit of perfection be detrimental to my customers (and many organisations in OSS that have not been my customers yet)?
It’s not so much the pursuit of perfection, but the expectation of perfection that causes all the problems.
As Engineers and problem solvers, we always want to create the perfectly elegant solution so when it comes to data modelling we want to perfectly model every single link in the chain. The argument goes that having every link in the data chain will give a greater level of insight for assurance staff when they’re fault-finding. I can’t disagree with that statement.
However, as described in “The law of cascading problems,” the more data you cross-link into a chain, the more likely you are to have broken chains.
I learnt this the hard way on my first OSS. l engineered a beautiful solution that took inventory feeds from multiple domains and created long service chains. Even though we designed and built a great discovery tool that collected and linked all the chunks of data together, our (my) downfall came when these tools had to be tweaked for any slight changes in the customer’s services.
Since then I have seen many customers make the same mistake due to the assumption of and pursuit of data perfection. I always try to convince them to go down the path of “Minimum Viable Data” and I urge you to as well wherever possible. I’m not saying to avoid collecting it, just to minimise the amount of cross-linking required.