While surfing I discovered the Conway’s law. It basically says that, in software design, people tend to design software that reflects their organization. And this is very true.
From Wikipedia: “Another example: Consider a two-person team of software engineers, A and B. Say A designs and codes a software class X. Later, the team discovers that class X needs some new features. If A adds the features, A is likely to simply expand X to include the new features. If B adds the new features, B may be afraid of breaking X, and so instead will create a new derived class X2 that inherits X’s features, and puts the new features in X2. So, in this example, the final design is a reflection of who implemented the functionality.
A real life example: NASA’s Mars Climate Orbiter crashed because one team used United States customary unitsmetric units for a key spacecraft operation. This information was critical to the maneuvers required to place the spacecraft in the proper Mars orbit. “People sometimes make errors,” said Dr. Edward Weiler, NASA’s Associate Administrator for Space Science. “The problem here was not the error, it was the failure of NASA’s systems engineering, and the checks and balances in our processes to detect the error. That’s why we lost the spacecraft .
Here’s the Wikipedia link.