The obvious metaphor people use when talking about Lego and programming is to describe modular software. Standard interfaces that fit together in predictable ways to allow new combinations to be created.
I’d like to use Lego in a slightly different context. Having recently seen a variety of extraordinary Lego art, I started thinking about what a great and virtually timeless product the Lego corporation has on their hands. But plastic snap-together building blocks aside, the newest hot sellers in the Lego universe are highly unlikely mashups: Lego Star Wars is a video game. I think it is incredible the way they have taken two highly popular things and squished them together into a new and extremely popular franchise.
Now there is Lego Batman; let’s see if the magic happens again.
The lesson for business programmers is that you can often take two systems that don’t seem to fit together very well and come up with a unique and successful interface between them. Accounting systems and CRM systems were long viewed as two very separate things, but if you can identify the fact that your best customers, the ones you spend most of your sales efforts on, are actually deadbeats who consume tons of time to collect from… surely that would be valuable information to have and act on.