A metaphor to ease our communication?

One of the great contributions of eXtreme Programming to the Agile world, IMHO, is the metaphor discipline. When we are building software, we are not just coding APIs, calling URLs with a defined payload and waiting for a resulting JSON document or a set of errors.

Well, if you are a task based developer you may just be doing that… I understand that.

But… for real, we are solving a business problem, even if we decide to solve the problem building something generic. So we should learn more about the business.

We need to understand more about the journeys we are improving or creating.

There are different sorts of metaphors we can find while developing software solutions:

  • Code metaphor can be translated to code patterns and how we are organizing our code.
  • System metaphor can help us understand the whole picture of what we are building. What are the components we have, boundaries and how they connect.
  • Business metaphors can help us understand what words like fast or secure means. And also business terms specific to the use cases we are working with.

When communicating with the team and also customers, talking using business metaphors can help us get closer to the real problem. Talking and writing using a common language is key.

Remember: we are not building code, we are understanding and solving real world problems.

— Daniel Wildt

It’s your time to engage with my writing journey. Check my project at patreon.com/dwildt and become a patreon!