Sometimes I become pretty rude on forums. I read so many threads, requests, posts, and even if most of them are interesting, challenging, informative, it takes time. So, when I find a stupid thread, a meaningless request, most of the times I pass, but few times I catch fire and I reply with maybe too much passion. That’s what happened few weeks ago. But today I don’t want to talk about that specific topic, but a lesson I’ve learned from it.
My design is perfect…
A user asked on Veeam forums a way to “fix” a problem he was facing. After some discussions between him, other users, and me and my Veeam colleagues, it was pretty clear that the “error” in Veeam Backup & Replication in reality was a limit created by the kind of design he created and deployed in his own vSphere environment. As said, the reason of this post is not technical, and not to explain what was the limit and how to correct it; I’d like to talk most in general about how some architects see their own “creations” and how they react when someone try to explain them why they do think the design is wrong.
There’s no doubt an infrastructure is like a son for his/her own designer. I did in the past many designs, and most of the times (when there were no stupid customers’ contraints…) I was really proud of my designs. So, I know the feeling of receiving a negative comment because something does not seems right. I tried to explain the reasons of the problem in a corteous way right because of this, but the guy immediately built up a wall in front of his design, and kept stating that it was perfect, and it was all Veeam’s fault not being able to operate in such scenario.
No, it isn’t
Problem is, no design is carved in stone. Different needs, hardware changes, new business requirements, or as in this case the introduction of a new technology that needs to work together with the existing ones, require the design to be changed and adapted. So, a design is NEVER perfect, rather it’s the best one for that specific situation and time; as the situation changes, so it should also the design.
I’ve seen too many times people “falling in love” with a certain architecture or design principle, and trying to apply it everywhere, even when it is not simply the right solution. Don’t stick too much with a certain design, and always doubt yourself over and over again if the design you chose 6 months ago is still the best one. The final result doesn’t need to be a stone wall, rather a “liquid” wall that can be adjusted easily to changes.