Europe 2026
BDD, ADR, PRD, WTF: Capturing Decisions for Humans and AI Alike — Michal Cichra, Safe Intelligence
Michal Cichra , Safe Intelligence
Overview
This talk addresses the challenge of maintaining consistency and understanding in software development, particularly with the advent of AI agents. It proposes a system for capturing and enforcing decisions using established documentation practices like Architecture Decision Records (ADRs), Product Requirements Documents (PRDs), and Behavior-Driven Development (BDD). The core thesis is that by formalizing why and how decisions are made, developers and AI agents can operate more effectively and consistently.
Who should watch
- AI Engineers working with coding agents or building agentic systems.
- Product Managers and Product Engineers seeking to improve feature development and consistency.
- Developers struggling with code or product decisions becoming obscure over time.
- Teams looking to enforce architectural rules and design patterns.
- Anyone interested in improving developer experience and productivity with AI tools.
Key takeaways
- AI agents, like humans, suffer from limited context and memory, leading to questions about existing design choices.
- Architecture Decision Records (ADRs) document the reasoning behind architectural choices, which can be enforced through tools and linters.
- Product Requirements Documents (PRDs) should capture the "why" and user journey for features, serving as a reference for both humans and AI.
- Behavior-Driven Development (BDD), using tools like Cucumber, can create executable specifications in human-readable language, bridging the gap between requirements and actual product behavior.
- Design systems and pattern libraries are crucial for building and enforcing consistent UIs, even with AI agents.
- A feedback loop involving Git hooks, CI, and linters can automatically enforce documented rules, catching deviations before they are merged.
- This enforcement loop helps prevent common issues like N+1 queries by enforcing architectural constraints at the code level.
- Different "skills" or focuses can be applied to the feedback loop, such as ADR management, PRD adherence, or UI iteration, allowing for tailored agent behavior.
Notable quotes
*Humans and LLMs, they suffer from the same trait. Limited context. People forget. LLMs context compact.*
*What you cannot find, you cannot enforce.*
*May the spec be with you.*
Unofficial community note. Prefer the recording for nuance.