Technical deep dive
A readiness rule that skipped a precondition
Records were being marked ready for review too early. The logic was almost right — and the “almost” is where the business impact lived.
Context
In a CRM-backed workflow, a date recorded when a file was ready for review. Teams downstream relied on it to decide what to work on next.
Problem
Some records were getting that date when they shouldn’t have. The logic treated a record as ready when its supporting documents had been received, had been logged, or when the count of outstanding documents was zero — but it never checked whether any documents were required in the first place. For records that required none, “zero outstanding” was always true.
Constraints
- Nothing was down. The defect lived in business logic and produced plausible-looking data.
- The people who needed to act on the findings owned the process, not the code.
My role
I helped work out the root cause and write the problem record: the technical failure mode, the business impact, and the remediation required.
Analysis
01Name the missing precondition exactly
Each individual check was reasonable. The rule was missing a guard — are any documents required at all? — and stating it that precisely made the remediation clear and small.
02Connect the logic to its consequence
A problem record that stops at the code gets fixed and forgotten. This one explained what the early date caused downstream, so the people who own the process could judge the impact for themselves.
03Write for two audiences
Engineers needed the exact predicate and the missing guard. Leadership needed impact and remediation in plain language. Same facts, different altitude.
Outcome
A root cause specific enough to fix directly, documented in a form the business could act on.
Lessons
- “Zero outstanding” and “nothing required” look identical in the data. They mean different things.
- Boolean logic with an implicit precondition is a defect waiting for its edge case.
- An RCA is finished when the people affected can understand it, not when the engineers agree on it.