/  12
 
Extreme Programming
ing. R. Turco(
 
) 
L'Extreme Programming (XP) è l'ultimissima metodologia, in ambito Object Oriented,figlia del "Rational Unified Process", e che sta suscitando notevole interesse in campointernazionale, rafforzata soprattutto dagli ottimi risultati che si stanno ottenendo inmoltissimi progetti.Non è solo una metodologia. E' una disciplina di sviluppo del software. E' soprattuttola filosofia di Kent Beck, che, sostanzialmente, un aspirante ZEN la riassumerebbecosì: "Usiamo l'Object Oriented perché siamo certi che l'analisi, la progettazione,l'ereditarietà ed il riuso ci comporteranno minori costi di manutenzione, una facilescalabilità, minore entropia. Poi usiamo un ciclo di vita del software iterativo ridottoper avere un maggior controllo della produzione e un abbattimento dei rischi. Ora,siamo in grado di migliorare ancora qualcosa con l'XP!".E' anche una "fede professionale": ci sono alcune cose che bisogna fare se si vuoleabbracciare l'XP; altrimenti non si fa XP!!.L'XP non adotta idee nuove, ma le combina e le assortisce in maniera diversa, dando unsignificato ed una valenza diversa a determinate attività. E' senz'altro adatta a deiteam disciplinati e non necessariamente di grande valore tecnico individuale. E' unoschema di lavoro che, se noto a tutti e condiviso da tutti, porta il team a lavorare insintonia ed efficienza, con possibilità di divertimento, con acquisizione di know-how,producendo software di qualità, misurando e controllando quello che si produce, eaffinando, di continuo, le proprie capacità produttive.L'XP non è possibile imporlo, va adottato consapevolmente dal team. E come? Ilresponsabile, su questo, deve essere un coach, un trascinatore che sappia modellare lamentalità. Alla fine, dopo vari borbottii, quando la cosa è assorbita bene, il progettocamminerà da solo, i risultati sembreranno venire da soli, gli obiettivi appariranno piùfacili. L'ottimismo sarà maggiore grazie ad una maggiore consapevolezza di forza.
 
Vediamo le parti salienti dell'XP nell'ambito del Project Management, cercando anchedi attingere dalle mie esperienze personali di responsabile di progetto.
I rischi progettuali
Uno dei problemi amletici dello sviluppo del software è il rischio:
 
Slittamento dei termini di consegna;
 
Chiusura del progetto;
 
Degrado del sistema;
 
Numero dei difetti alto;
 
Skill non adeguati;
 
Tecnologie nuove;
 
Fraintendimento delle finalità;
 
Cambiamento continuo degli obiettivi;
 
Funzionalità inutili;
 
Rotazione continua del personale;
L'XP al lavoro
L'XP riduce la criticità dei punti di sopra come di seguito descritto.Slittamento dei tempi di consegnaL'XP prevede cicli iterativi ridotti; ovvero cicli di sviluppo molto brevi, con accuratapianificazione, 1-2 mesi al massimo. In questo modo si ottengono vari vantaggi:
 
La lunghezza dello slittamento è abbastanza limitata;
 
Si ha una precisione di pianificazione abbastanza precisa;
 
Per ogni rilascio, nell'XP si adottano iterazioni da 1 a 4 settimane su un nucleo difunzionalità, tali da poter fornire al cliente qualcosa che gli possa servire subito, inmodo da avere un feedback rapido sull'avanzamento del progetto;
 
In ogni iterazione l'XP richiede di pianificare task da 1 a 3 giorni, così che ilpiccolo gruppo di lavoro assegnato al task risolve problemi durante una singolaiterazione;
 
L'XP richiede, come santo ispiratore, di realizzare le funzionalità di priorità piùalta (quelle senza le quali il sistema non serve); questo ha come conseguenza cheogni funzione che slitta nei rilasci ha un valore di priorità sempre minore.Inoltre la suddivisione in task e con scelta delle funzionalità di priorità maggiore - mianota - rispetta pienamente la famosa
"Analisi di Pareto": "L'80% del profittoavviene col primo 20% del prodotto".
Chiusura del progettoL'XP suggerisce di chiedere al cliente di scegliere la versione più ridotta di sistemache abbia il maggior valore aggiunto possibile, in modo da fare meno errori prima di
 
andare in produzione (esercizio) e, quindi, massimizzare il valore del software e daremotivo di continuazione, visti i risultati che darà il prodotto.Degrado del sistemaL'XP vuole fermamente, e con risultati che danno ragione, che il gruppo sviluppi,parallelamente alle funzionalità, anche la suite di software di test. Ovvero che ilsoftware sia auto-testante!! In altri termini se il software dispone di chiamate afunzionalità che lo testano, lo sviluppatore, ad ogni modifica basta che lanci il test eguardi il log, che dovrà essere solo letto per verificare che ogni singolo test siaandato OK. La suite di test sarà sempre riusata, per tutto il ciclo di vita del software,e aggiornata se anche l'architettura del software dovesse cambiare.Se ogni parte elementare delle funzionalità sono auto-testate, l'errore dovuto alleultime modifiche è notevolemente circoscritto ed il bug è rapidamente rilevabile.Questo è il punto di forza-novità rispetto al Rational Unified Process, che stapermettendo notevoli successi. Se non adottate questo punto vi assumete il rischionumero di difetti alto e non seguite l'XP.Numero di difetti altoL'XP suggerisce che i test vanno scritti sia nella prospettiva dei programmatori (testunitario), ovvero un test per ogni modulo, sia dal punto di vista dei clienti (testfunzionale) scrivendo test per ogni funzionalità del programma. Se possibile spingersianche oltre secondo la metodologia di test aziendale.Skill non adatti
Un'altra apparente stranezza dell’XP: si programma sempre in due accanto ad u
napostazione!!Lo so. State giò storcendo il naso perché il vecchio credo italiano è: "un uomo per ogni
cosa da fare nei tempi stabiliti!! Semmai usiamo lo straordinario…".
 Xp, dice, invece, che con "la politica del duetto" si ottengono alla lunga vari vantaggi,un investimento nel breve tempo:
 
Un affiatamento notevole di squadra, che porta a capirsi a volo anche nei casidisperati di "niente di scritto" (da evitare);
 
Un'omogeneità di metodo di sviluppo, con successivi raffinamenti dovuto alle tantecose buone che ognuno può insegnare all'altro in un'attenta rotazione di coppie;
 
Un trasferimento di know-how tra più bravo e meno bravo;
 
Un senso del pudore di chi scrive il software sotto l'occhio critico dell'altro checostringe di scrivere bene al primo botto;
 
Un altro credo italiano sfatato: Un ottimo ricavo, con bassi costi ed un buonmargine sono un obiettivo progettuale e aziendale. Male! L'XP ci bacchetta e ci

Share & Embed

More from this user

Add a Comment

Characters: ...