Così inizia il Manifesto Agile:
Stiamo scoprendo modi migliori di creare software, sviluppandolo e aiutando gli altri a fare lo stesso. Grazie a questa attività siamo arrivati a considerare importanti:
- Gli individui e le interazioni più che i processi e gli strumenti
- Il software funzionante più che la documentazione esaustiva
- La collaborazione col cliente più che la negoziazione dei contratti
- Rispondere al cambiamento più che seguire un piano
Pensare “Agile” significa:
- accettare il cambiamento
- concentrarsi su cicli di consegna brevi e orientati a produrre valore
- imparare attraverso le scoperte che vengono condivise continuamente in modo da ottenere feedback per poter migliorare i prodotti e processi
- incoraggiare gli altri a pensare e a comportarsi allo stesso modo.
Questo pone le basi per ciò che significa essere Agili-
Metodologia Agile
Alcuni sono più comunemente usati di altri ma Scrum è probabilmente la metodologia più comunemente praticata.
Scrum si basa su tre pilastri:
- trasparenza, visibilità per le persone responsabili del risultato.
- controllo, valutare regolarmente come stai facendo in relazione agli obiettivi dichiarati.
- adattamento, modificare i processi del team per minimizzare i problemi quando si sta andando nella direzione sbagliata.
L’elemento chiave di Scrum è essere una metodologia pronta all’uso. E’ strutturato in modo che i team possano seguire un processo predefinito con un insieme noto di attività e documentazione. Seguendo queste linee guida, i team possono raggiungere il loro obiettivo del singolo progetto ma garantendo allo stesso tempo anche il successo complessivo del prodotto.
I Ruoli
Siccome bisogna essere agili, il gruppo di lavoro deve essere piccolo (5/10 membri) e i suoi componenti devono essere competenti, autonomi e focalizzati sul progetto (quindi la qualità e la disponibilità delle persone coinvolte deve essere elevata).
Membri essenziali del team sono (le terminologie variano tra le metodologie):
- Project Manager (in Scrum, Scrum Master) ha un ruolo di coordinamento e il suo obiettivo fondamentale e mettere in condizione il Team di Sviluppo di operare a pieno regime
- Business Analyst ha il compito di tradurre i requisiti di Business in funzionalità del prodotto e passare queste allo sviluppo
- Business Ambassador (in Scrum, Product Owner) ha il compito di definire insieme al Business Analyst i dettagli del prodotto fornendo la visione di dettaglio dal lato del Business
Team di Sviluppo è il gruppo di lavoro che fisicamente realizza il prodotto.