Raggruppamento in fasi

È possibile tentare di raggruppare le diverse regole dell’eXtreme Programming nelle macrofasi descritte dal modello a cascata.

  • Requirements:
    • i clienti fanno parte del team di sviluppo: requirements viventi;
    • consegne incrementali e pianificazioni continue: evoluzione del progetto.
  • Design:
    • metafora come visione unificante del progetto;
    • refactoring: è design puro, molto utile per rendere possibile l’evolvibilità del software;
    • presumere la semplicità.
  • Code:
    • programmazione a coppie;
    • proprietà collettiva;
    • integrazione continua;
    • standard di codifica.
  • Test
    • test di unità continuo (da scriversi prima del codice);
    • test funzionale scritto dagli utenti nelle user stories.

In XP è inoltre presente la nozione di prototipo sotto il nome di spike, ovvero programmi molto semplici creati per esplorare soluzioni potenziali. Sono utili per capire se ho compreso le specifiche, la tecnologia da utilizzare e l’approccio da avere con i componenti esterni con cui bisogna dialogare. Questi prototipi vengono creati, mostrati al cliente e infine scartati.