Reverse engineering

reverse-engineering-sizedReverse engineering is the process of analyzing something to understand its composition and how it works, often with the intention of copying it.

A notable example is Compaq computer’s reverse engineering of IBM’s ROM-BIOS (the chips that made IBM computers work) in the 1980s. By methodically determining how the chips functioned, Compaq was able to clone the IBM PC, and produce computers that could run IBM software.

The analysis of the human genome is a more intriguing example of reverse engineering. By determining the makeup of the entire human DNA sequence, scientists hope to someday cure diseases by creating customized medications targeted to an individual’s DNA; no two people would receive the exact same treatment.

A fascinating application of reverse engineering to communication is forensic linguistics: the science of language analysis to solve crimes. The FBI used it to identify the Unabomber, who demanded his 35,000 word manifesto be published. As a result, his own brother recognized the style of writing, leading to the Unabomber’s capture and imprisonment.

Effective communication is a form of reverse engineering. It is the process by which a communicator determines what a user is trying to achieve, then works backwards to create the information in a form that the user understands and can easily act upon. (I call this the “back-words” approach.)

All users are ultimately trying to achieve something by solving a problem. Specifically, they need to:

  • complete a task
  • understand a concept, or
  • look up something

Therefore, all documentation must solve a problem. By applying the principle of reverse engineering, we can solve these problems. In these examples, we’ll explore the problem everyone loves to hate: filing their taxes.

Problem 1: Completing a task

A user who must complete a task does not want to complete it – they want the end result. Therefore, to effectively document a task, a communicator must:

  1. Understand the end goal and the purpose behind it.
  2. Know the main steps (and any alternate steps) to achieve that goal.
  3. Document the steps as quickly and efficiently as possible using the language that the least experienced user will understand.
  4. Clearly state the end result.

Applying this to tax filing, the documentation (or the process itself) must:

  1. Recognize that the user wants to pay as little tax as possible; they don’t want or need anything else.
  2. Guide the user through the various steps, offering appropriate guidance to minimize the amount payable.
  3. Clearly indicate if the user owes an amount or will receive a refund.

Problem 2: Understanding a concept

A user may just need to understand something. For example, the tax filer may want to know about a specific tax deduction that they may be entitled to. However, even in this case, they are still trying to achieve the same goal: minimizing the amount of tax paid.

Therefore, to effectively document a concept, a communicator must:

  1. Understand the reason why the user wants to know this particular concept or idea. That is, they must understand the understanding.
  2. Describe the subject clearly and in terms familiar to the end user. There’s nothing more frustrating to a user than something that is described using terms they don’t know.
  3. Offer advice about practical steps they can take based on this knowledge, or additional resources.

Applying this to tax filing, the documentation or process itself must:

  1. Again, recognize that the user wants to pay as little tax as possible.
  2. Explain each deduction and whether the user qualifies for it.
  3. Guide the user on applying for the deduction they qualify for or explain why they don’t qualify.
  4. Offer information about additional deductions that they may qualify for.

Problem 3: Looking up something

A user may need to retrieve a specific piece of information in order to solve one of the two other problems stated, which, in turn, enables the user to achieve their goal.

To effectively enable the user to look up something, a communicator must:

  1. Organize the information to make it easy to search, using a clearly identifiable search tool.
  2. Present clear and meaningful search results, and filter out meaningless ones.
  3. Understand the ultimate reason why the user is conducting this search.

For example, if a user is claiming medical expenses, they want to know which expenses they qualify for. They would then use this information to claim these credits.

Therefore, when searching for a credit, if the user finds an applicable credit, there should be a link to the information or process that will enable them to obtain this credit. The point is that the user is not searching to find out which deductions apply; they are searching to save money.

Summing up, a user needs to:

  • complete a task: that is, DO something
  • understand a concept, that is, KNOW something
  • look up a piece of information, that is, FIND something

for the ultimate purpose of achieving a goal.

This can be further summed up as:


Reverse engineering this, we get:


This formula states that all users want to achieve something, by doing, knowing or finding something. From the user’s perspective, the achievement (or end goal) is the key. How they get to that goal is nowhere near as important as the goal itself.

Stated differently: millions of people own drills that they didn’t want.

What they wanted were the holes.