Mokabyte

Dal 1996, architetture, metodologie, sviluppo software

  • Argomenti
    • Programmazione & Linguaggi
      • Java
      • DataBase & elaborazione dei dati
      • Frameworks & Tools
      • Processi di sviluppo
    • Architetture dei sistemi
      • Sicurezza informatica
      • DevOps
    • Project Management
      • Organizzazione aziendale
      • HR
      • Soft skills
    • Lean/Agile
      • Scrum
      • Teoria della complessità
      • Apprendimento & Serious Gaming
    • Internet & Digital
      • Cultura & Società
      • Conferenze & Reportage
      • Marketing & eCommerce
    • Hardware & Tecnologia
      • Intelligenza artificiale
      • UX design & Grafica
  • Ultimo numero
  • Archivio
    • Archivio dal 2006 ad oggi
    • Il primo sito web – 1996-2005
  • Chi siamo
  • Ventennale
  • Libri
  • Contatti
  • Argomenti
    • Programmazione & Linguaggi
      • Java
      • DataBase & elaborazione dei dati
      • Frameworks & Tools
      • Processi di sviluppo
    • Architetture dei sistemi
      • Sicurezza informatica
      • DevOps
    • Project Management
      • Organizzazione aziendale
      • HR
      • Soft skills
    • Lean/Agile
      • Scrum
      • Teoria della complessità
      • Apprendimento & Serious Gaming
    • Internet & Digital
      • Cultura & Società
      • Conferenze & Reportage
      • Marketing & eCommerce
    • Hardware & Tecnologia
      • Intelligenza artificiale
      • UX design & Grafica
  • Ultimo numero
  • Archivio
    • Archivio dal 2006 ad oggi
    • Il primo sito web – 1996-2005
  • Chi siamo
  • Ventennale
  • Libri
  • Contatti

Nel numero:

318 luglio-agosto
, anno 2025

Vibe Coding: sviluppare il prodotto con l’AI

II parte: Sviluppo, test e lezioni apprese

Stefano Leli – Stefano Marello
Stefano Leli

Stefano Leli, appassionato di sviluppo software fin da bambino, è da sempre alla ricerca di nuovi spunti per migliorare il proprio lavoro. Nel 2003 sente casualmente parlare del manifesto agile e inizia titubante a praticare XP. Da quel momento il suo approccio allo sviluppo software è diventato una integrazione continua delle più moderne tecnologie agili. Attualmente svolge attività di sviluppo software, training e coaching con particolare enfasi nell’introduzione di metodologie agili.

Stefano Marello

Dopo più di dieci anni in cui ho svolto attività di sviluppatore software, ho conosciuto i principi e le pratiche Agile e ne sono rimasto affascinato. Ho quindi approfondito i temi della leadership e del coaching, e ho intrapreso un percorso per diventare Agile Coach.

Mi piace aiutare individui, team e organizzazioni a crescere cercando di massimizzare la fiducia e la collaborazione tra le persone.

Vibe coding

Vibe Coding: sviluppare il prodotto con l’AI

II parte: Sviluppo, test e lezioni apprese

Immagine di Stefano Leli – Stefano Marello

Stefano Leli – Stefano Marello

  • Questo articolo parla di: Intelligenza artificiale, Processi di sviluppo

Introduzione

Nella puntata precedente abbiamo illustrato l’approccio allo sviluppo con gli agenti AI, soffermandoci sulla definizione del backlog, della vision e sulla raccolta dei primi feedback. In questa seconda parte, le idee iniziano a trasformarsi in codice e il prodotto prende forma concreta.

L’obiettivo non è solo testare strumenti di generazione automatica del codice, ma costruire un workflow di sviluppo efficace, riflettendo su come il ruolo dello sviluppatore stia cambiando. Per farlo, abbiamo creato ambienti di sviluppo personalizzati, confrontato diversi strumenti e sperimentato agenti AI con comportamenti differenti.

Questo articolo racconta il percorso seguito, le scelte effettuate, i problemi incontrati e le soluzioni trovate. Non si tratta di un resoconto lineare o definitivo, ma di uno spaccato reale di sperimentazione tecnica, con tutti i compromessi del caso.

 

Il panorama degli strumenti AI per lo sviluppo

Il Vibecoding è reso possibile principalmente da agenti AI specializzati nel coding. Abbiamo testato diversi strumenti oggi disponibili sul mercato, suddivisibili in tre categorie principali:

AI Code Generators

I generatori di codice basati su AI sono strumenti che, a partire da un prompt, realizzano tutto autonomamente, dall’interfaccia al backend. Esempi di AI Code Generators sono Lovable, Bolt, V0. Per i motivi che vedremo più avanti in questa serie di articoli, li abbiamo scartati perché troppo opachi e poco controllabili.

AI-powered IDE

Gli IDE supportati dall’intelligenza artificiale integrano un agente in un IDE, permettendo di chattare, istruire, modificare file o lanciare comandi da terminale. Sono molto più flessibili e controllabili e sono disponibili sia come prodotti autonomi spesso basati su fork di VS Code (Cursor, Windsurf, Trae.AI), sia come plugin installabili nei vari IDE esistenti (Copilot, Cline, Augment Code).

Agentic coding tool

Gli agentic coding tool sono sempre più diffusi, utilizzabili da terminale e possono generare/modificare codice e lanciare comandi. Esempi sono Claude Code e Gemini CLI.

Similarità e differenze

Tutti questi strumenti, pur con le loro peculiarità, si basano sugli stessi Large Language Model (LLM) come Claude, Gemini, GPT, e includono sempre una chat per interagire con l’agente AI e inviare prompt per la generazione del codice.

Ogni ambiente gestisce i prompt in modo diverso, determinando il comportamento dell’agente AI. L’agente non si limita a eseguire il prompt, ma lo arricchisce con informazioni di contesto, alcune visibili al developer, altre proprie della piattaforma. Il prompt effettivo è quindi una combinazione tra system prompt (istruzioni preconfigurate) e prompt dell’utente, influenzando profondamente la qualità e il tipo di codice generato.

A prescindere dallo strumento specifico, come LLM per il nostro progetto abbiamo scelto di usare Claude (prima 3.7, poi 4.0), per la sua efficacia nello sviluppo software, in particolare nella comprensione di strutture complesse e nella generazione di codice coerente su più file.

Server MCP

Oltre agli agenti, un altro strumento fondamentale sono gli MCP Server (Model Context Protocol), che estendono le capacità degli agenti permettendo l’integrazione e la comunicazione con servizi esterni. Parleremo più in dettaglio degli MCP Server in un articolo a loro dedicato. Per il momento ci basta dire che, per il nostro progetto, abbiamo utilizzato:

  • Context 7: per recuperare documentazione aggiornata;
  • BraveSearch: per ricerche web;
  • Sequential Thinking: per la generazione di task;
  • Playwright: per l’automazione del browser;
  • GitHub-MCP: per interazioni con repository;
  • File System-MCP: per la gestione dei file locali.

 

Setup dell’ambiente di sviluppo: istruire l’agente AI

La fase preliminare di sviluppo è fondamentale per evitare false partenze: è il momento in cui si fornisce il contesto generale e le prime istruzioni al nostro agente AI, per facilitare il più possibile la fase di implementazione.

Nel nostro esempio siamo partiti, come lecito aspettarsi, dai requisiti di prodotto. Il Product Requirement Document (PRD) è stato essenziale per fornire al nostro agente le informazioni generali di contesto e aiutarci a compiere le prime scelte importanti: quali architetture e tecnologie adottare. Tramite il dialogo con il nostro agente AI, abbiamo optato per un’applicazione in Next.js e un database PostgreSQL per la persistenza dei dati.

Per consolidare le scelte fatte e arricchire ulteriormente l’agente AI di informazioni utili, abbiamo creato alcuni file di istruzione personalizzati che includono convenzioni di design, indicazioni architetturali e riferimenti stilistici, fungendo da “galateo” per l’agente AI. Questo “apprendimento contestuale” ha permesso di mantenere uno stile uniforme e di ridurre la necessità di correzioni manuali.

 

Il processo di sviluppo in pratica

Come ogni team che fa refinement dei requisiti, lo sviluppo è iniziato dalla generazione dei task, a partire dal PRD. Con un prompt dedicato, abbiamo chiesto all’IA di generare un file JSON con l’elenco dei task, la stima della complessità e lo stato di avanzamento (da “to do” a “done”), alla stregua di un task manager semplificato, utilizzabile direttamente in chat.

Abbiamo così iniziato a dialogare con l’AI per la risoluzione dei primi task, arrivando in pochissimo tempo (minuti) ad avere uno scheletro applicativo perfettamente funzionante, con una home page e alcuni placeholder per le pagine, già rilasciato e accessibile dal nostro stakeholder.

Lo sviluppo è proseguito a ritmi decisamente più elevati rispetto a quanto si potesse immaginare fino ad oggi: abbiamo guidato l’agente AI nella creazione del prodotto, agendo più come registi e controllori e meno come sviluppatori tradizionali.

Possiamo sintetizzare il nostro workflow di sviluppo come composto in 4 fasi:

  1. ideazione e pianificazione
  2. design e prototipazione
  3. setup dell’ambiente
  4. ciclo di sviluppo

Ideazione e pianificazione

Si parte dall’idea iniziale, definendo vision, customer journey e requisiti funzionali. Si scrive un PRD dettagliato (con supporto dell’AI) e si scompongono le user stories in micro-task organizzati per priorità. Fondamentale per avere una roadmap chiara e ben strutturata.

Design e prototipazione (UI/UX)

Si progetta l’esperienza utente creando mockup, wireframe o site map, anche a partire da esempi o screenshot. Si costruisce un design system coerente e riutilizzabile, con l’AI che supporta la generazione di componenti visivi esportabili su Figma.

Setup ambiente

Si configura l’ambiente di sviluppo: si sceglie l’IDE AI, si definiscono le rules (principi e comportamenti da seguire), si genera un boilerplate di partenza e si imposta un flusso CI/CD automatizzato per integrazione e deploy continuo.

Ciclo di sviluppo

Il lavoro avanza per micro-task: si chiede all’AI un piano prima di procedere, si separano i test dalla logica, si testa a ogni step e si effettua il commit frequentemente. Il controllo resta umano, ma l’AI accelera l’esecuzione.

 

L’evoluzione del ruolo dello sviluppatore

È quantomai evidente che il ruolo dello sviluppatore sta subendo un cambiamento sostanziale. Gli sviluppatori sono ancora indispensabili, ma il loro ruolo sta evolvendo: meno focus sull’operatività di basso livello, più sulla strategia. Meno codice scritto a mano, più pensiero critico, architettura e capacità di guidare gli strumenti di intelligenza artificiale.

Trascurare questo aspetto e affidarsi troppo al lavoro dell’IA porta rapidamente all’impossibilità di sviluppare nuove funzionalità, perché il sistema rischia di commettere errori, rompere funzionalità precedenti o semplicemente non rispettare le aspettative sulle nuove feature.

Un altro aspetto meritevole di attenzione è che, tramite il dialogo con l’agente IA, non solo abbiamo la possibilità di controllare e correggere il codice generato, ma anche di imparare nuove competenze. Se ci approcciamo con curiosità al codice che l’IA genera e che non comprendiamo o condividiamo subito, potremmo scoprire nuovi approcci, pattern e tecnicismi in realtà più efficaci di quelli che avremmo adottato sviluppando manualmente.

Codice etico del vibecoder

L’AI offre agli sviluppatori veri e propri superpoteri. Ma, come ci ricorda lo zio Ben Parker: “Da grandi poteri derivano grandi responsabilità.”

Come professionisti del software, è nostro dovere stabilire delle regole e seguire un codice etico chiaro. E anche questo è un ulteriore indicatore dell’evoluzione del ruolo di sviluppatore.

Ecco quindi una serie di principi che abbiamo scelto noi.

  • Responsabilità: sei sempre responsabile del codice che metti in produzione, anche se generato da un’AI.
  • Comprensione: non mettere in produzione nulla che non comprendi. Sei un professionista!
  • Qualità: l’AI elimina le scuse per codice scadente. Punta a codice pulito, testato e manutenibile.
  • Guida: l’AI è un amplificatore, non un sostituto. Sei tu alla guida. La tua visione è il vero superpotere.

 

Conclusione

Il Vibecoding non è solo un nuovo modo di scrivere codice, ma un cambiamento profondo nel modo in cui immaginiamo, progettiamo e costruiamo software. In questo articolo abbiamo visto come un’idea iniziale può evolvere rapidamente in un’applicazione funzionante, grazie a un workflow strutturato e alla collaborazione con agenti AI configurati in modo consapevole. Ma questo è solo l’inizio.

Nei prossimi articoli entreremo più nel dettaglio di aspetti cruciali: esploreremo il workflow in modo ancora più pratico e affronteremo alcune delle insidie più comuni del lavoro con agenti AI. Lo faremo con esempi reali, codice concreto e riflessioni basate sull’esperienza.

Perché se è vero che l’AI può velocizzare lo sviluppo, solo uno sviluppatore consapevole può trasformarla in un vero vantaggio competitivo.

 

 

Facebook
Twitter
LinkedIn
Stefano Leli – Stefano Marello
Stefano Leli

Stefano Leli, appassionato di sviluppo software fin da bambino, è da sempre alla ricerca di nuovi spunti per migliorare il proprio lavoro. Nel 2003 sente casualmente parlare del manifesto agile e inizia titubante a praticare XP. Da quel momento il suo approccio allo sviluppo software è diventato una integrazione continua delle più moderne tecnologie agili. Attualmente svolge attività di sviluppo software, training e coaching con particolare enfasi nell’introduzione di metodologie agili.

Stefano Marello

Dopo più di dieci anni in cui ho svolto attività di sviluppatore software, ho conosciuto i principi e le pratiche Agile e ne sono rimasto affascinato. Ho quindi approfondito i temi della leadership e del coaching, e ho intrapreso un percorso per diventare Agile Coach.

Mi piace aiutare individui, team e organizzazioni a crescere cercando di massimizzare la fiducia e la collaborazione tra le persone.

Immagine di Stefano Leli – Stefano Marello

Stefano Leli – Stefano Marello

Tutti gli articoli
Nello stesso numero
Loading...

Agile Portfolio Management

I parte: L’arte di mettere in fila tante cose

Scrum Guide Expansion Pack

Un passo avanti o un ritorno al passato?

Da 1 a 10: valutare un prodotto o servizio

Tutti i limiti del Net Promoter Score (NPS)

Nella stessa serie
Loading...

Vibe Coding: sviluppare il prodotto con l’AI

I parte: I fondamenti del processo

Mokabyte

MokaByte è una rivista online nata nel 1996, dedicata alla comunità degli sviluppatori java.
La rivista tratta di vari argomenti, tra cui architetture enterprise e integrazione, metodologie di sviluppo lean/agile e aspetti sociali e culturali del web.

Imola Informatica

MokaByte è un marchio registrato da:
Imola Informatica S.P.A.
Via Selice 66/a 40026 Imola (BO)
C.F. e Iscriz. Registro imprese BO 03351570373
P.I. 00614381200
Cap. Soc. euro 100.000,00 i.v.

Privacy | Cookie Policy

Contatti

Contattaci tramite la nostra pagina contatti, oppure scrivendo a redazione@mokabyte.it

Seguici sui social

Facebook Linkedin Rss
Imola Informatica
Mokabyte