Test prima del codice, persone nella review
Il nostro metodo di sviluppo software parte dai test: scriviamo i test di accettazione prima del codice. Gli assistenti AI generano l'implementazione più in fretta. Una persona rivede e approva ogni rilascio.
Perché i test vengono prima
Il software scritto con l'AI funziona in demo e si rompe in produzione. È il timore di chi compra oggi, ed è fondato: un modello genera codice plausibile, non codice verificato.
La nostra risposta sta nell'ordine delle cose. I test di accettazione sono il contratto: dicono cosa deve fare il sistema prima che esista. L'AI accelera l'implementazione, la review umana decide cosa va in produzione.
AI-native, per noi, vuol dire tre cose.
- Test di accettazione scritti prima del codice, per ogni funzionalità.
- Implementazione assistita dall'AI, che genera codice e test unitari dentro quei vincoli.
- Review di una persona su ogni rilascio, senza eccezioni.
Le tre fasi
Ogni fase ha un input, attività definite e un output che ricevi. Le durate le fissiamo nella sessione di analisi, in base al perimetro.
- 01
Analisi del pain
Input: il processo che ti costa tempo, i suoi numeri e le persone che lo vivono ogni giorno. Attività: interviste, mappa del flusso attuale, misura di tempi ed errori. Output: mappa del processo e metriche di successo condivise.
- 02
Lean solution design
Input: la mappa e le metriche della fase precedente. Attività: progettiamo il sistema più piccolo che produce un valore misurabile, con prototipo e stime. Output: scope del primo rilascio, prototipo navigabile, piano degli sprint.
- 03
Ciclo TDD AI-native
Input: lo scope del primo rilascio. Attività: sprint che ripetono pianificazione, test di accettazione, implementazione con AI, review umana e monitoraggio. Output: un rilascio usabile alla fine di ogni sprint, con test e codice nel tuo repository.
Il ciclo in uno sprint
Cinque passi, nello stesso ordine a ogni sprint. Il quinto alimenta il primo del giro successivo.
- 01
Pianificazione
Scegliamo insieme le storie dello sprint e il criterio di accettazione di ognuna. Niente entra senza un risultato osservabile.
- 02
Test di accettazione
Scriviamo i test come Given/When/Then prima del codice. Sono il contratto: descrivono il comportamento atteso in modo che chiunque possa leggerlo.
- 03
Implementazione con AI
Gli assistenti AI generano il codice che fa passare i test, con test unitari e documentazione. Lavorano dentro i vincoli dei test, non al posto loro.
- 04
Review umana
Una persona legge ogni modifica: leggibilità, sicurezza, aderenza ai test, effetti sul resto del sistema. Senza approvazione non c'è merge.
- 05
Monitoraggio
Il rilascio va in produzione con log, alert e metriche. Quello che osserviamo entra nella pianificazione dello sprint successivo.
Cosa ricevi ogni sprint
Alla fine di ogni sprint hai in mano qualcosa di verificabile, non un aggiornamento a voce.
- Una demo funzionante del lavoro svolto.
- Il report dei test: cosa passa, cosa no, cosa è cambiato.
- Il changelog con le modifiche del rilascio.
- L'accesso al repository con codice, test e documentazione.
- Le decisioni registrate, con il motivo di ognuna.
Qualità e sicurezza
La qualità non è una fase finale. È il modo in cui ogni modifica entra nel sistema.
- Test automatici su ogni modifica, eseguiti in CI prima del merge.
- Review obbligatoria: nessun codice va in produzione senza una seconda persona.
- Segreti e credenziali fuori dal codice, in variabili d'ambiente gestite per ambiente.
- Backup programmati dei dati e prova di ripristino.
- GDPR by design: raccogliamo solo i dati necessari e documentiamo dove stanno.
Proprietà e uscita
Il codice è tuo dal primo sprint. Repository, test e documentazione sono nel tuo account e restano tuoi se decidi di cambiare fornitore.
Nessuna licenza ricorrente sul software che costruiamo e nessun vincolo di uscita. Se interrompi, prepariamo un piano di handover con chi subentra.
- Repository nel tuo account, dal primo giorno.
- Documentazione tecnica e test consegnati con il codice.
- Piano di handover: accessi, documentazione, sessione di passaggio.
Gli strumenti che usiamo
Pubblichiamo solo gli strumenti che usiamo davvero e che sono stabili. La scelta dello stack dipende dal progetto e la motiviamo nel lean solution design.
- Assistenti AI per l'implementazione: Claude, ChatGPT, Gemini.
- Applicazioni web: Next.js.
- Dati e autenticazione: Supabase.
- Rilascio e infrastruttura: Docker e Coolify.
Cosa non facciamo
- Nessuna funzionalità senza test di accettazione.
- Nessun rilascio senza la review di una persona.
- Nessuna stima senza analisi: il range della stima in 2 minuti è indicativo, il numero arriva dopo la sessione.
- Nessuna licenza nostra sul tuo prodotto.
Domande frequenti
Parliamo del tuo progetto
In 45 minuti mappiamo il problema e ti lasciamo un output scritto. Se preferisci, ottieni prima una stima indicativa.
Rispondiamo entro 24 ore lavorative.