Requirements engineering · AI agents · legacy systems
Specification Talk Structured
A workflow proposed to use language models (LLMs, AI systems that generate text) in the discovery and registration of requirements. It's people with authority who decide. and the differences between documentation, testing and code are traceable.
Proposal Developmental framework. The complete workflow has not yet been compared to a baseline; components have partial evidence.
Figure 1 · The Conflict Crossing the Page illustrative scenario
Where do you come in?
A request for modernization mixes symptoms, needs, goals and an already chosen solution.
Go to cause → “The agent generates code faster than we were able to review.”Who decides what, and what the AI can do in every decision.
See the authority matrix → “ The documentation says one thing, the tests another and the code a third.”A policy to detect, classify and decide each divergence, with registration.
See divergence policy → “We have practiced TDD (write the test before the code). Is that not enough?”The TDD checks; the specification decides what to check.
See the difference →- Format
- Test
- Depth
- In-depth reading · ~9 min for central idea · ~23 min complete
You prefer the essentials first? Read synthesis (~1 min)
Video
Watch the introduction
An overview of how to preserve business intent in AI-driven software development.
Video introduction to the proposed Structured Conversational Specification, presented by Mauricio Yokoyama Issei.
The Problem Summary
Generating faster code does not in itself preserve business intent
AI agents interpret instructions, consult files, propose changes, generate Code and run tests. This reduces the effort to implement, but does not guarantee that the The solution corresponds to the problem that should be solved.
When the agent binds tasks, an incomplete interpretation crosses several Artifacts before anyone could see it. The risk is not just the wrong code: it is a interpretation not yet validated to become an apparently consistent implementation. In legacy systems (old systems that follow in production), business is spread between code, integrations, outdated documentation and the memory of few people.
Not even the speed gain is consensus. In a controlled task, developers with AI finished faster (Peng et al., 2023). In a study with 16 developers experienced and 246 real tasks, the use of AI increased time by 19% (Becker et al., 2025, preprint, still no peer review). This page is not about speed, and What's lost between the conversation and the code.
Figure 2 · The chain of transformations
- conversation
- abstract
- requirement
- design
- task
- code
- test
- product
- Lose context: the summary discards what seemed detail.
- Introduce: the model fills a gap with something plausible.
- Create contradiction: two artifacts start saying different things.
Same failure, seen in production: The Silent Crash. Base: Hou et al. (2024), systematic review; attests to the wide use of LLMs in engineering software, not the effectiveness of this workflow.
The Cause illustrative scenario
A request for modernization mixes four different things
The scenario, built for this page, is the modernization of a commercial system with over 15 years: proposals, commercial conditions, approvals, contracts and integration With the billing. Changes take weeks, and few people know all rules. The board asks:
“ We need to modernise this system by migrating to a more current architecture(supposed solution), without interrupting the operation(objective) and without losing existing business rules(objective).”
The phrase expresses a legitimate intention, but it does not say what to preserve, what to change or how to measure success. It gathers symptoms, needs to investigate, goals and a solution already chosen, and each category requires a different treatment.
| Category | In the scenario | Treatment |
|---|---|---|
| Symptoms | lengthy changes, recurrent incidents, dependence on experts | investigate the cause |
| Needs to investigate | reduce cost and risk of changes; depend less on tacit knowledge (what people know and never wrote) | confirm with evidence |
| Declared objectives | “without interrupting the operation”, “without losing the rules” | make verifiable (what rules?) |
| Presupposed solution | “most current architecture” | evaluate as an alternative, not as a requirement |
There is a second cause, decisive in legacy: the current behavior of the system does not It's necessarily the desired behavior. A rule can be preserved, corrected, replaced or discontinued, and the decision depends on evidence and Business authority, not what the code executes today.
The request then becomes a sequence of decisions. At each stage there is one point where the AI help and another in which it can distort, mapped into Step by step.
See also: formulate the problem before compromising the solution and the survey of the current state (As-Is) in Salesforce legacy. Base: ISO/IEC/IEEE 29148:2018 (checking and validation are distinct); NASA Systems Engineering Handbook (needs do not prescribe solution); Ferrari et al. (2016) and Burnay et al. (2014) (ambiguities and omissions reveal tacit knowledge; so it is worth talking to operation, support and integrations, and not just reading the code).
The proposed solution Proposal
The AI can extend the investigation; people with authority decide
Structured Conversational Specification is a human–IA workflow, governed by artifacts and by human authority, to elicit, record, test and evolve to intention of a system as verifiable requirements and criteria. Sources, uncertainties, decisions and form of verification are explicit.
The model can ask, summarize, propose scenarios, point contradictions, recover context and prepare changes. By default, you don't get the authority to decide value, risk, compliance, acceptance or truth of domain. The position is compatible with elicitation, analysis, validation and management activities described in ISO/IEC/IEEE 29148 and in SWEBOK (the IEEE Computer Software Engineering Knowledge Guide) Society). The proposal explores how the AI can support these activities without replacing them.
| Talk to AI | Structured conversational specification |
|---|---|
| Free history, no state governed | Versified artifacts, with ID, responsible and change policy |
| The goal changes without registration | Problem, criterion of success, scope and out of explicit scope |
| The decision is implicit in the answer | Decisions, rejected alternatives and open questions recorded |
| Fluency is the perceived criterion | Acceptable and auditable criteria |
| Prompt can go straight to code | Specification → review → tests → implementation → validation |
| Divergence between spec and code is invisible | Divergence detected by links, tests and review |
| The AI may appear to be an authority | The IA proposes; designated persons decide |
Spec-first
Purpose: align the intention before the code.
Risk: early freeze a model interpretation.
Spec-retrospective
Purpose: reconstruct the intention from code, logs and incidents.
Risk: give consistency to what was accidental.
In legacy, both modes appear.
The strongest objection: is this requirements engineering with another name?
Mostly, yeah. The possible contribution is interface and orchestration, and only exists if the workflow specifies entries, revision gates, artifact types, authority, provenance (the record of origin and of whom it decided), divergence and metrics. Talking to AI and going out with a Markdown file is not that.
What's not
- Validated method or standard.
- Replacement of requirements engineering, architecture, security or governance.
- Business validation for chat approval.
- Guarantee of completeness, absence of hallucination or end of divergence between artifacts.
- TDD, BDD or Example Mapping with another name.
Terminology note
This framework has already been called Vibe Spec-ing. The name changed because “live” suggests the opposite of what the proposal requires: registration, authority and verification. Similar labels (vibe specs, vibe speccing) circulate informally for AI interviews before code or for generated specifications Of agents' logs.
Related practice: Vibe Coding with Devin, which this proposal complements, and Agent-driven governance. Base: SWEBOK Guide v4.0a (Requirement Area) as disciplinary reference. Böckeler/Thoughtworks (2025) describes “spec-driven development” as an unstable label (spec-first, spec-anchored, spec-as-source); informal uses (marmelab, Bechtel, McGuinness) are use, not evidence.
The whole workflow Proposal
Step by step: what AI accelerates and what it can distort
Those who know Design Thinking recognize four of the five stages. The fifth, specify and evolve the artifacts, is the addition of requirements engineering. At each stage the Win comes along with a known risk and a control. It's a cycle, not a sequence: any step returns to the previous when new evidence arises. The Vocabulary of Design Thinking serves as a map; it is not presented as proof of anything.
| Step | Where the AI helps | What can distort | Control | Section |
|---|---|---|---|---|
| Discover | suggest questions and point out topics that no one mentioned | abstract that deforms reports; synthetic personas (users simulated by AI) can anchor stereotypes; illusion of completeness | record source; check with operation observation and legacy inspection | Protocol |
| Set problem | can help separate symptom, need, objective and presumed solution | chance of result becoming requirement; early frozen solution | human decision before formalizing; validating understanding is not validating the result | Cause |
| Explore Examples | generate normal, limit and negative cases | fluent specification that hides false premise; harmonised conflict in silence | examples validated by those who know the domain; conflict preserved, not solved by the model | Protocol |
| Specify and evolve | structure the specification and propose traceability links | drift (the specification and code move away without anyone noticing); loss of who decided, with what evidence and what was rejected | divergence policy; provenance; traceability (the link between decision, rule, test and code); history that does not erase versions | Divergence |
| Test and validate | translate criteria into tests and support characterization tests | Green test against wrong acceptance criteria, written by the AI itself | acceptance criteria defined by persons; independent tests | TDD |
Protocol Proposal illustrative scenario
Five practices for AI exit to be challenged
In this proposal, the contribution of the model only counts when its outputs can be examined and contested. Start with a representative flow, not the entire system. On the set, the approval of a proposal with exceptional discount.
- Record the origin of each statement.
Interview, document, code inspection, operational observation, inference or formal decision. The conversation with the model does not replace observing the operation or inspecting the legacy: the sources confer on each other.
- Separate facts, hypotheses and proposals.
A plausible response from the model is not evidence that the rule exists.
- Keep to-dos visible.
Relevant uncertainty remains open, responsible, until it is resolved or accepted as a risk.
- Use examples and counterexamples.
Normal situation, limit and exception. In the scenario: within the limit, automatic approval; above, authorized person and justification; incomplete data, the proposal does not advance; altered value after approval, may require further evaluation. They're hypotheses until confirmation. The model suggests cases; it does not promote the approved rule.
- Review in proportion to the risk.
Commercial, regulatory and critical integration decisions go through those with authority.
It is not bureaucracy for every sentence: it is to be able to distinguish what is known, what is supposed to be and what you've decided. And validating understanding is not validating the result. The conversation can reveal if people understand the rule in different ways, not that the modernization will reduce incidents.
Figure 6 · Statement record (illustrative scenario)
# Cenário ilustrativo — fluxo: aprovação de proposta com desconto excepcional
id: AF-012
afirmacao: >
Proposta com desconto acima do limite exige aprovação
de pessoa autorizada e registro da justificativa.
status: hipotese # [2] fato | hipotese | proposta | decisao
origens: # [1]
- entrevista: operação comercial
- inspecao_de_codigo: rotina de aprovação do legado
- documento: manual de procedimentos (desatualizado)
limite_de_desconto: nao_conhecido # [3] as fontes divergem
exemplos: [EX-01, EX-02, EX-03] # [4] normal, limite, exceção
sugerido_pela_ia: [EX-03] # [4] candidato; não é regra aprovada
risco: alto # [5] exige revisão de quem tem autoridade
decide: responsável pela política comercial
pendencia: aberta
nao_conhecido, which is the point of practice 3.- [1]
origens: where the statement comes from. - [2]
status: fact, hypothesis, proposal or decision. - [3]
nao_conhecido: the to-do is visible. - [4]
exemplosandsugerido_pela_ia: normal cases, limit and exception; the suggestion is not a rule. - [5]
riscoanddecide: the review required and who decides.
See also: Reveal Implicit (invented current state), when you stop investigating and typed and addressable knowledge. Base: NIST AI 600-1 treats confabulation (possible and false responses) as a risk to manage; W3C PROV-DM offers a provenance model; Parasuraman & Manzey (2010) and Buçinca et al. (2021) document the automation bias, and cognitive strength function reduced dependence on AI in an experiment; SWEBOK lists the sources of requirements that underpin practice 1.
Governance Proposal
Who decides what, and what the AI can do in every decision
The matrix separates assistance authority. It is a proposed governance policy, the adjust to the structure of responsibility of each organization, and not a requirement of standard.
When the agent also executes tools, changes files or triggers pipelines, the controls begin to cover permissions, scope of execution, revision of changes and Break conditions: generate a suggestion and perform an action are different levels autonomy. The line of acceptance criteria links this section to TDD: the AI may write the test code, but the expected result comes from those who have authority over The rule.
| Decision | Primary authority | Possible contribution from the AI |
|---|---|---|
| Value and business priority | Product and business | Compare alternatives and impacts |
| Preserve or change trade rules | Domain Managers | Identify ambiguities and limit cases |
| Acceptance criteria | Business and engineering | Propose formulations and test examples |
| Architecture | Responsible Engineering | Suggest alternatives and trade-offs |
| Integration compatibility | Engineering and integration managers | Map contracts and possible impacts |
| Acceptance of residual risk | Officially appointed officials | Identify scenarios and support analysis |
| Writing of specification | Responsible team, with review | Structure and reformulate content |
| Acceptance criteria (the expected result) | Business and engineering | Generate validation candidates |
| Test code | Engineering and QA | Write code; criteria come from above |
| Classification of a divergence | Responsible for the affected artifact | Detect possible conflicts |
| Model / agent | No substantive authority by default | Propose, recover, transform; execute only in the authorized scope |
See also: From Executor to Cognitive Orchestrator and You're no longer an executioner, on the human role that the matrix formalizes; Autonomy is not authority: Action Gateway, about the controls when the agent executes. Base: the writing is inspired by the function Government NIST AI RMF 1.0 (papers and accountability); NIST AI 600-1 (human configuration–IA); ISO/IEC/IEEE 29148 (interested parties and requirements management).
Divergence Proposal illustrative scenario
No artifact alone preserves intent
Documentation, testing and code tend to differ as the system evolves. What matters is who solves, how, and where The decision is registered.
Each artifact has a responsibility and a limit. Business rules register adopted policies, but do not guarantee implementation. The characterization tests record the legacy, including defects and obsolete rules. The code implements a version, but does not prove adherence to intent. There is no universal source of truth.
The divergence (in English, drift) is the situation in which artifacts should Saying the same thing starts to say different things. The proposed policy has five steps, shown below in the discount example.
Figure 8 · A conflict, from start to finish (DIV-007 → DEC-031)
- Identify
The characterization test shows that the legacy approves a discount above the limit without approval. The AF-012 rule says otherwise.
- Sort probable cause
Incomplete information, defect, rule change, obsolescence or implementation error. Here, probable defect; the hypothesis is not yet a decision.
- Identify who decides
He's in charge of commercial policy.
- Register the decision
DEC-031, with justification, impact and artifacts affected.
- Refresh and recheck
An acceptance test with the acceptance criteria in AF-012 and DEC-031. The characterization test is labeled as evidence of the legacy.
The reverse: if the new code does not meet an approved criterion, change the criterion requires explicit decision. Editing the test for him to pass is a decision without registration. A traceability is valid in both directions (decision → criterion → test → component; failure → rule to review), with depth proportional to criticality and the requirement of audit. The goal is not to prevent all divergence, but to make it detectable, Explicable and treatable.
| Status identified | Proposed treatment |
|---|---|
| Intentional and still valid behavior | Preserve and document |
| Known defect | Fix with approval and testing |
| Obsolete rule | Discontinue by explicit decision |
| Insufficient information | Investigating and keeping the pending visible |
| Integration dependence | Define compatibility and transition strategy |
The eight artifacts, their responsibility and their limit
| Artifact | Liability | Limit |
|---|---|---|
| Background and objectives | Register the problem and expected results | It does not prove that the solution will achieve the results |
| Business rules | Register approved policies | Not ensuring correct implementation |
| Examples and acceptance criteria | Express expected behaviors | Do not guarantee the completeness of the domain |
| Characterisation tests | Register behaviors observed in legacy | They can capture faults and obsolete rules |
| Acceptance and regression tests | Check selected behaviors | Do not confirm all system properties |
| Integration contracts | Set expected compatibility | They do not eliminate all risks of evolution |
| Decision records | Preserve justifications and alternatives considered | Do not ensure that a decision will remain appropriate |
| Code | Implement behavior in a specific version | It does not in itself prove adherence to the intention |
The ten states of a divergence
não conhecidoambíguospec desatualizadateste sem requisitorequisito sem testecódigo fora da specprodução divergenterisco aceitobloqueadoresolvido
In the proposed workflow, the agent does not quietly harmonize conflicting versions: if it cannot demonstrate the relationship, record “unknown”.
The divergence record models and the list of states are in the kit: download kit (.md).
The same thesis from the angle of grounding (anchore the response in sources): Five sources of truth, each with limited authority and Evidence Record: the receipt of each validation. For auditable architecture, see Auditable AI architecture. Base: Gotel & Finkelstein (1994) on traceability before and after specification; Rempel & Mäder (2017) associate more complete traceability with fewer defects in 24 open source projects (association, not cause); Fucci et al. (2022) show that missing links between requirements and tests prevented the evaluation of a quality intervention.
Specification and TDD Summary Evidence
The specification decides what to check; the TDD checks
A term before following: acceptance criteria are the source of the expected result with which the test compares the observed behavior.
The difference between approaches is the control unit. The TDD (write a test that failure, minimum code for it to pass, and then refactor) answers “what’s next smaller increment and how do I find that it continues to work?”. The specification answers “what problem, for whom, with what rules, restrictions and criteria?”. The TDD makes feedback cheap; does not make the acceptance criteria correct. Without intention and scope, TDD can test the wrong thing efficiently. No executable acceptance criteria, the specification can document a wrong intention.
There is a specific risk of agents: when the same model writes the specification and tests, a green test can only confirm the error of the model itself. Control is the expected result is defined or validated by people before the test is generated (the line of criteria for acceptance in Who decides what?), and each criterion critical have at least one test that was not born from the same prompt or from the same context.
In legacy, three types of tests have different roles: characterization (what legacy today), acceptance (the approved criteria) and TDD (local implementation). One possible sequence: characterize the legacy, validate the rules with whom it decides, write acceptance tests, implement with TDD, compare results and release with monitoring, interruption and reversal criteria.
Figure 10 · The same flow, two different questions illustrative scenario
// Caracterização: registra o que o legado FAZ hoje — não o que deve fazer.
// Divergência DIV-007 aberta: a política atual proíbe este comportamento.
test('legado: aprova desconto acima do limite sem aprovação', () => {
expect(legado.avaliar(propostaAcimaDoLimite()).status).toBe('APROVADA');
});
// Aceitação: os critérios de aceite vêm de AF-012, confirmados na decisão DEC-031.
// O teste verifica a regra; quem a definiu foi o responsável pela política.
test('proposta acima do limite aguarda aprovação e exige justificativa', () => {
const r = avaliarProposta(propostaAcimaDoLimite());
expect(r.status).toBe('AGUARDANDO_APROVACAO');
expect(r.pendencias).toContain('JUSTIFICATIVA');
});
Specification × TDD, criterion by criterion
| Criteria | Conversational specification | TDD |
|---|---|---|
| Purpose | Reduce loss of intent between conversation, requirements, code and testing | Guide incremental design and implementation by executable tests with quick feedback |
| Control unit | Product intent, rules, restrictions and criteria | Observable code behaviour, in general function, class or module |
| Acceptance criteria | It is only verifiable if each requirement has observable condition, limits and procedure; fluent text or human approval is not enough | A green test only ensures that the exercised behavior meets the accepted criteria encoded in that environment |
| Divergence | High risk of drift spec; requires explicit policy, versioning and detection | Detects regression in what is exercised; tests can become obsolete or be changed to accommodate code |
| Evidence | Components with isolated studies; complete workflow without localized study | Small and contextual effect (see below) |
The evidence about the TDD is greater than that of this workflow, and contextual. Rafique & Mišić (2013), in a meta-analysis of 27 studies, found small effect on quality and little or no in productivity. Tosun et al. (2017), with 24 professionals, no found statistical difference in external quality and saw a drop in productivity in the complex task in existing code. Nagappan et al. (2008), in four IBM teams and Microsoft, observed defects density 40–90% lower and 15–35% longer development, with threats to validity declared by the authors. Liu et al. (2023), EvalPlus) showed that expanded tests find errors that the original tests Let them through. The conclusion is that the proposal does not claim superiority over the TDD nor replaces it: provides context and decisions; TDD provides local feedback and protection against regression.
See also: the failure that 54 tests did not catch, Passing the test isn't the same as being right, from spec to Apex Test in Salesforce practice, the same logic in accessibility and from legacy (As-Is) to target (To-Be). Base: Beck (2002), TDD; Feathers (2004), legacy code characterization tests.
Measure and Limits Not validated Evidence
What to measure, and what this proposal still does not prove
Modernisation is not complete because the code has been rewritten. Indicators below need operational definition, baseline and observation period; more documents or tests do not prove, alone, that the system has become more sustainable. As complete definitions (recall of requirements, residual ambiguity per 100 requirements, precision and recall of links, DORA metrics) are in the kit.
Case
- Critical rules identified and validated.
- Criteria covered by at least one independent test (not generated from the same specification prompt).
- Divergences between specification, testing and production by release, by gravity.
- Statements and decisions with complete provenance: source, author, date and justification.
- Time to rebuild the justification for an old decision.
Operational output
- Time to understand and implement a rule change.
- Incidents, regressions and emergency corrections after release.
- Rework attributed to the divergence between intention and implementation, measurable because the divergence policy classifies the cause.
Evidence ladder
Climbing a step requires new evidence; the bottom step does not prove the top step.
- 1. Agent capacity Studyed on isolated tasks
- 2. Artifact quality Studyed on isolated tasks
- 3. Task result No full workflow study
- 4. Operational output No full workflow study
- 5. Business result No full workflow study
What Literature Lets You Say Today
LLMs show partial capacity in controlled bidding tasks, generation of specification and detection of ambiguity, with flaws in domain terminology, interfaces and restrictions. The research is mostly laboratory, and LLMs as requirements reviewers had inconsistent results. No study was found controlled or longitudinal workflow complete against a baseline aligned to ISO/IEC/IEEE 29148 and SWEBOK.
How to evaluate in your context
An evaluation design proposed for this context, not a validated protocol.
- Set up an independent reference package
Needs, rules, restrictions and border cases, before or in parallel to solicitation.
- Conduct IA-elication by registering source
Separating fact, inference and proposition.
- Independent review
By at least two people in the domain.
- Measure in four points
After the definition, specification, implementation and operation.
- Post prompts, model versions, artifacts and award decisions
Respecting privacy.
- Treat any improvement as local evidence
Not as general workflow validation.
The comparison with a human or hybrid baseline and the H1–H4 hypotheses are in the kit.
See also: how to refute a hypothesis, what an article does not yet prove, support, for incidents and emergency corrections as indicator, and the total cost of the AI, including inference and review. Base: ISO/IEC/IEEE 15939:2017 (baseline measurement) and ISO/IEC 25010:2023 (product quality) serve as a reference for defining indicators; DORA (delivery time, change failure, recovery) enters as operational indicator. The LLM studies on requirements are in Group 2 of the References.
Where to start
Start with a flow, not the entire system.
Choose a representative flow, apply the five practices, register the first divergence and decide who solves it. No promise of outcome: the goal is to have something which may be examined and contested.
Markdown
- Editable authority matrix, with mandatory review column.
- Model statement record.
- Record of divergence, with states and routing by type of conflict.
- Minimal drift checklist.
- Brief evaluation protocol: hypotheses, baseline, metrics and evidence ladder.
Stay in the ecosystem
Trust Engineering
The governance framework from which the current state inventory comes and the separation between fact, inference and judgment.
Auditable AI architecture
Traceability and reversibility as verifiable principles.
Vibe Coding with Devin
How the spec comes into practice: the agent performs the task, and the team reviews and decides.
Origin
References and origin
Standards and guides are the foundation of the design, not experiment: none of them validates this workflow. References are grouped by the type of evidence.
1. Standards and guides
- ISO/IEC/IEEE 29148:2018 — Requirements engineering
- SWEBOK Guide v4.0a — Software Requirements
- NIST AI RMF 1.0
- NIST AI 600-1 — Generating AI Profile
- ISO/IEC/IEEE 15939:2017 — Measurement process
- ISO/IEC 25010:2023 — Product quality model
- W3C PROV-DM
- NASA Systems Engineering Handbook — Stakeholder Expectations
- DORA — software delivery metrics
2. Empirical studies
- Ferrari et al. (2016) — Ambiguity and tacit knowledge in solicitation interviews
- Burnay et al. (2014) — What stakeholders will or will not say
- Rempel & Mäder (2017) — Traceability completeness and quality software
- Gotel & Finkelstein (1994) — An analysis of the requirements traceability problem
- Fucci et al. (2022) — When traceability goes awry
- Rafique & Mišić (2013) — Meta-analysis of TDD
- Tosun et al. (2017) — Industry experiment on TDD
- Nagappan et al. (2008) — TDD in four industrial teams
- Ronanki et al. (2023) — ChatGPT and requirement elicitation
- Krishna et al. (2024) — LLMs in requirements specifications
- Bashir et al. (2025) — Detection of ambiguity with LLMs
- Zadenoori et al. (2025, preprint) — LLMs for requirements engineering
- Hou et al. (2024) — LLMs in software engineering
- Seifert et al. — LLMs × human requirements reviewers
- Montgomery et al. (2022) — Quality of requirements
- Peng et al. (2023) — AI and productivity (Copilot)
- Becker et al. (2025, preprint) — AI and experienced developers
- Liu et al. (2023) — EvalPlus
- Parasuraman & Manzey (2010) — Complacence and bias in human use of automation
- Buçinca et al. (2021) — Cognitive forces
- Norheim et al. (2024) — Challenges in applying large language models to requirements engineering tasks, Design Science, 10, e16
3. Practice and books
- Beck (2002) — Test-Driven Development: By Example
- Feathers (2004) — Working Effectively with Legacy Code
- Cucumber — Example Mapping
- Böckeler/Thoughtworks (2025) — Understanding Spec-Driven-Development
- GitHub Spec Kit
4. Informal use of the label (use, not evidence)
- marmelab (2025) — vibe-spec
- Bechtel — Vibe Specs
- McGuinness — text about interviewing the user before implementation
5. Author Pages
Authors: evidence of what the author says, not independent validation.
Origin: synthesis of research documents of the author (2026), conferred against sources above.