Analysis of Competing Hypotheses (ACH) is a procedure that is applied to debugging issues. The procedure instructs you to provide possible causes for the bug, find evidence for and against it, and how to eliminate the possibilities. The most powerful thing about ACH is the way it forces users to eliminate hypotheses by countering our instinct to gain evidence.

Through falsification, it can be accomplished with just a single detail that is inconsistent and lasers through other forms of evidence. However, this may be obvious to any reader. It is the challenges that programmers craft that will help simplify the series of steps in this procedure.

Follow a Checklist

Even the most highly trained teams are able to perform better by following simple checklists. While it should not be used as a flowchart, it should be used as a step process. The imposition of the process will support the effort under time and difficult constraints and allow them to use their higher knowledge on the task. This allows them to focus on the current issue instead of trying to remember what comes afterward.

A previous survey found that 80% of doctors encourage the lists as they were able to become more efficient in their patient’s health care. However, 20% did not agree but still used the checklists while going through the operations.

Humility in Acceptance

Following the physicians’ take on the checklist, it is not easy to recognize the steps that will help a highly trained professional. Rather the key is humility in accepting that will allow you to submit to the discipline of the process instead of assuming the best way.

Use of Appropriate Process

Following the ACH process, this simple process will help you in everyday coding. For example, you will start by adding a test, running the tests to check for fails, write the code, scan the automated tests, refactor the code, and finally GOTO 1. The sense of humility is required to admit to the simple unit tests that will help make your output significantly better. The checklist will create order to be effective.


With a simple process of support in decision making, this can play as a powerful tool. However, having the humility in the struggles of complexity will allow you to create effective results.