My 3 year old daughter has a hankering, yes, a hankering for the song “Let it Go”. Keep in mind, it’s 2022, and the original Frozen came out in 2012; but to her, every day is “Elsa” day. Every moment in the car, she wants Elsa. She has her sister’s elsa crown, she has multiple pairs of elsa jamas that she wears every night, and she is in love with the elsa bodywash. She even has an elsa palace that when she hits a button, plays, you guessed it, Let It Go. She’s seen Frozen, Frozen 2, Frozen Fever, and she’s read both the Golden Book styled Frozen, as well as the giant illustrated Frozen, and loves to color on the Frozen coloring book she has with the Frozen markers that are just made to not get Frozen colors over anything that shouldn’t be colored.
The interesting thing about each of these is that they all tell a piece (or all) of the Frozen Story (which itself is inspired by Hans Christen Andersen’s The Snow Queen), but each of them are markedly different. More importantly, you can’t tell the same story with the same effects from two different mediums.
We have the same constraint in software, though our medium is the architecture by which we build the software. If I say to you “website”, you automatically jump to a certain architecture. If I further say to you, “marketing website”, you narrow further to a specific type of architecture special suited for that. If I say, “data ingestion heavy”, you automatically start thinking of the right architecture — or medium — to make that happen.
But notice the interplay there, the architecture (medium) fits the purpose for the software (story to be told). And when we run into architectural trouble, it’s often not hard to see that the problem is either we didn’t use the right medium for the story, or we decided to tell an entirely different story using the previous medium.
The story and the medium fit together and go together.