Una metodologia di sviluppo software piuttosto diffusa è l’extreme programming (XP) ma deve essere attuata con intelligenza e abilità affidandosi ad agenzie specializzate come Area Software, perché come esplica il nome stesso della metodologia, si tratta di una modalità di programmazione estrema che enfatizza la rapidità di risposta alle richieste del cliente senza rinunciare alla qualità e affidabilità del prodotto. Il metodo XP è strutturato in brevi cicli di sviluppo con scadenze altrettanto brevi. Tra gli elementi chiave dell’Extreme Programming si citano il pair programming, l’unit testing e il re factoring tutti caratterizzati dalla semplicità dei codici utilizzati e dalla chiarezza della comunicazione basata su una struttura gestionale non gerarchica.
Quali sono le regole dell’Extreme Programming
L’XP si basa su 12 regole che possono essere raggruppate in quattro categorie:
- Feedback a scala fine che prevede due programmatori che lavorano in coppia di cui uno si definisce driver (colui che scrive il codice) e il secondo navigator (colui che elabora e pensa al funzionamento). I due programmatori devono avere la stessa preparazione e grado di esperienza per lavorare in modo ottimale. Le riunioni di pianificazione avvengono una volta a settimana, i test automatici si scrivono prima della stesura del codice e il cliente è partecipe e disponibile nelle fasi di verifica e utilizzo reale del software.
- Processo continuo si basa su tre regole basilari: 1) l’integrazione continua dei cambiamenti al codice per evitare ritardi o sviste, 2) la riscrittura del codice senza alterare le funzioni esterne cercando di cambiare l’architettura per renderla semplice e generico, 3) la consegna del software con release “incomplete” ma concrete.
- Comprensione condivisa che si basa su quattro regole 1) scelta e utilizzo di uno standard si scrittura del codice da concordare con il team, 2) responsabilità collettiva che significa che chiunque è coinvolto nel progetto è responsabile per la stesura del codice di programmazione stesso, 3) progettazione del software secondo la regola “semplice è meglio”, 4) descrizione del programma tramite metafora per raccontare o spiegare il funzionamento del software da utilizzare con tutti gli attori (programmatori, clienti e manager)
- Benessere dei programmatori è la regola principale in base alla quale i programmatori che lavorano sullo sviluppo del software non dovrebbero lavorare più di 40 ore a settimana.
Un esempio di modello dei processi
L’esperto di Extreme Programming (XP) James Donovan Wells individua un modello di applicazione del metodo sintetizzabili in quattro punti:
- Comunicazione: massima libertà di espressione e tutti possono parlare con tutti, anche il programmatore di livello inferiore può interloquire con le richieste del cliente;
- Semplicità: i programmatori analisti devono mantenere una forma di linguaggio e di descrizione del progetto sempre semplice e chiara;
- Verifica costante del software fin dal primo giorno;
- Coraggio: si consegna il software nel più breve tempo possibile funzionante anche se incompleto perché le integrazioni e i cambiamenti vengono fatti man mano e in itinere anche per assecondare le richieste del cliente.