La programmazione estrema, meglio nota come extreme programming (XP), è una metodologia di sviluppo del software mirata a migliorare la qualità del codice e la responsività al cambiamento dei requisiti del cliente. In quanto tipo di metodologia di sviluppo agile,[1][2][3] prescrive uno sviluppo in cicli brevi con pubblicazioni frequenti, con lo scopo di migliorare la produttività e introdurre punti di controllo nei quali i nuovi requisiti possono essere adottati.

Altri elementi della programmazione estrema comprendono la cosiddetta programmazione in coppia (pair programming) o fare un'estesa revisione di codice, test unitari del codice, non lavorare su funzionalità finché non sono necessarie, una struttura di gestione piatta, semplicità e chiarezza del codice, aspettarsi cambiamenti dei requisiti con il passare del tempo e con la migliore comprensione del problema e infine l'importanza data alla comunicazione diretta e frequente fra sviluppatori e cliente e fra gli sviluppatori stessi.[2][3][4] La metodologia prende il nome dall'idea di portare a livelli "estremi" gli elementi positivi delle consuete pratiche di ingegneria del software. Ad esempio, portare all'estremo le revisioni di codice, considerate una buona prassi, implica che il codice possa essere revisionato continuativamente, come nella programmazione in coppia.

Regole

[modifica | modifica wikitesto]

Le dodici regole (o pratiche) che sono alla base dell'extreme programming possono essere raggruppate in quattro aree.

Feedback a scala fine
Processo continuo
Comprensione condivisa
Benessere dei programmatori

Modello dei processi

[modifica | modifica wikitesto]

James Donovan Wells individua quattro linee guida:

Individua inoltre quattro fasi di progetto, ognuna delle quali con le sue regole interne:

Note

[modifica | modifica wikitesto]
  1. ^ Human Centred Technology Workshop, su citeseerx.ist.psu.edu.
  2. ^ a b Design Patterns and Refactoring (PPT), su cis.upenn.edu, Università della Pennsylvania, 2003. URL consultato il 21 gennaio 2023 (archiviato dall'url originale il 2 agosto 2010).
  3. ^ a b Extreme Programming, su cs.usfca.edu. URL consultato il 21 gennaio 2023.
  4. ^ Manifesto for Agile Software Development, su agilemanifesto.org, 2001. URL consultato il 26 marzo 2019.

Bibliografia

[modifica | modifica wikitesto]

Voci correlate

[modifica | modifica wikitesto]

Altri progetti

[modifica | modifica wikitesto]

Collegamenti esterni

[modifica | modifica wikitesto]
Controllo di autoritàLCCN (ENsh99004731 · GND (DE4618499-5 · BNE (ESXX550562 (data) · BNF (FRcb144400247 (data) · J9U (ENHE987007539601005171