Salta al contingut principal
onext technology
IA 27 març 2026 - 14 min de lectura

MVP vs Especificació: com el Spec-Driven Development corregeix el biaix del "Quick Ship"

Escriure especificacions formals abans del MVP no és overhead. És el fonament perquè la IA entengui què construir sense iteracions destructives. Els equips que ho apliquen passen de 7 sprints a 3.

Jordi García
Tech Lead a onext
Comparativa visual entre un MVP construït sense especificació amb múltiples iteracions i un MVP construït amb Spec-Driven Development amb flux net

El mantra de les startups és conegut: "ship fast, learn fast". Construeix un MVP en setmanes, posa'l davant d'usuaris, itera. El problema no és la velocitat. El problema és el que passa quan aquest MVP, construït sobre suposicions no documentades, ha d'escalar, integrar-se amb agents d'IA o sobreviure al primer pivot. El 80% del rework en programari s'origina en defectes de requisits. I un MVP sense especificació és, per definició, un producte construït sobre requisits implícits.

Spec-Driven Development (SDD), també conegut com a desenvolupament guiat per especificacions, no proposa tornar al waterfall ni escriure documents de 100 pàgines abans de programar. Proposa una cosa més precisa: documentar les decisions que ja estàs prenent, en un format que tant humans com agents d'IA puguin consumir. La diferència entre un MVP que valida i un que genera mesos de rework és, gairebé sempre, en aquestes decisions no escrites.

El cost ocult dels MVPs sense especificació

Quan un equip construeix un MVP sota pressió de temps, es produeix un patró predictible: els requisits s'assumeixen en lloc de documentar-se. El frontend assumeix una estructura de dades. El backend assumeix un flux d'usuari. QA assumeix criteris d'acceptació. I ningú descobreix les inconsistències fins a 3-5 setmanes després, quan les peces no encaixen.

Les dades són contundents:
- El 30-50% de l'esforç total en projectes de programari es destina a rework (Boehm & Papaccio)
- El 80% d'aquest rework és atribuïble a defectes en requisits (Info-Tech Research Group)
- Un error de requisits costa 8x més corregir en disseny, 16x en codi i 29x en producció (NASA)
- Cada euro invertit a millorar processos de requisits retorna entre 3x i 7,5x (Carnegie Mellon SEI)

En un MVP típic de 8-12 setmanes, això es tradueix en 3-5 setmanes addicionals de redisseny no planificat. No perquè l'equip sigui dolent, sinó perquè les suposicions no documentades divergeixen entre persones. I quan introdueixes agents d'IA en aquest procés, el problema es multiplica.

Per què la IA amplifica el problema

Un agent d'IA com Claude Code o GitHub Copilot no té intuïció. No "sap" que el CTO volia un flux de pagament en dos passos, no en tres. No dedueix que l'API ha de ser RESTful perquè l'equip de mobile ho necessita. Sense especificació, l'agent genera codi basat en patrons estadístics, no en decisions de producte.

Quan equips amb processos de requisits immadurs integren IA, no redueixen el rework: l'acceleren. Com assenyala Thoughtworks en la seva anàlisi de SDD per al Technology Radar, la IA produeix solucions errònies més ràpid quan no té especificacions que la guiïn. El resultat és més codi per refactoritzar, no menys.

Quan una especificació és "prou formal" per a la IA

El biaix del "Quick Ship" assumeix que especificar és el contrari de ser àgil. Que escriure una spec abans de programar és perdre temps. Però una especificació útil per a SDD no s'assembla a un document de requisits de 100 pàgines. S'assembla a això:

spec/feature-checkout.md
## Feature: Checkout simplificat

### Problema
El 34% d'usuaris abandona al pas de pagament.
Necessitem reduir fricció sense comprometre seguretat.

### Restriccions
- Màxim 2 passos (dades + confirmació)
- Passarel·la: Stripe (ja integrada)
- No emmagatzemar dades de targeta (PCI compliance)
- API REST, endpoint POST /api/checkout

### Criteris d'acceptació
- [ ] L'usuari completa la compra en menys de 60 segons
- [ ] L'error de pagament mostra un missatge clar, no un codi HTTP
- [ ] Funciona en mobile (viewport 375px+)

### Integració
- Fa servir el component Button existent de /ui/Button
- Segueix el patró d'estat de /hooks/useAsync
- Tests amb Vitest, mínim 80% cobertura

Això és una especificació suficient per a SDD. No 100 pàgines. Són 20 línies que expliciten les decisions que l'equip ja havia pres mentalment però no havia escrit. La diferència és que ara un agent d'IA pot llegir-les i generar codi que respecti aquestes restriccions.

Els tres nivells de formalitat

  • Nivell 1 - Prosa estructurada: Markdown amb seccions clares (problema, restriccions, criteris). Suficient per al 80% de features d'un MVP. 10-15 minuts d'escriptura.
  • Nivell 2 - Contractes d'API: OpenAPI per a endpoints, schemas JSON per a models de dades. Necessari quan hi ha múltiples consumidors (mobile, web, agents). 30-60 minuts.
  • Nivell 3 - Comportament formal: Gherkin per a fluxos crítics, state machines per a workflows complexos. Reservat per a lògica de negoci on un error té impacte financer o regulatori. 1-2 hores.

Regla pràctica: Si un agent d'IA necessitaria més de 2 rondes de correcció per generar el codi correcte, la feature necessita una especificació. Si surt bé a la primera amb un prompt, no la necessita.

Cas: de 7 sprints a 3 sprints amb SDD + Claude Code

Context: SaaS B2B, equip de 6 developers, producte en fase de creixement post-MVP. Estaven reconstruint el mòdul de facturació per suportar múltiples divises i compliment fiscal europeu.

Sense SDD (estimació original): 7 sprints

  • Sprint 1-2: Desenvolupament del core de facturació amb Copilot (prompts ad hoc)
  • Sprint 3: Descobreixen que el model de dades no suporta divises múltiples correctament
  • Sprint 4: Redisseny del schema + migració de dades
  • Sprint 5-6: Reimplementació parcial + tests
  • Sprint 7: Integració, QA, hotfixes

Patró clàssic: Els sprints 3-4 són pur rework. L'equip no va definir formalment les restriccions de multidivisa abans de començar. Copilot va generar codi que assumia una sola divisa perquè cap prompt ho va especificar.

Amb SDD: 3 sprints

  • Setmana prèvia: 3 dies escrivint especificacions (model de dades multidivisa, regles fiscals per país, contractes d'API amb OpenAPI, criteris d'acceptació en Gherkin per a fluxos crítics)
  • Sprint 1: Claude Code genera el schema, els endpoints i els tests base a partir de les specs. Revisió humana: 70% del codi acceptat sense canvis
  • Sprint 2: Lògica de negoci i regles fiscals. La "constitució" del projecte (regles immutables) evita que la IA generi dreceres que violin compliance
  • Sprint 3: Integració, QA, deploy. Sense redissenys perquè les decisions crítiques estaven documentades des del dia 1

Comparativa: sense SDD vs amb SDD

7 Sprints sense SDD
3 Sprints amb SDD
40% Temps en rework (sense)
8% Temps en rework (amb)

Els 3 dies d'especificació van estalviar 4 sprints de rework. ROI: 15x sobre el temps invertit en specs.

Matriu: quan SDD és ROI positiu vs overhead

SDD no sempre és la resposta correcta. Hi ha contextos on l'overhead d'escriure especificacions no compensa. Aquesta matriu t'ajuda a decidir:

Escenari SDD recomanat Per què
MVP amb integració d'IA agèntica Els agents necessiten context explícit. Sense spec, generen codi que no encaixa amb les decisions de producte.
Feature complexa (múltiples integracions, compliance) Cost d'error alt. Una spec d'1-2 hores estalvia setmanes de redisseny.
Equip de 4+ developers en la mateixa feature La spec és la font de veritat compartida. Redueix malentesos entre membres.
Landing page o canvi de copy No Baix risc, baix cost d'error. Un prompt directe és suficient.
Prototip llençable per validar una hipòtesi No Si saps que el llençaràs, no inverteixis a formalitzar-lo. Un prompt ad hoc és correcte.
Bugfix aïllat en codi existent No El context és al codi. La IA pot entendre'l directament.
MVP que escalarà post-validació El cost de no especificar es paga amb interessos quan cal escalar el MVP validat.
Refactoring de codi legacy amb IA La IA necessita saber què mantenir i què canviar. Sense spec, toca el que no ha de tocar.

Regla general: Si el cost d'un error supera les 4 hores de rework, o si més de 2 persones (humanes o agents) treballaran en la mateixa feature, SDD és ROI positiu. Per sota d'aquest llindar, un prompt ben escrit és suficient.

Eines lleugeres per escriure specs

No necessites programari especialitzat per practicar SDD. Les millors especificacions per a MVPs s'escriuen amb eines que ja tens:

1. Prosa estructurada en Markdown

El format més accessible. Un fitxer .md amb seccions clares: problema, restriccions, criteris d'acceptació, integració. Funciona amb qualsevol agent d'IA (Claude Code, Copilot, Cursor) perquè és text pla que s'inclou com a context.

Quan fer-lo servir: Per al 80% de les features d'un MVP. És ràpid d'escriure (10-15 minuts) i prou formal perquè un agent generi codi consistent.

2. OpenAPI per a contractes d'API

Si el teu MVP té una API (i gairebé tots en tenen), una especificació OpenAPI és el contracte que connecta frontend, backend i qualsevol agent d'IA que consumeixi o generi endpoints. Els agents moderns interpreten OpenAPI directament i generen codi que respecta el schema.

Quan fer-lo servir: Quan hi ha múltiples consumidors de la teva API (app mobile, web, integracions de tercers) o quan un agent d'IA generarà tant el backend com el frontend.

3. Gherkin per a fluxos crítics

Gherkin (Given-When-Then) no és només per a testing. És un format que descriu el comportament esperat de manera que tant humans com IA l'entenen sense ambigüitat. Ideal per a fluxos on un error té impacte real: pagaments, registre, permisos.

specs/checkout.feature
Feature: Checkout amb múltiples divises

  Scenario: L'usuari completa la compra en EUR
    Given un usuari amb carret de 3 productes
    And la divisa seleccionada és EUR
    When confirma el pagament amb Stripe
    Then el càrrec es processa en EUR
    And rep confirmació per email en menys de 30 segons

  Scenario: El fallo de pagament mostra un error comprensible
    Given un usuari al pas de confirmació
    When el pagament falla per fons insuficients
    Then veu el missatge "El teu banc ha rebutjat el pagament"
    And no veu codis d'error tècnics

4. "Constitució" del projecte

Un document breu (20-40 línies) que defineix les regles immutables del projecte: patrons d'arquitectura, convencions de naming, dependències permeses, estructura de carpetes. Aquest document es carrega com a context permanent a l'agent d'IA (el que en la disciplina de context engineering s'anomena "context curat"), assegurant que tot el codi generat respecti els estàndards de l'equip.

Exemple d'eines: CLAUDE.md per a Claude Code, .github/copilot-instructions.md per a Copilot, .cursorrules per a Cursor. El format varia, la funció és la mateixa.

5. onext SDD Accelerator

Accelerador desenvolupat per onext (sobre estàndards oberts, sense lock-in) que integra SDD directament en el flux de treball de l'equip. Genera templates d'especificació adaptats a l'stack del projecte, valida que el codi generat per IA compleixi les restriccions definides a la spec, i manté la "constitució" del projecte sincronitzada amb l'agent. Dissenyat per a equips que fan servir Claude Code, Copilot o Cursor com a agents principals.

El biaix del "Quick Ship" i com neutralitzar-lo

El biaix del Quick Ship és una trampa cognitiva: els equips prioritzen la velocitat percebuda (línies de codi escrites, features "acabades") sobre la velocitat real (features que funcionen correctament en producció sense rework posterior).

Amb l'arribada de la IA agèntica, aquest biaix s'intensifica. Un agent pot generar milers de línies de codi en minuts. La temptació de "ja ho arreglarem després" és més gran que mai. Però el cost d'arreglar-ho després també és més gran, perquè l'agent ha construït capes sobre capes de suposicions incorrectes.

Tres senyals que el teu MVP pateix el biaix del Quick Ship

  1. Els pull requests generats per IA requereixen més de 2 rondes de revisió. Si l'agent no entén el context, genera codi que necessita correcció constant. Això no és velocitat, és rework disfressat.
  2. Diferents developers implementen la mateixa lògica de formes diferents. Sense especificació compartida, cada persona (i cada agent) pren decisions de disseny diferents. El resultat és un codebase inconsistent que es torna exponencialment més difícil de mantenir.
  3. L'equip descobreix "sorpreses" en integració. El frontend esperava un format de dades. El backend en retorna un altre. L'API assumia autenticació per token, el mobile l'esperava per cookie. Cada sorpresa és una decisió no documentada.

SDD no és waterfall. És disciplina mínima.

Thoughtworks, en la seva anàlisi de SDD per al Technology Radar, adverteix d'un risc real: que els equips confonguin SDD amb un retorn al big design up front. És una preocupació vàlida.

"Dins de pràctiques emergents com l'spec-driven development, hem notat el risc de revertir a antipatrons clàssics d'enginyeria de programari, especialment el biaix cap a especificació pesada up-front i releases big-bang."

— Thoughtworks, Technology Radar Vol. 33

La resposta és en la proporcionalitat. Una spec de 20 línies per a una feature d'un MVP no és waterfall. És la mateixa disciplina que apliquem quan escrivim un test abans de programar (TDD). Ningú argumenta que escriure tests és "overhead" incompatible amb l'agilitat. Les especificacions per a IA en són l'equivalent: documentar la intenció abans d'executar.

L'objectiu no és documentar-ho tot. És documentar prou perquè les decisions crítiques no quedin al cap d'una persona (o pitjor, a la inferència estadística d'un LLM).

Com començar amb SDD al teu pròxim MVP

No necessites adoptar SDD de manera completa per veure resultats. Aquests són els passos per començar:

Pas 1: Identifica les 3-5 decisions crítiques del MVP

Abans d'escriure codi, llista les decisions que, si es prenen malament, generaran més rework. Normalment són: model de dades, contractes d'API, fluxos d'usuari crítics, i restriccions tècniques (compliance, performance, integracions).

Pas 2: Escriu una spec lleugera per a cadascuna

Fes servir prosa estructurada en Markdown. 15-20 línies per spec. Inclou: problema, restriccions, criteris d'acceptació, integració amb codi existent. Temps total: 2-4 hores per a un MVP típic.

Pas 3: Crea la "constitució" del projecte

Un fitxer amb les regles immutables: patrons d'arquitectura, convencions de naming, dependències permeses. Aquest fitxer es carrega com a context al teu agent d'IA. Temps: 1-2 hores, una sola vegada.

Pas 4: Fes servir les specs com a input per a l'agent

En lloc d'escriure prompts ad hoc, referencia la spec en demanar a Claude Code o Copilot que generi codi. L'agent produeix codi que respecta les restriccions documentades.

Pas 5: Revisa contra la spec, no només contra el codi

En code review, la primera pregunta no és "el codi està ben escrit". És "el codi compleix l'especificació". Si no hi ha spec, aquest és el primer problema a resoldre.

Inversió total: 1-2 dies d'especificació abans de començar a programar. Retorn típic: 3-5 setmanes de rework evitat. ROI conservador: 10-15x sobre el temps invertit.

Conclusió: la velocitat real no es mesura en línies de codi

El biaix del Quick Ship ens ha ensenyat a mesurar la velocitat en features shipped, línies escrites, sprints completats. Però la velocitat que importa és una altra: quant triga una feature a funcionar correctament en producció, sense rework posterior, i a mantenir-se estable al llarg del temps.

SDD no alenteix l'entrega. Elimina les iteracions destructives que l'alenteixen. Els equips que l'adopten no escriuen menys codi. Escriuen el codi correcte abans, i eviten escriure el mateix codi tres vegades.

En un món on els agents d'IA poden generar milers de línies en minuts, l'habilitat més valuosa ja no és programar ràpid. És especificar amb precisió què cal construir. Això és Spec-Driven Development. I això és el que separa els equips que entreguen dels que refan feina.

2 dies d'especificacions eviten 5 setmanes de rework. Els números parlen sols.

Jordi García
Escrit per
Jordi García
Tech Lead a onext

Jordi García és Tech Lead a onext. Treballa a portar la IA a producció governada en equips de desenvolupament i de producte —amb Spec-Driven Development, enginyeria de context i verificació humana a cada pas— i signa els insights tècnics d'onext sobre mètode, qualitat i cost de la IA aplicada.

LinkedIn →

Implementa SDD al teu equip en 4-6 setmanes

A onext implementem Spec-Driven Development com a part dels nostres Centres d'Excel·lència d'IA. El teu equip passa de prompts ad hoc a desenvolupament controlat i predictible. Sense paralitzar lliuraments.

12 equips transformats. 0 sprints perduts.