Metaphor

Last modified by chrisby on 2023/10/12 15:28

A metaphor is a set of vocabulary that describes the system. The benefit is that it provides a common language that facilitates clear, intuitive communication. A vocabulary can express many different things, such as concepts, practices, processes, entities etc.

Requirements

  • Must make communication more efficient.
  • Must be understood by everyone involved in the project, including stakeholders.
  • Must be professional and respectful.

Examples

This is a creative task and there are many common examples such as houses, sailboats, gardening, etc. Here are a few that are explained in more detail:

  • Concept Example: Use the iceberg metaphor to explain frontend and backend to stakeholders. What users see in the user interface is just the visible tip of the iceberg, while the majority of the software remains invisible below the surface in the backend. So 'tip of the iceberg' and 'under the surface' are good vocabulary.
  • Practice Example: Writing software without tests is like driving a car without brakes. If someone makes a mistake, you have no way of preventing a crash. That is why we need tests.
  • Entity Example:
    • Bad: Users have money. Get money value X from user A and set the difference as the new money value. Get money value from user B, add X and set the money value of user B.
    • Good: User A transfers amount of money X to User B.
    • This should also be considered at the source level, for example by creating a method that can be used in this way:userA.transferMoney(amountOfMoney: X, receiver: userB).

Tips

  • Whenever there is something that is difficult to grasp or explain, it is often helpful to introduce new vocabulary into the metaphor.
  • If a vocabulary already exists for something, the convention should be to use that vocabulary instead of other alternatives. This results in a consistent project language.
  • The form of the metaphor can range from verbal communication conventions to a formal glossary.
  • If possible, stakeholders should use appropriate metaphors in their stories.