I recently (re-)encountered the use of Lego as a metaphor for building and composing systems. There has been something lurking in the back of my head around this looking for a connection to make and I think I’ve realised what it is.
When using Lego as a metaphor we need to be wary of what I would call the “Hagrid’s Hut” effect. When I bought Lego as a child there were lots of different sizes and shapes of block from which you could build stuff from your imagination. When I bought Lego for my own children 10+ years ago, it was largely in the form of “the specific set of pieces to make this specific thing” (hence the reference to “Hagrid’s Hut” from Harry Potter – this was one of the Lego kits my children bought). These kits let you make excellent models but, to all intents and purposes, there is only one model you can make.
Why do I mention this? For two reasons:
1) If you use Lego as a metaphor, be aware that people will encounter Lego in different forms depending on how old they are. This may colour how they view it and the implicit assumptions underpinning their understanding of what Lego is may be different from yours. Hence the metaphor may land differently for different people.
2) I wonder if systems such as SAP and MS Dynamics are the equivalent of “Hagrid’s Hut”. In theory they are the same as a set of infinitely flexible Lego from which you can build anything. In reality, what you end up building will always essentially be “Hagrid’s Hut”. Obviously, you can buy more pieces of Lego to help you build something that doesn’t look like “Hagrid’s Hut” but the more additional Lego you buy and use, the less it will look like “Hagrid’s Hut” (it will also cost more). The less you want something that resembles “Hagrid’s Hut”, the less justification there is for starting with that kit in the first place.