Visual decision trees vs. text-heavy acceptance criteria: What’s your workflow?
As a PO, I kept hitting the same wall: I’d spec out a feature, write it up as clearly as possible, and still get an implementation that handled edge cases differently than intended. Prose is just a terrible format for capturing complex decision logic.
Recently, I started experimenting with a different approach: forcing all decision logic into strict visual trees (conditions and outcomes) before drafting any text for tickets.
The original catalyst for this was actually AI. We wanted to map out logic so strictly that an AI agent couldn't "interpret" or hallucinate the rules. But something surprising happened when our BAs and testers got involved: the AI part became secondary, and the visual modeling became the actual value.
Building a decision tree collaboratively forces you to spot logical gaps before a single line of code is written. A missing branch stands out instantly in a diagram. In a Jira ticket, it just blends in as a sentence that made sense yesterday. It completely removed the ambiguity for our developers.
One specific practice that has been a game-changer for us: attaching concrete input examples directly to the consequence nodes. Basically forcing ourselves to answer "when exactly does this happen?" with real input values, which later serve as strict test cases.
I'm curious about the BA perspective on this. Have you completely moved to structured visual modeling (like DMN or custom decision trees) for complex logic, or do you still find yourselves writing extensive prose and hoping the developers interpret it correctly?