Lego, Microservices and YAGNI

Malek Kazdaghli
2 min readMar 29, 2021
Photo by Rick Mason on Unsplash

I have confession to make. I have never played with Lego when I was a kid. This might the reason why I was so excited when I got the opportunity, three years go, to facilitate a Lego4Scrum workshop. It gave me the perfect pretext to buy a sets of Lego bricks with a lot of special pieces. However, after days of trying to get my kids into Lego, I figured out that all we were able to produce were silly creations. I was frustrated. I invested a lot in my Lego set only to see that I was going nowhere with it.

I remembered my story with Lego months ago when I was discussing the software architecture of a new API we were working on. The development team presented a full-fledged microservices architecture despite the fact that we only needed to quickly develop and deploy the API to confirm the client interest. The architecture featured a lot of “building blocks” that we did not, and might not, need. It would take us weeks to implement them which means that we would miss the business opportunity. A perfect YAGNI (You aren’t gonna need it) case.

The parallel with Lego struck me. It was all about the special parts. We wanted so badly to use them that we forgot why they were there in the first place. Like microservices, gateways or event streaming platforms, they were solutions to “architectural” problems. When we want to implement solutions for problems that do no exist yet, we end up with complex and overengineered solutions. We also miss a learning opportunity, like I did with Lego.

--

--

Malek Kazdaghli

Director of Software Engineering - I help engineering managers tackle technical and human challenges.