Programmazione/ L'Extreme Programming (II)

Con l'ultima puntata introduttiva forniamo le basi per comprendere le innovazioni che l'Extreme Programming ha portato ai processi software applicati alle piccole realtà

Eccoci alla seconda puntata che fa da introduzione all'argomento principe, il processo software detto "Extreme Programming".

Riassumiamo quello che è stato detto la volta scorsa. Esclusi alcuni casi (progetti di dimensioni giocattolo), l'attività di produzione software non può essere ridotta alla pura e semplice programmazione: si possono individuare diverse fasi nell'evoluzione di un progetto e ad ogni fase corrispondono competenze e professionalità ben precise; è necessario organizzare le attività che realizzano queste fasi in modo da ottimizzare il flusso dei sottoprodotti che da esse scaturiscono e la gestione delle risorse, economiche e umane destinate al progetto. Il processo di produzione va costantemente monitorato, anche ricorrendo ad opportune metriche, per essere in grado di intervenire se sono necessarie modifiche e per quantificare i risultati ottenuti da una particolare organizzazione piuttosto che un'altra.
Si arriva quindi alla seguente definizione: un modello di processo software descrive come organizzare, gestire, supportare, misurare e migliorare le attività che concorrono alla realizzazione delle varie fasi dell'attività di produzione software.

Si parla separatamente di organizzazione e gestione perché è bene sottolineare il fatto che esistono tanto problematiche legate alle relazioni che sussistono fra le varie attività, quanto problematiche legate alla gestione delle risorse (umane, economiche, tecnologiche, etc.) necessarie all'implementazione del modello.
Chi partecipa a progetti basati su un dato modello di processo software deve soddisfare determinati obblighi, deve conformare il suo modus operandi agli schemi proposti dal modello. Quando si parla di supporto ad un processo di produzione software ci si riferisce a tutti quegli strumenti che rendono più agevole seguire le regole imposte dal modello: per esempio, se è prevista un'attenta gestione dei versionamenti del codice prodotto allora può essere opportuno adottare uno dei tanti strumenti in commercio che si prestano allo scopo; od ancora, se si deve gestire un archivio degli errori con relativi ambiti, cause, soluzioni, problemi aperti, allora può essere opportuno sfruttare un qualche database che permetta di usufruire in maniera ottimale delle informazioni raccolte. E' poi necessario effettuare delle misure sul processo, perché per controllare ed eventualmente migliorare qualcosa, bisogna prima disporre dei dati necessari a conoscere quello ciò su cui si sta focalizzando l'attenzione. Disponendo di informazioni di carattere quantitativo sul processo è possibile sottolinearne pregi e difetti e intervenire là dove necessario per poi effettuare nuove misure e valutare i risultati del proprio intervento.
TAG: sw