Differenze tra le versioni di "Scrum"
bizhack>TheHacker |
m (una versione importata) |
(Nessuna differenza)
|
Versione attuale delle 14:24, 11 apr 2020
Scrum è Un framework che consente alle persone di risolvere problemi complessi di tipo adattivo e, al tempo stesso, di creare e rilasciare prodotti in modo efficace e creativo del più alto valore possibile.
Scrum è:
- Leggero
- Semplice da comprendere
- Difficile da padroneggiare
Scrum è un framework di processo utilizzato dai primi anni novanta per gestire il lavoro su prodotti complessi. Scrum non è un processo, una tecnica o un metodo definitivo, ma è un framework all’interno del quale è possibile utilizzare vari processi e tecniche. Scrum rende chiara l’efficacia relativa della propria gestione di prodotto e delle proprie tecniche di lavoro così da poter migliorare continuamente il prodotto, il team e l'ambiente di lavoro.
Il framework Scrum è costituito dagli Scrum Team e dai ruoli, eventi, artefatti e regole a essi associati. Ogni parte del framework serve a uno specifico scopo ed è essenziale per il successo e l’utilizzo di Scrum.
Le regole di Scrum legano insieme i ruoli, gli eventi, gli artefatti governando le relazioni e le interazioni tra essi. Le regole sono descritte in tutto il corpo di questo documento.
Cosa vuol dire Agile?
In alcuni progetti non è possibile raccogliere in anticipo tutte le specifiche tecniche a causa delle incertezze che li caratterizzano. Quindi usiamo un metodo "adattivo" invece di uno "predittivo", in cui definiamo e pianifichiamo solo un breve periodo nel futuro, creiamo un prodotto funzionante, e usiamo il prodotto per capire le esigenze e utilizzare il feedback per pianificare ulteriormente e aggiungere ulteriori funzionalità al prodotto.
I metodi adattivi si chiamano agili, o meglio in inglese Agile.
Ci sono molte metodologie e framework Agile. Probabilmente il più famoso è Scrum, molto semplice e leggero.
Concetti fondamentali
I concetti fondamentali di questo framework sono:
- Ruoli e Responsabilità:
- Scrum Team: tutti coloro che fanno parte dell'organizzazione del progetto (Development Tea, Scrum Master e Product Owner)
- Product Owner: una persona orientata al business che definisce lo scopo e massimizza il valore
- Scrum Master: un esperto di processi che aiuta tutti ad utilizzare il quadro di riferimento ed elimina anche gli ostacoli
- Development Team: coloro che creano il prodotto
- Events, attività e concetti correlati:
- Il concetto di Timeboxing: gli eventi devono avere una durata massima
- Sprint: fasi di sviluppo con un determinato e fisso timeboxed che creano un Incremento (ossia parti di prodotto complete, utilizzabili), ogni sprint include i seguenti eventi:
- Sprint Planning: la riunione di pianificazione iniziale durante la quale si decide cosa fare durante lo Sprint
- Daily Scrum: breve riunione quotidiana che consente ai membri del Development Team di sincronizzarsi tra loro sulle attività fatte, su quelle da fare e sui problemi incontrati
- Sprint Review: permette al Development Team di mostrare al cliente l'incremento e i progressi per ricevere feedback e adattarsi.
- Sprint Retrospective: riunione utilizzata per pianificare i possibili miglioramenti nell'organizzazione del Development team
- Product Backlog Refinement: un'attività continua di aggiunta di modifiche e didettagli al Product Backlog
- Scrum Artifacts e concetti correlati:
- Sprint Backlog: il nostro piano di lavoro per l'attuale Sprint].
- Increment: l'ultima versione del prodotto e l'uscita potenzialmente utilizzabile e rilasciabile dello Sprints.
- Definition of Done: tutto quello che faremo per ogni articolo del Product Backlog
- Monitoring Sprint Progress: la misurazione giornaliera dei progressi compiuti durante lo Sprint
- Monitoring Project Progress: la misurazione dello stato di avanzamento dell'intero progetto da parte del Product Owner
- Velocity: il tasso medio di completamento deglle voci del Product Backlog durante lo Sprint
Quando dovremmo usare strumenti Agile?
L'agilità è utile quando è difficile definire il prodotto in anticipo, perché non possiamo capirlo completamente, o perché il cliente è indeciso sul da farsi e continua a cambiare idea. In questi casi, se si tenta di utilizzare un metodo predittivo con un preciso piani di lavoro creato all'inizio, si avranno molte richieste di modifica che diminuiranno la produttività e aumenteranno tempi e costi del progetto.
Quando possiamo usare l'approccio Agile?
L'agilità si basa sull'adattamento, che a sua volta si basa sulla capacità di produrre un prodotto funzionante al termine di ogni passo in modo da ricevere feedback dai portatori di interesse. Gli output intermedi dovrebbero essere comunque prodotti funzionanti, o non saremo in grado di ricevere un feedback reale.
Il prodotto funzionante è sempre incrementale, il che significa che continuiamo ad aggiungervi nuove funzionalità. Lo sviluppo dovrebbe essere iterativo, ossia dovremmo ripetere i passaggi per lo sviluppo (es. design) ad ogni incremento].
Possiamo usare Agile solo quando il prodotto ha la possibilità di essere sviluppato in modo iterativo ed incrementale. Purtroppo quindi non tutti i prodotti sono sviluppabili in questa maniera. Il caso migliore è lo sviluppo di software. Viene anche usato in alcuni progetti di ricerca e in molti programmi (ad esempio, iniziative di cambiamento organizzativo).
Risorse esterne
- Scrum Guide, una definizione di Scrum da parte dei suoi creatori Ken Schwaber e Jeff Sutherland
- Scrum, su Wikipedia