Causes of problems are sometimes elusive. Symptoms are misleading, reporters expectations are misguided, layers of business process and automation, and years of workarounds and patch jobs render the situation very confusing.
The cause of a problem has a category related to it's proximity to the symptom revealing component:
- Local cause – when analysis reveals that the problem is specific to the component itself.
- Adjacent cause – when analysis reveals that the cause is in components directly adjacent to the component revealing the symptom.
- Subsystem cause – when analysis reveals that the cause is in components closely related to the symptomatic component.
- Systemic cause – the cause is isolated in a component that is shared or used by many unrelated components in the system.
- External cause – the cause is outside of the boundaries of the system – or business process. This is often referred to as "garbage in, garbage out".
The cause of a problem has a category related to its probable frequency of occurrence:
- Incessant – when one occurrence of the is not likely to complete before the next begins. If the symptom is performance related, the result can be a complete log jam.
- Regular – when an occurrence is expected every time a process happens.
- Routine – when an occurrence is expected only under certain conditions, that happen routinely.
- Infrequent – when an occurrence is expected only under certain conditions, that happen infrequently.
- Unlikely – when an occurrence is expected only under a rare confluence of unlikely conditions.
The cause of a problem has category related to its class or type:
- Human Error – A human did not correctly execute according to process and procedure.
- Sequence Error – Process was executed out of sequence.
- Resource Issue – Some critical resource was unavailable when needed to complete the process.
- Process Definition Issue – The process definition did not account for some real condition, and error resulted.
- Automation Issue – Some process automation (either software or machinery) malfunctioned.
When documenting a cause for a problem, consider that each of these categories should be assigned. Note that these categories are equally applicable to problems expressed in terms of a manual or automated systems or processes. In our current mostly automated state, we have as much likelihood of a problem involving both automated components and manual components. Even when we are only responsible for the software, or the "systems" components, we need to reflect that the problem can be caused by errors in the manual components of the "system".