Differenze tra SCRUM e Extreme Programming (XP)

Recentemente mi è stata posta questa domanda durante una presentazione dei metodi Agili: “Quali sono le differenze tra SCRUM e XP?”

Entrambi sono classificabili come “applicazioni” dei principi Agili.

La differenza principale è che SCRUM è maggiormente orientato alla gestione di un processo mentre XP è maggiormente focalizzato sugli aspetti tecnici legati allo sviluppo del software.

SCRUM è un framework di management che comprende aspetti quali il reporting, il planning, lo stato di avanzamento, la definizione degli incontri con l’obiettivo di favorire la comunicazione e avere un feedback molto rapido (al limite giornaliero) dello stato di un progetto.
releaseburndown
SCRUM cerca di ridurre al minimo l’overhead di burocrazia necessario per la gestione di un progetto e si focalizza su un processo iterativo e incrementale che porta a produrre solo ciò che serve e di maggior valore per l’azienda.

SCRUM in questo senso non è quindi strettamente legato ai processi IT ma può essere applicato con successo a qualsiasi processo aziendale.

Nell’ambito stesso di un’azienda IT si sottolinea l’importanza del fatto che SCRUM deve essere abbracciato dall’intera azienda quindi anche dal management, dai commerciali, dal marketing.

Una delle principali differenze pratiche è che SCRUM identifica una nuova figura, lo Scrum Master. Lo Scrum Master si discosta dal più classico Project Manager che definisce i task e dice chi fa cosa ma è un più generico servant-leader con questi compiti:

  • rimuovere gli impedimenti
  • assicurarsi che il processo SCRUM venga applicato correttamente
  • proteggere il Team dalle “distrazioni” (comprese le ingerenze del management e dei commerciali)

pair-programmingXP (Extreme Programming) pone invece maggiore enfasi su aspetti tecnici e pratici per lo sviluppo software.

Nel contenitore XP sono presenti tematiche quali:

  • Test-Driven Development
  • Continuous Integration
  • Pair Programming
  • Refactoring
  • Collective Ownership
  • On-site customer
  • Coding standards

Quale scegliere?

Secondo me in una azienda che sviluppa software la risposta corretta è entrambi in quanto le metodologie sono perfettamente complementari.

SCRUM da solo porterebbe sicuramente benefici in un ottica Just in time ma per raggiungere la massima efficacia e per far si che le promesse del Manifesto Agile vengano rispettate le tecniche XP si rivelano utili se non fondamentali.

All’opposto XP beneficia di SCRUM in quanto riceve un “contenitore” che garantisce il project management e l’interfaccia con il business, i commerciali ed i clienti senza troppo overhead e senza costrizioni.

Share

One thought on “Differenze tra SCRUM e Extreme Programming (XP)”

  1. Gran articolo Ste,
    analisi lucidissima.

    Complimenti.

    Perche non provi a "delivering" corsi sui processi per sviluppo codice, best practices etc?

Leave a Reply

Your email address will not be published. Required fields are marked *