Extreme Programming

Tra gli approcci che stanno cambiando il modo di lavorare, figurano metodi e strumenti di supporto al processo di produzione del software. In tale ambito si colloca l'eXtreme Programming (XP), tra le più note metodologie agili di Project Management

Tra gli approcci che stanno cambiando il modo di lavorare, figurano metodi e strumenti di supporto al processo di produzione del software. In tale ambito si colloca l’eXtreme Programming (XP), tra le più note metodologie agili di Project Management

Lo sviluppo del software ha subito notevoli trasformazioni nel corso della storia dell’informatica, partendo da procedure confuse e non organizzate, fino ad arrivare a processi strutturati di sviluppo definiti dall’ingegneria del software.

Un processo di sviluppo è l’insieme delle metodologie, delle buone prassi e delle procedure che permettono la creazione, la documentazione e la manutenzione di un sistema software in maniera efficiente ed efficace. Extreme programming è un particolare processo di sviluppo software che si inserisce nel contesto delle metodologie Agili.

Le metodologie agili nel project management hanno lo scopo di definire modalità e pratiche molto leggere nella gestione dei progetti ed utilizzano un set di documentazione minimo ma funzionale e facilmente mantenibile, in contrapposizione ai processi tradizionali di gestione fortemente burocratizzati che pongono l’accento su un processo rigido e una documentazione molto dettagliata.

L’XP, nel processo di sviluppo del software, promette di:

  • mantenere la controllabilità del processo pur riducendo il lavoro di supporto;
  • convogliare lo sforzo sulla mera produzione dell’applicazione, evitando la produzione di semilavorati diversi da quelli necessari alla realizzazione delle applicazioni;
  • fornire i meccanismi affinché gli sviluppatori possano acquisire, durante lo sviluppo, la consapevolezza che ciò che stanno costruendo soddisferà pienamente le esigenze del committente

Filosofia e valori dell’XP

Extreme programming è un processo di sviluppo basato su quattro valori fondanti:

  • Comunicazione – tra cliente e team di sviluppo e all’interno dello stesso team, come risorsa necessaria affinché tutte le informazioni siano correttamente elaborate al fine di ottenere un sistema più aderente possibile alle esigenze del cliente
  • Feedback – frequenti e costanti da parte del cliente, durante tutta la vita del progetto per riuscire a governare i possibili ed inevitabili cambiamenti
  • Semplicità – per mantenere il design del sistema e il codice più puliti possibile, in modo da favorire le modifiche e la manutenzione
  • Coraggio – nel modificare il sistema, per l’uso di pratiche di verifica del corretto funzionamento del sistema anche dopo numerose modifiche

Extreme programming è la metodologia ideale per chi vuole:

  • Avere un sistema di sviluppo estremamente rapido
  • Coinvolgere al massimo il cliente nel processo
  • Essere scrupoloso nella prevenzione dei malfunzionamenti
  • “Abbracciare il cambiamento” senza aver paura di modificare il codice
  • Coinvolgere al massimo gli sviluppatori dando a tutti l’accesso al codice
  • Mettere al centro il rispetto delle persone e dei loro dei bisogni personali, sociali e psicologici