Heuristic
Separate opposite requirements by condition
The answer may be 'both,' provided the system knows when each one applies.
When it fits
- The system needs different behavior depending on state, risk, load, user or another observable condition.
When to avoid it
- Conditional rules can become complex and inconsistent; keep the condition set small, testable and auditable.
Why it matters
Name the condition that changes which property is desirable, then make system behavior conditional on it. Prefer a condition that is observable before the action. This can replace one compromised default with two explicit policies.
An example
Allow automatic deployment for low-risk changes that pass defined checks, but require human approval for high-impact permission or schema changes.
Check your result
The system has an observable condition that determines which opposite behavior applies.
Keep this limit in mind
- Conditional rules can become complex and inconsistent; keep the condition set small, testable and auditable.
Evidence and sources
Supports
Classical TRIZ lists separation in time, separation in space and separation upon condition among methods for resolving physical contradictions.
These are solution-search heuristics; implementation still needs domain evidence, safety and feasibility checks.
Contradictions · Methods for resolving physical contradictions