Last weekend I took my oldest son and two of his friends to visit the LEGOLAND Discovery Center in Grapevine, TX. We had a superb time and had loads of fun building with giant rubber LEGO blocks, creating towers that would then be earthquake tested, and racing custom LEGO race cars that we had built. Returning to my favorite childhood pastime of building with LEGOs, I am reminded of some notable lessons regarding architecture governance that I have learned from LEGOs.
Lesson #1 Design well-specified interfaces – LEGOs offer you bumps on one side, grooves on the other and they snap together effortlessly. Purchase cheap knock-offs, or try to combine LEGOs with another building block that is similar, but not the same, and you run into interoperability challenges. The systems architecture within your enterprise is no different. Proper interface design is paramount and your governance model should ensure that this is done properly.
Lesson #2 Modular designs are more manageable – It may seem rather intuitive that any building project (LEGO, a dog house, or an ERP system) should be broken up into manageable pieces. There is more to the story than simply breaking your architecture endeavors into bite-sized chunks. Designing something as truly modular doesn’t just mean you do it in iterations, but that in fact there are discreet sets of capability with clearly defined interfaces that can be inserted / removed / upgraded separately from the entire system. That requires planning, solid interface design, and good architectural governance and design oversight to ensure that the principles of modularity and loose-coupling are preserved within the design.
Lesson #3 If you can’t find it, you can’t use it – Do you remember that one kid on your block that had a massive collection of LEGOs? It was always in a huge bin or trough of some kind and you could build anything with all those pieces. The trouble came when you were trying to track down a particular piece. Needle in a haystack anyone? You would dig and dig and dig to try and find what you needed amongst the chaos. Contrast that with the organization-junkie that had all of his or her LEGOs organized into baggies or separate bins according to color / shape / function (whatever the criteria might be). The second kid might have been obnoxious, but you could quickly locate the piece you needed because of the organization and structure. Correspondingly, the architectural assets that you develop (models, diagrams, services, components, entities, modules, etc.) will get lost in the sea of brightly-colored blocks within your enterprise unless you implement an asset portfolio or similar repository mechanism to track and manage all of these assets.
Governance is Key
The bottom-line is that LEGOs and Architecture share the importance of governing the interface design, governing the modularity and loose-coupling, and implementing a means of organizing and managing the various architectural assets within the enterprise.