Simyl
simylflow
Home del Corso
Modulo 1: Fondamenti e Filosofia
Lezione 1 di 5
12 min

Le Origini di XP

Dal progetto C3 all'Agile Manifesto—come XP è diventata la prima metodologia agile.

1Il Progetto C3 presso Chrysler

Nel 1996, Kent Beck fu assunto per salvare un progetto di gestione stipendi in difficoltà presso Chrysler chiamato C3 (Chrysler Comprehensive Compensation). Il progetto era nei guai—il classico sviluppo waterfall aveva prodotto un sistema che non funzionava e non poteva essere riparato.

Beck non si limitò a sistemare il progetto. Sintetizzò decenni di saggezza dell'ingegneria del software in una metodologia coerente. Prese pratiche che gli sviluppatori esperti sapevano funzionare—testing, code review, sviluppo iterativo—e le portò ai loro estremi logici.

Se il testing è buono, testa costantemente. Se la code review è buona, rivedi continuamente tramite pair programming. Se l'integrazione è buona, integra più volte al giorno. Se le iterazioni brevi sono buone, rendile ancora più brevi.

Il progetto C3 fu rilasciato. Ancora più importante, creò un modello che avrebbe rimodellato lo sviluppo software.

Perché 'Extreme'?

XP prende pratiche comprovate e le porta al loro estremo logico. Se qualcosa è buono, farne di più dovrebbe essere meglio—purché lo si faccia correttamente.

2Il White Book e Oltre

Nel 1999, Kent Beck pubblicò "Extreme Programming Explained"—spesso chiamato "il White Book" per la sua copertina. Questo divenne il documento fondante di XP e uno dei primi manifesti agile.

Il libro fu controverso. Pair programming tutto il tempo? Nessun grande design iniziale? Clienti in sede? Molti nel settore pensavano che Beck fosse pazzo. Ma i team che provarono XP riportarono risultati notevoli:

  • Drasticamente meno bug che raggiungevano la produzione
  • Ritmo sostenibile invece di marce della morte
  • Software funzionante invece di promesse documentali
  • Sviluppatori felici che si sentivano in controllo

Due anni dopo, nel 2001, Beck si unì ad altri sedici professionisti del software a Snowbird, Utah. Insieme scrissero l'Agile Manifesto. L'influenza di XP è visibile ovunque—individui sui processi, software funzionante, collaborazione con il cliente, risposta al cambiamento.

XP fu la prima metodologia agile completa, e per molti versi rimane la più rigorosa.

3L'Intuizione Fondamentale di XP

La visione tradizionale dello sviluppo software era che il cambiamento è costoso. Il costo di correggere un bug cresce esponenzialmente dai requisiti al design alla codifica al testing alla produzione. Pertanto, dovresti fare tutto il possibile per farlo bene la prima volta—da qui l'enfasi del waterfall sul design iniziale completo.

Beck propose un'alternativa radicale: E se potessi appiattire la curva del costo del cambiamento?

Se hai:

  • Test automatizzati completi (i cambiamenti possono essere validati istantaneamente)
  • Design semplice (meno da cambiare)
  • Ownership collettiva del codice (chiunque può fare cambiamenti)
  • Integrazione continua (i cambiamenti sono integrati immediatamente)
  • Competenze di refactoring (il codice può evolversi in sicurezza)

Allora il costo del cambiamento diventa approssimativamente costante nel tempo. E se il cambiamento è economico, non hai bisogno di prevedere il futuro. Puoi abbracciare il cambiamento come vantaggio competitivo.

Questa è l'intuizione fondamentale di XP: le pratiche tecniche possono rendere il cambiamento economico, e il cambiamento economico cambia tutto.

La Domanda Chiave

Quando valuti una pratica XP, chiediti: 'Questo rende il cambiamento più economico o più costoso?' Le buone pratiche XP riducono sempre il costo del cambiamento.

Punti Chiave
  • XP è emersa da Kent Beck che salvò il progetto C3 presso Chrysler
  • Prende pratiche comprovate e le porta al loro estremo logico
  • L'intuizione fondamentale di XP: le pratiche tecniche possono appiattire la curva del costo del cambiamento
  • Quando il cambiamento è economico, non hai bisogno di prevedere il futuro

Esercizi Pratici