The Power of the System Metaphor


The Power of the System Metaphor

"Life is like a box of chocolates. "You never know what you're going to get."

Forrest Gump

In one short and sweet statement, the character played by Tom Hanks was able to sum up life’s mysterious yet alluring nature. Just as Gump, every day we use metaphors to express abstract ideas in simple and understandable terms. This is why our failed relationships often result in “broken hearts” and some people appear to have “black holes” in their stomachs. It saves us the hassle of having to explain the sappy details of our emotional troubles or our disgust at those who constantly gorge themselves and somehow remain perfectly fit.

Very similarly, metaphors are used at Software Planet Group as a convenient way to establish a shared understanding of complex systems.

In his book Extreme Programming Explained, legendary developer Kent Beck described what he dubbed system metaphor as a “story that everyone — customers, programmers and managers — can tell about how the system works.” While this may initially come across as somewhat outlandish and unnecessary, in practice, it is as simple as the daily analogies we use and quickly becomes an incredible asset to any project.Power of the System Metaphor

Without a good system metaphor in place, it is easy for customers to get lost in the midst of technical jargon — and the same is true for developers having to learn corporate terms. This is why at the start of every project, we sit down with our customers for a thorough discussion about their business culture, goals and the solution they would like us to create. We use this information to devise highly relatable metaphors by incorporating familiar concepts into the final allegory.

For example, if our software engineers were developing a money transferring system, we could create a system metaphor using everyday words like “account,” “transaction,” “debit” and “currency.” This would allow everyone — customers and developers — to be on the same page, as the ensuing ramifications would enable discussing every part of the system, in the context of a money transfer.

In addition to streamlining communication, system metaphors clearly define functionality and give developers valuable ideas that can inspire actual code. Yet the true power of the system metaphor lies in the hands of the customer.

Writing for The New York Times, Pulitzer award winner Thomas Friedman once stated that “in the world of ideas, to name something is to own it.” Friedman hit the nail on the head. By learning to identify system parts by name and conceptually understand their functionality, customers become true owners of their projects — they are empowered to actively participate in the development process and ensure that their vision will be kept intact. At Software Planet Group, we welcome this partnership like strawberry milkshake on a hot summer day. 

Related Stories

Common CMS Is Taking Bespoke Software to New Heights
August 11, 2017

A Common CMS Is Taking Bespoke Software to New Heights

Discover the synergy of convenience and innovation with Software Planet Group. Seamlessly integrate WordPress into bespoke SaaS systems for unparalleled flexibility and affordability.

Test-Driven Development
August 3, 2017

Why We Advocate Test-Driven Development

Gerald Weinberg, an American computer scientist, once famously stated that "If builders built houses the way programmers built programs, [then] the first woodpecker to come along would destroy civilisation.

Working with Full-Stack Developers
April 26, 2019

Why We Work with Full-Stack Developers

When it comes discussing why we work with full-stack developers, a lingering myth persists that they are somehow less capable than other software engineers.