What is metaphor
To understand what is software metaphor, we must understand the word metaphor. A metaphor is an actually a method to represent one object as something that it is not. Metaphor acts as a guide for the user’s thoughts and imaginations, whatever the writer’s purpose.
Metaphors are determined to produce an impression in the memories of users. The purpose of this literary tool is to send a thought more forcefully than a clear narrative would.
In plain English, when you represent a person, place, thing, or an action as being anything else, even though it is not really that “something else,” you are talking metaphorically. “He is the black sheep of the family” is a metaphor as he is not a sheep and is not even black. However, we can use this example to illustrate an identification of a black sheep with that character. A black sheep is a unique animal and typically stays apart from the crowd, and the person you are representing shares similar properties.
What is Software Metaphor
Software metaphors are ways of describing a complex or unknown concept to another engineer or to a non-technical character, where the features of the concept are not required to convey your point across. You can also use metaphors to help you explain a thought. It is used to explain software development to someone who has no experience in this domain.
Examples of Software Metaphor
1. Relating software development to a task that people do daily and mechanically, like making coffee. You ask the person to detail every single step in the most precise manner and explain that the action “take water from the sink and put it into the coffee machine” is actually multiple complex actions. A programmer’s job is to write those actions so simply to the computer because the computer needs the simplest actions possible to do what it needs to do. It’s like explaining how to make coffee with a coffee machine to an alien that doesn’t know anything about machines, water, etc.
2. Another one that I see a lot if the parallel of building software with building a house. There are many parallels to be made (there usually is an architect on both projects, low-level worker who build the details of the project, etc.) It’s a classic analogy.
3. Finally, another one that I do like a lot is when you explain that writing software is like writing a book. You get the point across that what you are doing is writing code, it’s actual “words” and “sentences” on a computer screen. You can also show some subtleties of the process by mentioning what would happen if two people wrote the same code (the same chapter in the analogy) and that there needs to be a tool to prevent or fix problems that arise when Prog A moves a paragraph so the story Prog B was writing do not make sense.
For more technical metaphors, there’s the explanation of how public key encryption works. There are many explanations online using paint or with locks and keys.
Hope you will like this article. Give a share and let the others know about software metaphor.