The ticket says: "Customers should be able to be deleted but we still need their order history — soft delete?" No acceptance criteria, no edge cases, no owner online. Experienced engineers know the expensive part is not typing the code — it is discovering, mid-implementation, the questions nobody asked.
Tier: Foundation · Workflow area: Feature development
This playbook uses AI to front-load that discovery: ticket in, reviewed file-level plan and question list out, before any code is written.
Skip it for genuinely trivial changes (copy tweaks, config bumps) where planning ceremony costs more than the change.
Extract the questions before the plan. Resist asking for a plan immediately:
Here is a ticket for our Node/Express + Postgres service:
"Customers should be able to be deleted but we still need their order
history - soft delete?"
Do NOT write a plan yet. First list:
1. Every ambiguity a developer must resolve (behavior, not implementation).
2. Edge cases the ticket ignores (e.g., active subscriptions, GDPR/DPDP
erasure requests, unique email constraint on re-signup).
3. Questions to ask the product owner, ranked by how much the answer
changes the design.
Answer what you can, flag the rest. Reply inline with your own answers ("soft delete via deleted_at; erasure requests are a separate flow; email must be reusable"). Anything you cannot answer goes to the ticket owner now — that message is the highest-leverage output of this playbook.
Request the file-level plan. With ambiguities pinned:
Now write an implementation plan against this repo. Format:
- Steps in dependency order, each naming the exact files to create/modify.
- For each step: what changes, and how it is tested.
- DB migration steps separated from code steps, with rollback notes.
- A "risks" section: what could break existing behavior
(queries missing a deleted_at filter is the classic one).
Search the codebase first; do not invent file paths.
Red-team the plan. One more pass catches most planning bugs:
Critique your own plan as a skeptical senior reviewer. Where is it
underspecified? Which steps would you refuse to estimate? What existing
code (list files) queries the customers table and now needs a filter?
Edit and post. Cut steps you disagree with, re-order for your deploy reality, and post the plan plus open questions on the ticket. The plan is yours the moment you post it — "the AI planned it" is not a defense in retro.
Steps sized "one PR, reviewable in 15 minutes" make the plan directly executable by you, a junior, or a coding agent — same plan, three consumers.
Ticket text usually contains no source code, so most restrictions do not apply to steps 1-2 — run them in any approved chat tool. For steps 3-4 (which need repo context):
Strip customer names, real emails, and incident details from ticket text before pasting into any hosted tool.