Molte delle metodologie che possiamo annoverare come agili sono spesso complementari ed è possibile utilizzarne più di una all’interno dello stesso progetto. Diventa quindi importante conoscere gli aspetti generali dei vari framework al fine di poterli confrontare e scegliere con cognizione di causa. Con questo post inizio una serie di articoli che descrivono i princìpi specifici dei più conosciuti framework e pratiche Agile.
Ecco un primo, non esaustivo e in ordine sparso, elenco delle metodologie e pratiche Agile che andrò a descrivere nel tempo:
- Scrum
- Test-Driven Development (TDD)
- Feature-Driven Development (FDD)
- Behavior-Driven Development (BDD)
- Adaptive Software Development (ASD)
- eXtreme Programming (XP)
- Dynamic systems development method (DSDM)
- Agile Modelling (AM http://agilemodeling.com/)
- Disciplined Agile (DA – https://www.disciplinedagiledelivery.com/)
- Crystal Clear Methods (Crystal)
- Scaled Agile Framework (SAFe – https://www.scaledagileframework.com/)
- Kanban *
(*) pur non essendo una vera e propria metodologia è uno strumento spesso utilizzato
Per poter procedere con un confronto uniforme ho preso in esame sempre gli stessi elementi per tutti i framework. Vediamo quali sono:
Descrizione: in poche righe un riassunto della storia e delle caratteristiche chiave.
Focus su: aspetto principale su cui si focalizza l’attenzione.
Eventi: riunioni, cerimonie e fasi previste come prassi.
Artefatti: documentazione obbligatoria o suggerita da redarre secondo i processi.
Ruoli: identificazione di specifici ruoli e relative responsabilità.
Durata di un’iterazione: durata suggerita per un ciclo di sviluppo dedicato al rilascio di nuove funzionalità valide per un incremento di valore del prodotto.
Dimensione del team: numero di componenti ottimale per consentire un corretto svolgimento delle attività all’interno del team.
Metodo per le stime: sistema o strumento suggerito per la definizione delle tempistiche di sviluppo delle varie attività.
Scalabilità: possibilità di estendere le metodologie su progetti strutturati e complessi che richiedono l’utilizzo di un numero elevato di risorse.
Man mano che procederò alla realizzazione dei post aggiornerò anche uno schema di comparazione che potete trovare qui: I framework Agile, elenco (quasi) completo, tabella riassuntiva.
Infine, dedicherò un post ai framework meno conosciuti.
A breve il primo framework: Scrum!