diff --git a/README.md b/README.md index 5249f7f..bbccdad 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ ---
--- @@ -37,18 +37,10 @@ AI coding is getting more powerful, yes one important group of people who most n -# How `abcd` works - -## Roles +# Roles `abcd` is being shaped by what real two-person teams discover as they use it. In the initial version, both roles — the product thinker and the facilitator — are human. In a later version, `abcd` aims to offer an automated facilitator, so a product thinker can run the framework with an AI translator alongside their agentic team of AI-engineers. -The product thinker and facilitator collaborate on artefacts that are sharedly owned, with others being autonomously generated and consumed by a team of AI-engineers. Two essential artefacts — an initial *briefing* document and set of articulated *intents* — are familiar teritory for product thinkers. `abcd` builds on those artefacts to *carry intent through to delivered reality*: - -1. a **brief** that always-current as the project's living canvas *(sharedly owned by the product thinker and the facilitator)* -2. **press release** shaped intents *(user-facing and thus the domain of the product thinker)* -3. **automated reviews** that grades delivered reality against the original promise *(owned by the AI-engineering team)* - As a **product thinker**, you know who the user is. You know what *done* looks like when you see it. You know which trade-offs are acceptable and which would betray the point of the project. `abcd` is built around two moments where that judgement is decisive. First, at the start of a piece of work (when you set the *why* as an intent), and at the end (when you read the verdict on whether the *why* was delivered). What happens in between — turning your why into engineering work AI agents can act on — is the facilitator's job. The **facilitator** is a *translator*, not an engineer-on-the-team in the traditional sense. Their work is to take what you wrote, shape it into plans an AI coding agent can execute well, run the framework's audit and review machinery, and tell you when the work didn't match the promise *(and what to do about it)*. @@ -61,85 +53,102 @@ The **facilitator** is a *translator*, not an engineer-on-the-team in the tradit | Cross-cutting concerns the brief implies | — | derive and encode | | Reading the verdict when work ships | read; decide what to do next | investigate any *not delivered* findings | -Contributing to the brief and writing intents-as-press-releases are the artefacts the product thinker writes. -1. The **brief** answers *what is this whole thing about?* — purpose, scope, the vocabulary the project uses, what "good" looks like. It's edited in place as the project evolves, never re-versioned, so it stays alive instead of going stale in a folder. -2. **Intents** answer *why does each user-facing change matter?* They're individually portable: Each one stands on its own, can be reordered, deferred, bundled, or dropped without rewriting the bigger picture. +# Artefacts + +The product thinker and facilitator collaborate on artefacts that are jointly owned, with others generated and consumed autonomously by the AI-engineering team. Two of them — an initial *briefing* document and a set of articulated *intents* — are familiar territory for product thinkers; `abcd` builds on them, and adds a third, to *carry intent through to delivered reality*. + +1. The **brief** *(owned jointly by the product thinker and the facilitator)* answers *what is this whole thing about?* — purpose, scope, the vocabulary the project uses, what "good" looks like. It makes one hard promise: **Everything it says reads true right now.** On day one, when the team has agreed a design but built nothing, most of the brief is ambition — and every ambitious passage is visibly marked as not yet real. As work ships, those markings come off one by one: the change that ships a capability also rewrites its passage in the brief to describe what actually exists (which is rarely word-for-word what was planned). The brief is never re-versioned and keeps no history — version control does that — so it earns its role as the project's living canvas one shipped change at a time. + +2. **Intents** *(user-facing, and thus the product thinker's domain)* answer *why does each user-facing change matter?* Each is a one-page press release written as if the change had already shipped, with a named user feeling the difference, plus acceptance criteria in plain *Given / When / Then* language. Intents are how ambition travels into the brief: An intent is drafted, planned into engineering work, and built — and the same change that ships it updates the brief. Once its acceptance criteria are verifiably met, the intent is filed as shipped and becomes the permanent record of the *why*; the brief carries the *what is*; the engineering spec carries the *how*. Intents are individually portable: Each stands on its own and can be reordered, deferred, bundled, or dropped without rewriting the bigger picture. -Some things the project needs aren't user-facing. Often, these are cross-cutting rules every feature must satisfy *(e.g., a privacy review, an accessibility checklist)*, or background plumbing that enables other capability. As a product thinker, you don't have to recognise or label those. That's the work of your facilitator who derives them from the brief and handles them as part of the engineering work. +3. **Automated reviews** *(owned by the AI-engineering team)* grade delivered reality against the original promise. When work lands, a fidelity review reads each acceptance bullet against the actual repository and writes its verdict back onto the intent itself — so the *why* and the *did-we-deliver-it* live side by side, in one file, for as long as the project does. -## Process +Some things the project needs aren't user-facing — cross-cutting rules every feature must satisfy *(e.g., a privacy review, an accessibility checklist)*, or background plumbing that enables other capability. Those skip the press-release treatment and go straight into the brief, under the same promise: Real, or visibly marked as not yet real. As a product thinker you don't have to recognise or label them — that's your facilitator's job. -You sit down with your facilitator and whatever discovery material you have — recordings, notes, a shared workspace, a half-finished slide deck, a transcript of yesterday's stakeholder call. `abcd` has a skill that ingests that material and produces a plain-language draft of your project's brief. You read it together. The parts that feel fuzzy, you sharpen with a Socratic interview the framework provides. By the end of the session you have a brief that says — in language a stakeholder would recognise — what this project is about. -Once both of you have agreed on the brief, the facilitator begins to plan implementation while you continue to think of additional ideas and/or features. Capturing an intent is as simple as typing: +# Process + +**It starts with the brief.** You sit down with your facilitator and whatever discovery material you have — recordings, notes, a shared workspace, a half-finished slide deck, a transcript of yesterday's stakeholder call. `abcd` has a skill that ingests that material and produces a plain-language draft of your project's brief; the parts that feel fuzzy, you sharpen together with a *Socratic interview* the framework provides. By the end of the session you have a brief that says — in language a stakeholder would recognise — what this project is about. Much of it is ambition rather than fact at this stage, and that's fine: The brief never bluffs, so those passages are marked accordingly. + +## Capturing intents + +**Ideas become intents.** From then on, whenever an idea arrives, capturing it is one line: ```bash abcd intent "