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.

The Power of the System Metaphor - 1

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

The Fallacy of #NoEstimates
November 24, 2017

The Fallacy of #NoEstimates

Like most controversies these days, it seems, it all began with a simple tweet. An avid programmer by the name of Woody Zuill decided to publish his views on estimation, and just as he had predicted, stirred up an online firestorm.

How to Recover from Business Failure. Fail Fast, Learn Faster
March 2, 2020

Recovering from Business Failure: Fail Fast, Learn Faster

Discover how to recover from business failure by adopting the 'fail fast, learn faster' mentality. Learn effective strategies for bouncing back and succeeding