What can Plato's allegory of the cave teach us about software design?

What can Plato's allegory of the cave teach us about software design?
customers enjoying the finished product

What can Plato's allegory of the cave teach us about software design?

What we are supposed to deliver to customers is always: a shadow, a simplified perspective of complex shapes. Customers demand something easy to understand and one dimensional that "just works".

A common trap that software developers and product managers fall into is building the silhouette matching the shadow, instead of an accurate embodiment of the underlying concepts that can produce this shadow from a specific perspective.

Take the soldier on the left: You can either create "boots", "spear", "shield", "helmet" and "person" and configure them in such a way that they cast the desired shadow. Or, you can cut out a piece of paper that looks like a soldier and make a new one when someone wants him without the helmet. Or with different boots. Or a different weapon. Or in a different posture.

Read more