A-D
Gestione software Agile
Definizione: Agile Software Development si riferisce all'approccio di gestione dei progetti per lo sviluppo di incrementi di software in iterazioni frequenti in base ai requisiti in evoluzione.
Conosciuto anche come: Sviluppo software Agile, Metodi Agile, Gestione dei progetti Agile
Etimologia: Agile è un termine generico per una serie di metodologie di progetto, tra le quali Scrum è la più utilizzata. Il concetto di Agile è nato nel 2001 quando un team di sviluppatori di software indipendenti si è riunito in un rifugio a Snowbird, Utah, per discutere approcci alternativi al metodo tradizionale, top-down, di gestione a cascata per completare lo sviluppo del software. Originariamente indicate come metodologie di sviluppo software leggere, gli sviluppatori hanno adottato il termine Agile per riflettere il suo stile lean di gestione dei progetti, caratterizzato da frequenti iterazioni. Alla fine del fine settimana, gli sviluppatori avevano prodotto il Manifesto Agile, che includeva quattro valori e 12 principi per lo sviluppo di software Agile.
Come viene utilizzato: i team di sviluppo interfunzionali e auto-organizzati lavorano in stretta collaborazione con il cliente e le parti interessate per aggiungere valore a ogni fase del processo, mirando a un obiettivo di miglioramento continuo.
La gestione Agile dei progetti si è evoluta in diversi stili di progetto: Scrum è il più utilizzato. Altri sono:
- Kanban
- Extreme Programming (XP)
- Crystal
- Dynamic Systems Development Method (DSDM)
- Lean
- Feature-Driven Development (FDD)
È possibile assegnare un costo fisso ai progetti Agile grazie all'attenzione di Agile sulla priorità delle funzionalità e sulle iterazioni a tempo. Se il budget viene esaurito prima che tutte le funzioni siano incluse, queste vengono incluse in un secondo momento. In Agile, il team lavora sempre gli elementi con priorità più alta all'interno della casella di tempo dello sprint, assicurando che il cliente riceva il prodotto giusto per soddisfare le proprie esigenze.
Vantaggi per la gestione dei progetti:
- Offre flessibilità nell'evoluzione dello sviluppo: piccole modifiche possono essere apportate facilmente.
- Consente rilasci precoci e regolari.
- Riduce i costi.
- Riduce lo spreco di risorse.
- Riduce i rischi: i problemi vengono scoperti e risolti in anticipo.
- Incoraggia il coinvolgimento dei proprietari dei prodotti, del team di sviluppo e delle parti interessate.
- Incoraggia la proprietà del team.
- Elimina la necessità di una lunga documentazione sulle specifiche.
- Maggiore soddisfazione del cliente.
- Aumenta le prestazioni, la comunicazione e la motivazione del team.
Criteri di accettazione
Definizione: i criteri di accettazione specificano una serie di condizioni che il software deve rispettare per soddisfare il cliente. Il proprietario del prodotto scrive dichiarazioni dal punto di vista del cliente che spiegano come dovrebbe funzionare una user story o una funzionalità. Affinché la storia o la funzione siano accettate, è necessario superare i criteri di accettazione; altrimenti, falliscono.
Come vengono utilizzati: i criteri di accettazione devono essere scritti in un linguaggio chiaro e facile da capire. Ad esempio, "Se ho effettuato l'accesso, quando clicco sul pulsante "Acquista", il conteggio totale degli articoli per il mio carrello dovrebbe aumentare di uno."
Vantaggi per la gestione dei progetti:
- Conferma il completamento di una user story.
- Aiuta il team a comprendere la storia/funzionalità.
- Elimina l'ambiguità dai requisiti.
Test di accettazione
Definizione: un test di accettazione deriva dai criteri di accettazione e verifica se una funzionalità è funzionale. Il test ha solo due risultati: superato o non superato. Molte volte, i test di accettazione sono automatizzati in modo che possano essere eseguiti su tutte le versioni del software. I criteri di accettazione includono solitamente uno o più test di accettazione.
Conosciuto anche come: test funzionale, test del cliente, test della story
Come viene utilizzato: i test di accettazione assicurano che il software soddisfi i requisiti aziendali e dei clienti. I test di accettazione sono scritti dal proprietario del prodotto e devono essere brevi dichiarazioni che spiegano il comportamento e il risultato previsti. Ad esempio, "L'utente clicca su questo pulsante e il testo diventa rosso." Questo test comporterebbe un superamento o un fallimento.
Vantaggi per la gestione dei progetti:
- Aumenta la soddisfazione del cliente assicurando che i loro requisiti siano soddisfatti.
- Identifica tempestivamente i problemi di funzionalità e usabilità.
- Promuove la collaborazione tra gli sviluppatori e l'utente finale.
Manifesto Agile
Definizione: il Manifesto Agile include quattro valori e 12 principi di un processo di sviluppo software iterativo. Nel febbraio 2001, 17 sviluppatori di software si sono incontrati nello Utah per discutere i metodi di sviluppo più leggeri. Hanno pubblicato il Manifesto per lo sviluppo di software Agile, che ha illustrato come hanno trovato "modi migliori di sviluppare software facendolo e aiutando gli altri a farlo."
Come viene utilizzato: i project manager si riferiscono al Manifesto Agile quando gestiscono qualsiasi processo che si allinea ai suoi concetti fondamentali, come la metodologia Agile.
Vantaggi per la gestione dei progetti:
- Test frequenti e consegna continua di software di valore.
- Accoglie con favore i requisiti in continua evoluzione.
- Promuove la collaborazione interfunzionale.
Application Lifecycle Management (ALM)
Definizione: Application Lifecycle Management (ALM) è un processo continuo di gestione di un'applicazione software dalla sua pianificazione iniziale al suo ritiro.
Modalità di utilizzo: l'ALM viene utilizzato durante l'intero progetto e comporta l'uso di una varietà di strumenti per la gestione dei requisiti, l'architettura, la codifica, i test, il monitoraggio e il rilascio.
Vantaggi per la gestione dei progetti:
- Riduce i rischi monitorando continuamente lo stato del progetto.
- Riduce i tempi del ciclo e i costi di sviluppo.
- Riduce al minimo i tempi di inattività.
Backlog
Definizione: un backlog è un elenco che cambia i requisiti del prodotto in base alle esigenze del cliente. Il backlog non è un elenco di cose da fare; piuttosto, è un elenco di tutte le caratteristiche desiderate per il prodotto. Il team Agile utilizza il backlog per dare priorità alle funzionalità e capire quali funzionalità implementare per prime.
Modalità di utilizzo: il team di sviluppo estrae il lavoro dal backlog da completare durante ogni iterazione. Il backlog può cambiare durante il processo di sviluppo man mano che il team impara di più sui requisiti del cliente.
Conosciuto anche come: backlog di prodotto
Vantaggi per la gestione dei progetti:
- Comunica le priorità delle funzionalità.
- Consente una pianificazione a lungo termine.
- Assicura che le esigenze del cliente vengano ascoltate.
Backlog grooming
Definizione: il backlog grooming si verifica alla fine di uno sprint, quando il team si riunisce per assicurarsi che il backlog sia pronto per lo sprint successivo. Il team può rimuovere le user story non rilevanti, creare nuove storie, rivalutare la priorità o suddividere le user story in attività più piccole. Il backlog grooming è sia un processo in corso che il nome della riunione in cui si svolge questa azione (un meeting di backlog grooming).
Conosciuto anche come: perfezionamento del backlog
Come viene utilizzato: una volta che il team ha terminato uno sprint, è programmata una riunione di backlog grooming. Il backlog grooming ha lo scopo di garantire che il backlog contenga solo elementi rilevanti e che soddisfano gli obiettivi.
Vantaggi per la gestione dei progetti:
- Assicura che tutte le funzionalità siano in linea con gli obiettivi del progetto.
- Aiuta il team di sviluppo a comprendere le priorità e a rimanere in carreggiata.
- Facilita la comunicazione su quali funzioni sono e quali non sono importanti e perché.
Diagrammi grandi visibili
Definizione: i grandi diagrammi visivi sono diagrammi di grandi dimensioni mostrati vicino al team Agile, che mostrano come il team sta procedendo. È possibile creare un grande diagramma visibile per mostrare i difetti, la velocità (diagramma di burndown), i test di accettazione dei clienti o per scoprire quanto tempo il team sta sprecando.
Conosciuto anche come: Information Radiator
Modalità di utilizzo: i grandi grafici visibili vengono utilizzati per visualizzare le informazioni del progetto in modo informale. Solitamente visualizzati su una parete, condividono informazioni importanti a colpo d'occhio.
Vantaggi per la gestione dei progetti:
- Comunica lo stato del progetto alle parti interessate.
- Migliora la trasparenza e la comunicazione.
- Trasmette rapidamente informazioni facili da digerire.
Diagramma di burndown
Definizione: un diagramma di burndown rappresenta tutto il lavoro in sospeso. L'asse verticale rappresenta il backlog, mentre l'asse orizzontale rappresenta il tempo. Il lavoro rimanente può essere rappresentato da punti della storia, giorni ideali, giorni del team o altri parametri.
Conosciuto anche come: diagramma di burndown di rilascio, diagramma di burndown dell'iterazione
Come viene utilizzato: un diagramma di burndown viene utilizzato dai team Agile per tenere traccia del lavoro totale rimanente in un progetto e per prevedere quando il lavoro sarà terminato.
Vantaggi per la gestione dei progetti:
- Avvisa il team se le cose non stanno andando secondo i piani.
- Mostra l'impatto delle decisioni.
- Comunica i progressi e prevede quando il lavoro sarà completato.
Diagramma di burnup
Definizione: un diagramma di burnup tiene traccia della quantità di lavoro completato. Ci sono due righe sul diagramma: una riga rappresenta il lavoro totale e l'altra rappresenta il lavoro completato. L'asse verticale rappresenta la quantità di lavoro, che può essere misurata in numero di attività, ore o punti della storia. L'asse orizzontale rappresenta il tempo, solitamente misurato in giorni.
Come viene utilizzato: un diagramma di burnup viene utilizzato dai team Agile per controllare i progressi e gestire l'ambito o lo sviluppo di funzionalità. Questo diagramma consente ai team Agile di monitorare quando il lavoro è stato aggiunto o rimosso dal progetto e aiuta il team a determinare una data di completamento realistica per il progetto.
Vantaggi per la gestione dei progetti:
- Riconoscere e risolvere facilmente i problemi del progetto.
- Stima della data di completamento del progetto.
- Migliora la trasparenza e la comunicazione.
Cadenza
Definizione: la cadenza descrive il flusso o il ritmo di eventi o attività in un progetto. Stabilisce un modello che il team può seguire per capire cosa sta facendo e quando sarà completato.
Come viene utilizzato: i team Agile si sforzano di ottenere una cadenza durante il progetto. Ad esempio, in Scrum, le iterazioni di lunghezza fissa, chiamate sprint, durano da una a due settimane e consentono al team di inviare il software con una cadenza regolare. In Kanban, la cadenza è il flusso continuo del lavoro.
Vantaggi per la gestione dei progetti:
- Stabilisce l'ordine e il ritmo.
- Migliora l'efficienza del team.
- Consente al team di fornire software su base frequente.
Capacità
Definizione: la capacità rappresenta la quantità di lavoro che può essere completata entro un determinato periodo di tempo e si basa sul numero di ore che un individuo o un team saranno disponibili per completare il lavoro.
Modalità di utilizzo: il proprietario del prodotto e il team Agile determinano la capacità o la quantità di carico di lavoro, che possono affrontare per uno sprint imminente. La capacità viene decisa durante la riunione di pianificazione dello sprint.
Vantaggi per la gestione dei progetti:
- Migliora la gestione delle risorse.
- Stima il completamento di un progetto.
Galline e maiali
Definizione: I termini "gallina" e "maiale" derivano da "La Gallina ed il Maiale" di Ken Schwaber, uno sviluppatore di software che ha contribuito a formulare la versione iniziale di Scrum. Più spesso utilizzato in Scrum, una "gallina" si riferisce a qualcuno che è coinvolto nel progetto, ma non è responsabile di alcun deliverable specifico (come una parte interessata o un manager). D'altra parte, un "maiale" è qualcuno che si impegna e risponde direttamente dei deliverable.
"La Gallina ed il Maiale" di Ken Schwaber
Un maiale ed una gallina camminavano per strada. La gallina disse: "Ehi Maiale, mi è venuta una bella idea, potremmo aprire un ristorante!" Il Maiale replicò: "Hm, non so, come potremmo chiamarlo?" La gallina rispose: "Che dici di 'uova e pancetta'?" Il Maiale disse: "No grazie. Io sarei completamente coinvolto mentre tu saresti solo interessata!"
Come viene utilizzato: le galline e i maiali vengono utilizzati per definire i partecipanti e i ruoli in Scrum. I ruoli dei "maiali" sono solitamente i membri effettivi del team, lo Scrum Master o il proprietario del progetto. I ruoli delle "galline" sono manager o parti interessate.
Vantaggi per la gestione dei progetti:
- Chiarisce e definisce i ruoli.
- Imposta le aspettative dei progetti.
- Promuove le responsabilità.
Miglioramento continuo
Definizione: il miglioramento continuo è un processo di miglioramento della qualità e dell'efficienza apportando piccole modifiche incrementali nel tempo. In Kanban, il miglioramento continuo si riferisce specificamente al processo di ottimizzazione del flusso di lavoro e alla riduzione dei tempi del ciclo, con conseguente aumento della produttività.
Conosciuto anche come: Kaizen
Modalità di utilizzo: il miglioramento continuo viene utilizzato per introdurre il miglioramento nel processo di lavoro su base incrementale e comporta le seguenti fasi: 1) Identificare, 2) Pianificare, 3) Eseguire e 4) Rivedere.
Più specificamente per Kanban, non ci sono date di scadenza impostate, quindi il team si concentra sul work-in-progress. Man mano che i membri del team collaborano per risolvere i problemi e fare brainstorming su nuove idee, il processo diventa più efficiente e semplificato, i tempi del ciclo diminuiscono e il flusso di lavoro viene ottimizzato. I team non devono essere interfunzionali in Kanban.
Vantaggi per la gestione dei progetti:
- Migliora la produttività e la consegna.
- Aumenta l'accuratezza nella previsione del lavoro e della consegna futuri.
- Semplifica il lavoro e riduce gli sprechi.
- Introduce un miglioramento su base incrementale.
- Aumenta il senso di orgoglio e di realizzazione nei membri del team.
Integrazione continua (CI)
Definizione: l'integrazione continua è una pratica di ingegneria del software che comporta l'integrazione continua di nuovo codice di sviluppo nella base di codice esistente.
Conosciuto anche come: consegna continua, distribuzione continua
Come viene utilizzata: una volta completata una funzionalità, gli sviluppatori la testano per individuare i difetti e quindi la integrano nel codice esistente. In questo modo si garantisce che il repository di codice contenga sempre l'ultima build di software funzionante. In pratica, questo processo è in gran parte automatizzato attraverso l'uso di strumenti di controllo delle versioni, politiche e convenzioni del team e strumenti ci specifici.
Vantaggi per la gestione dei progetti:
- Consente un feedback rapido, in modo che i difetti possano essere identificati e corretti rapidamente.
- Riduce al minimo il tempo e gli sforzi necessari per eseguire ogni integrazione.
- Fornisce un processo di compilazione e rilascio automatizzato.
- Consente al software di essere deliverable in qualsiasi momento.
Ciclo
Definizione: un ciclo si riferisce alla quantità totale di tempo necessario affinché una singola attività o elemento di lavoro viaggi attraverso il flusso di lavoro dall'inizio del lavoro fino alla sua spedizione.
Come viene utilizzato: la metodologia Kanban utilizza il tempo del ciclo come parametro chiave, piuttosto che la velocità, come con Scrum. Man mano che i team Kanban diventano più efficienti nell'ottimizzazione del flusso di lavoro e nella produzione di deliverable, i tempi del ciclo diminuiscono e la produttività aumenta. I cicli non hanno limiti di tempo stabiliti; piuttosto, il flusso di lavoro si basa sulla consegna continua. I team Kanban con competenze condivise sperimentano tempi di ciclo più piccoli. I team devono impegnarsi per tempi di ciclo più brevi e più coerenti. I tempi di ciclo possono essere applicati anche in Scrum.
Vantaggi per la gestione dei progetti:
- Promuove il miglioramento continuo.
- Aumenta la capacità di prevedere le consegne future (con tempi di ciclo coerenti).
- Aumenta la produttività (con tempi di ciclo più brevi).
Daily Scrum
Definizione: il Daily Scrum è una breve sessione di comunicazione e controllo dello stato facilitata dallo Scrum Master in cui i team Scrum condividono i progressi, segnalano impedimenti e si impegnano per l'iterazione o lo sprint corrente. Il Daily Scrum consiste in una conversazione strettamente focalizzata e tenuta in un arco di tempo rigoroso; la riunione si tiene alla stessa ora, ogni giorno (idealmente, al mattino) e nella stessa sede. La bacheca delle attività Scrum funge da punto focale della riunione.
Conosciuto anche come: stand-up giornaliero, riunione giornaliera, incontro quotidiano
Modalità di utilizzo: lo Scrum Master pone in genere ai membri del team le seguenti tre domande:
- Cosa ho portato a termine ieri?
- In cosa mi impegnerò o completerò oggi?
- Quali impedimenti o ostacoli mi impediscono di rispettare i miei impegni?
Tutte le discussioni durante il Daily Scrum dovrebbero essere incentrate sulla risposta a queste tre domande. Eventuali ulteriori discussioni derivanti da queste domande devono essere affrontate separatamente. Solo coloro che sono coinvolti nell'attuale sprint dovrebbero essere presenti al Daily Scrum.
Vantaggi per la gestione dei progetti:
- Mantiene il flusso di lavoro in carreggiata.
- Aiuta a identificare i problemi prima.
- Aumenta la responsabilità del team, la comunicazione e la collaborazione.
- Consente al team di vedere il "quadro più ampio" dello sprint.
- Stimola l'auto-organizzazione del team e la pianificazione personale.
- Aiuta i membri del team ad affrontare i problemi e ad apportare piccole correzioni di rotta, se necessario.
- Favorisce l'interazione faccia a faccia (se in loco).
Stand up giornaliero
Definizione: la riunione giornaliera di stand-up è una componente chiave delle metodologie Agile e funge da forum quotidiano per i team Agile per condividere i progressi, segnalare ostacoli e prendere impegni per l'iterazione o lo sprint corrente. Questa riunione di 15 minuti si tiene solitamente ogni mattina alla stessa ora e nella stessa sede. La riunione dovrebbe essere abbastanza breve da far sì che i partecipanti restino in piedi: questa posizione promuove la brevità e assicura che la riunione non si prolungherà oltre il periodo di tempo assegnato.
Conosciuto anche come: Daily Scrum, stand-up giornaliero, riunione giornaliera, incontro quotidiano
Modalità di utilizzo: gli stand-up giornalieri sono solitamente svolti intorno alla bacheca fisica Scrum o Kanban del team (per i team in loco). I team rispondono a queste tre domande sul loro stato di lavoro:
- Cosa ho portato a termine ieri?
- In cosa mi impegnerò o completerò oggi?
- Quali impedimenti o ostacoli mi impediscono di rispettare i miei impegni?
Tutte le discussioni durante lo stand-up giornaliero dovrebbero essere incentrate sulla risposta a queste tre domande. Eventuali ulteriori discussioni derivanti da queste domande devono essere gestite al di fuori dello stand-up giornaliero.
Vantaggi per la gestione dei progetti:
- Mantiene il flusso di lavoro in carreggiata.
- Mantiene la riunione breve (grazie alla posizione in piedi).
- Aiuta a identificare i problemi prima.
- Aumenta la responsabilità del team, la comunicazione e la collaborazione.
- Stimola l'auto-organizzazione del team e la pianificazione personale.
- Aiuta i membri del team ad affrontare i problemi e ad apportare piccole correzioni di rotta, se necessario.
- Favorisce l'interazione faccia a faccia (se in loco).
Definizione di Fatto
Definizione: la definizione di Fatto si riferisce a una serie di criteri predeterminati che un prodotto deve soddisfare per essere considerato come fatto. Il team raggiunge un consenso su ciò che definisce un'attività come da svolgere e quindi pubblica una lista di controllo delle fasi che devono essere completate prima che il prodotto possa essere considerato potenzialmente spedibile. Il team visualizza questo elenco sotto forma di diagramma grande visibile nell'area team.
Conosciuto anche come: singolo fatto, fatto, fatto-fatto, elenco fatto, lista di controllo fatto, sashimi del prodotto, definizione di completamento delle attività, punch list
Modalità di utilizzo: il team concorda un elenco di criteri che devono essere soddisfatti prima che un incremento del prodotto sia considerato "fatto", cioè tutti i progetti, la codifica, i test e la documentazione sono stati completati e il codice è stato completamente integrato nel sistema. Se un'attività non soddisfa i criteri di definizione di Fatto, non conta per la velocità del team.
Vantaggi per la gestione dei progetti:
- Migliora la probabilità di fornire software funzionante.
- Limita i costi di rielaborazione una volta che una funzione è stata accettata come "fatta".
- Riduce il rischio di incomprensioni e conflitti tra il team di sviluppo e il cliente o il proprietario del prodotto.
E-J
Epic story
Definizione: le epic o epic story sono definite come user story di grandi dimensioni che, allo stato attuale, sarebbero difficili da stimare o da completare in un'unica iterazione. Le epic story hanno solitamente una priorità inferiore e sono in attesa di essere suddivise in componenti più piccoli.
Come vengono utilizzate: le epic sono spesso utilizzate come segnaposto per le nuove idee che non sono state completamente sviluppate. Mentre le epic story sono comuni quando si sviluppa il backlog iniziale di prodotto, dovrebbero infine essere suddivise in user story più gestibili, in cui i requisiti della story sono definiti più strettamente.
Vantaggi per la gestione dei progetti:
- Utile come segnaposto per esigenze di grandi dimensioni.
- Utile per una visione d'insieme delle user story.
Stima
Definizione: la stima è il processo di assegnazione di una misura quantificabile alla quantità di carico di lavoro necessario per completare un progetto o un'attività, al fine di determinare la durata, lo sforzo o il costo necessari per completare il progetto o l'attività.
Modalità di utilizzo: il team Agile deve raggiungere un consenso su una stima dello sforzo o della durata del carico di lavoro necessari per completare l'attività in base alle stime individuali fornite dai membri del team. Questo può assumere la forma di un gioco noto come Planning Poker.
Vantaggi per la gestione dei progetti:
- Fornisce un'indicazione della durata complessiva, dello sforzo o del costo di un progetto software.
- Riduce l'incertezza legata ai costi e alla durata.
- Fornisce una linea guida per stimare attività o progetti.
Fail-Fast
Definizione: fail-fast è il processo di inizio del lavoro su un'attività o un progetto, per ottenere un feedback immediato e determinare se continuare a lavorare su quell'attività o se adottare un approccio diverso, cioè adattarsi. Se un progetto non funziona, è meglio stabilirlo all'inizio del processo piuttosto che aspettare che siano stati investiti troppi soldi e tempo.
Come viene utilizzato: un team avvia un nuovo progetto o attività, ottiene il feedback all'inizio e poi conduce un'analisi per determinare se il progetto sarà funzionale o di successo. Se un'attività o un progetto si sta muovendo nella direzione sbagliata, i membri del team sono incoraggiati a interrompere il lavoro il prima possibile.
Vantaggi per la gestione dei progetti:
- Identifica rapidamente i problemi.
- Crea una cultura della trasparenza.
- Riduce le perdite di tempo, sforzi e costi.
- Migliora l'efficienza nello sviluppo di prodotti software.
Sequenza di Fibonacci
Definizione: originariamente derivata nel XII secolo da Leonardo Pisano, la Sequenza di Fibonacci è una sequenza matematica in cui ogni numero successivo è determinato dalla somma dei due numeri precedenti, cioè: 1, 2, 3, 5, 8, 13, 21... Ogni intervallo diventa più grande con l'aumentare dei numeri:
Come viene utilizzato: i team utilizzano spesso la sequenza di Fibonacci quando si gioca a Planning Poker per stimare il carico di lavoro. I numeri sono relativi e non hanno un'unità di misura assegnata.
Vantaggi per la gestione dei progetti:
- Stabilisce una scala o uno standard di confronto per la stima.
- Aumenta l'accuratezza delle stime.
Impedimento
Definizione: un impedimento è qualsiasi ostacolo che impedisce a un individuo o a un team di completare un'attività o un progetto. Riunioni non programmate, problemi tecnici, mancanza di conoscenze o competenze, un posto di lavoro che distrae e conflitti d'ufficio sono tutti esempi di impedimenti.
Modalità di utilizzo: il team potrebbe voler creare un elenco di impedimenti chiamato Backlog degli impedimenti e mostrare in modo prominente questo elenco nell'area in cui il team si riunisce per i Daily Scrum. Gli ostacoli dovrebbero essere elencati per quanto seriamente stanno ostacolando la produttività del team. Se gli ostacoli sono a livello aziendale, è responsabilità dello Scrum Master rimuoverli. Se si verificano a livello di team, è responsabilità del team risolverli o rimuoverli.
Problemi per la gestione dei progetti:
- Si traduce in una riduzione della produttività del team.
- Influisce negativamente sulla tempistica e sui costi del progetto.
- Deve essere affrontato il prima possibile.
Iterazione
Definizione: un'iterazione è un periodo di tempo fisso o con timebox, generalmente da due a quattro settimane, durante il quale un team Agile sviluppa un prodotto deliverable e potenzialmente spedibile. Un tipico progetto Agile consiste in una serie di iterazioni, insieme a una riunione di pianificazione prima dello sviluppo e una riunione retrospettiva alla fine dell'iterazione. Le iterazioni sono definite sprint in Scrum.
Conosciuto anche come: sprint, timebox
Modalità di utilizzo: all'inizio di un'iterazione o di uno sprint, il proprietario del prodotto e il team decidono quali requisiti completare durante l'iterazione. La durata di un'iterazione può variare da progetto a progetto.
Vantaggi per la gestione dei progetti:
- Consente ai team di lavorare efficacemente con i clienti.
- Incoraggia il feedback durante l'iterazione.
- Aiuta a prevenire il feature creep.
- Riduce il rischio di slittamento delle tempistiche.
Sviluppo iterativo
Definizione: lo sviluppo iterativo è il processo di scomposizione dei progetti in componenti più gestibili noti come iterazioni. Le iterazioni sono essenziali nelle metodologie Agile per produrre un deliverable o un prodotto potenzialmente spedibile.
Conosciuto anche come: sviluppo incrementale
Come viene utilizzato: nello sviluppo iterativo, i team Agile progettano, sviluppano e testano il codice in cicli ripetuti. Al termine di ogni iterazione, il team raccoglie il feedback dell'utente e quindi utilizza tali approfondimenti per creare l'iterazione successiva del prodotto. Lo sviluppo iterativo consente ai team di valutare e adattare i propri processi, il che porta al miglioramento continuo.
Vantaggi per la gestione dei progetti:
- Migliora la soddisfazione dei clienti.
- Aggiunge valore al prodotto.
- Consente una consegna più rapida di software o prodotto funzionanti.
- Promuove il miglioramento continuo.
K-P
Kanban
Definizione: Kanban è un quadro altamente visivo che rientra sotto l'ombrello Agile. Il processo Kanban utilizza un flusso di lavoro continuo piuttosto che iterazioni fisse per produrre deliverable spedibili. Se applicato su un processo esistente, Kanban incoraggia piccole modifiche incrementali al processo corrente e non richiede un'impostazione o una procedura specifica. Kanban si concentra sul completamento di interi progetti piuttosto che sugli sprint.
Come viene utilizzato: invece di essere assegnati alle attività, i membri del team estraggono il lavoro dal backlog di prodotto. L'unico vincolo in Kanban sono i limiti (limiti WIP) posti sulla quantità di lavoro esistente nella pipeline in qualsiasi momento. Kanban aiuta i team a ridurre i tempi di ciclo, ottimizzare il flusso di lavoro e aumentare la produttività, con un miglioramento continuo.
Kanban è un tipo di metodologia Agile. Viene utilizzato principalmente nello sviluppo di software, ma può essere utilizzato in qualsiasi tipo di progetto in qualsiasi settore.
Vantaggi per la gestione dei progetti:
- Aumenta l'efficienza del team.
- Consente flessibilità e adatta facilmente i cambiamenti.
- Riduce i tempi di ciclo.
- Migliora il flusso di lavoro.
- Promuove il miglioramento continuo.
- Aumenta la capacità del team di prevedere il lavoro futuro.
Lean Software Development (LSD)
Definizione: lo sviluppo di software Lean è un esempio di metodologia Agile leggera applicata allo sviluppo di progetti. Lo sviluppo di software Lean combina l'approccio alla produzione Lean attuato da Toyota negli anni '50 (noto anche come produzione just-in-time) e i principi Lean IT, e li applica al software. L'LSD pone una forte enfasi sulle persone e sulla comunicazione efficace.
L'LSD è definito da sette principi:
- Eliminare gli sprechi
- Creare conoscenza
- Incorporare qualità
- Differire l'impegno
- Ottimizzare la totalità
- Consegnare rapidamente
- Rispettare le persone
Come viene utilizzato: l'obiettivo chiave dello sviluppo di software Lean è ridurre o eliminare gli sprechi e, pertanto, si concentra sulla razionalizzazione dei prodotti per includere solo le funzionalità più preziose e fornirle in incrementi. La priorità del backlog, i brevi cicli di feedback, i frequenti test di unità e l'efficienza del team sono tutti componenti dello sviluppo di software Lean. LSD utilizza l'approccio Kanban per estrarre il lavoro dal backlog e migliorare la velocità e l'efficienza del flusso di lavoro.
Vantaggi per la gestione dei progetti:
- Riduce i costi complessivi del progetto.
- Aumenta l'efficienza e la velocità del flusso di lavoro.
- Consente una consegna più rapida di software funzionante.
- Aumenta la motivazione del team grazie al potere decisionale.
Programmazione in coppia
Definizione: la programmazione in coppia è uno scenario in cui due programmatori condividono una singola workstation e lavorano insieme per sviluppare una singola funzionalità.
Conosciuto anche come: programmazione a coppie, programmazione in coppie
Come viene utilizzato: un programmatore, il driver, scrive il codice, mentre l'altro, il navigatore, esamina il codice mentre viene scritto e fornisce la direzione strategica. I due programmatori si scambiano i ruoli periodicamente durante l'attività. Uno o entrambi i programmatori commentano l'esecuzione durante il processo di sviluppo.
Affinché la coppia lavori bene, la workstation deve essere in grado di ospitare entrambi i programmatori: per lo meno, la scrivania deve avere abbastanza spazio per ospitare facilmente due sedie. Il livello di rumore della stanza deve essere controllato e non deve essere più forte della conversazione silenziosa della singola coppia o di più coppie.
Vantaggi per la gestione dei progetti:
- Si traduce in codice di qualità superiore.
- Aumenta il trasferimento di competenze.
- Consente una formazione trasversale tra i membri del team.
- Favorisce la comunicazione.
- Chiarisce i problemi e accelera il processo decisionale.
Planning Game
Definizione: un Planning Game pianificazione è una riunione di pianificazione tenuta per decidere quali user story includere nell'iterazione o nel rilascio successivo.
Modalità di utilizzo: i partecipanti sono le parti interessate del progetto, dell'IT e dell'azienda. I partecipanti selezionano quali user story forniranno il maggior valore aziendale al prodotto o al progetto, in base alle stime attuali del carico di lavoro.
Vantaggi per la gestione dei progetti:
- Aumenta la comunicazione tra l'IT e le parti interessate aziendali.
- Migliora la probabilità di fornire software funzionante a ogni rilascio o iterazione.
Planning Poker
Definizione: Planning Poker è un esercizio o un gioco di team building utilizzato per arrivare a un consenso di gruppo per stimare il carico di lavoro.
Modalità di utilizzo: i giocatori utilizzano cartellini stampati con numeri della sequenza di Fibonacci per assegnare punti alle user story al fine di stimare il carico di lavoro. Il team deve raggiungere un consenso di gruppo sulla durata del completamento delle user story o dei requisiti. In alternativa, i team possono utilizzare altre forme di stima relativa, come le taglie delle magliette.
Vantaggi per la gestione dei progetti:
- Fornisce il vantaggio della conoscenza e dell'esperienza collettiva del team.
- Incoraggia il brainstorming e la generazione di idee.
- Promuove la risoluzione dei problemi.
- Stimola la collaborazione tra i team.
- Aumenta l'accuratezza delle stime.
Backlog del prodotto
Definizione: un backlog del prodotto è l'elenco dei requisiti richiesti dal cliente. Il backlog del prodotto non è un elenco di cose da fare; piuttosto, è un elenco di tutte le funzionalità che il cliente vuole siano incluse nel progetto. Il team Scrum utilizza il backlog del prodotto per dare priorità alle funzionalità e decidere quali implementare negli sprint futuri.
Modalità di utilizzo: il proprietario del prodotto è responsabile della priorità degli elementi nel backlog del prodotto, detti Product Backlog Item (PBI). Il team di sviluppo estrae i PBI con priorità più alta dal backlog del prodotto per completare ogni sprint. Il proprietario del prodotto cambia e assegna le priorità al backlog durante il processo di sviluppo del progetto, secondo le necessità.
Conosciuto anche come: backlog
Vantaggi per la gestione dei progetti:
- Comunica la priorità degli elementi di backlog del prodotto.
- Consente una pianificazione a lungo termine.
- Assicura che le esigenze del cliente vengano ascoltate.
- Consente ai membri del team di estrarre gli elementi con priorità più alta secondo le necessità (nei team Kanban).
Product Backlog Item (PBI)
Definizione: un elemento di backlog del prodotto (PBI) è un singolo elemento di lavoro presente nel backlog del prodotto. I PBI possono includere user story, epic, specifiche, bug o requisiti di modifica. Il proprietario del prodotto di un team Agile compila e assegna le priorità al backlog del prodotto, mettendo in cima i PBI più urgenti o importanti. I PBI comprendono attività che devono essere completate durante uno sprint Scrum: un PBI deve essere un aumento di lavoro sufficientemente piccolo da essere completato durante un singolo sprint. Man mano che i PBI passano a una priorità superiore nel backlog del prodotto, vengono suddivisi in user story.
Modalità di utilizzo: gli sviluppatori estraggono i PBI con priorità più alta dal backlog su cui lavorare, per iterazione in un ambiente Scrum o continuamente in un ambiente Kanban.
Vantaggi per la gestione dei progetti:
- Consente al team di quantificare e pianificare i singoli elementi di lavoro da completare durante un singolo sprint.
- Si assicura che il cliente stia ottenendo il prodotto giusto per soddisfare le sue esigenze.
Proprietario del prodotto
Definizione: in qualità di membro del team Agile, il proprietario del prodotto rappresenta il cliente e trasmette le esigenze e la visione del cliente al team. Il proprietario del prodotto scrive i criteri di accettazione e assegna le priorità e gestisce il backlog del prodotto. I proprietari dei prodotti devono essere in grado di comunicare bene in entrambe le direzioni: sia tenendo conto delle preoccupazioni del team su cliente e parti interessate, sia assicurando che il team rimanga in linea con la visione del cliente per il prodotto.
Modalità di utilizzo: in un ambiente Scrum, il proprietario del prodotto assembla e assegna la priorità alle user story da completare durante uno sprint. Durante lo sprint, il proprietario del prodotto rimane in silenzio; non può apportare modifiche né offrire feedback. Una volta completato lo sprint, il proprietario del prodotto si incontra con i membri del team e le parti interessate per offrire feedback e discutere le vie di miglioramento. Il proprietario del prodotto accetta o rifiuta il prodotto alla fine dello sprint, in base ai criteri di accettazione decisi durante la riunione di pianificazione dello sprint.
In un ambiente Kanban, il produttore del prodotto assembla e assegna la priorità a un backlog di elementi di lavoro da completare. Il proprietario del prodotto ha la flessibilità di modificare e riscrivere il lavoro nel backlog in qualsiasi momento senza influire sul lavoro già in corso.
Vantaggi per la gestione dei progetti:
- Maggiore comprensione da parte del team della visione del cliente e del prodotto finale.
- Maggiore comunicazione e fiducia tra clienti, team e parti interessate.
- Maggiore supporto al team da parte di parti esterne.
Q-S
Refactoring
Definizione: refactoring del codice significa migliorare, chiarire e semplificare la struttura interna del codice esistente senza influire sul suo comportamento esterno. Il refactoring non include la riscrittura del codice o la correzione di bug. Il nome "refactoring" si riferisce a metodi specifici e finiti per il codice di refactoring, come l'utilizzo del metodo di estrazione per chiarire lo scopo di una parte di codice.
Modalità di utilizzo: il refactoring viene utilizzato in Agile per mantenere la chiarezza e l'estensibilità del codice tra le iterazioni degli sprint.
Vantaggi per la gestione dei progetti:
- Mantiene il codice pulito e facile da leggere.
- Previene la duplicazione del codice.
- Semplifica l'identificazione e la correzione dei bug.
- Semplifica la manutenzione e l'estensione del codice.
Stima relativa
Definizione: la stima relativa è uno dei diversi tipi di stime utilizzate dai team Agile per determinare l'entità dello sforzo necessario per completare le attività del progetto. Le attività o le user story vengono confrontate con attività equivalenti, precedentemente completate o con un gruppo di attività di difficoltà simile.
Noto anche come: raggruppamento silenzioso, test di affinità
Come viene utilizzata: i team Agile utilizzano la stima relativa per valutare il tempo e gli sforzi necessari per completare un'attività o una user story in base a quanto tempo un'attività simile ha impiegato per essere completata. I team spesso utilizzano una scala non numerica per confrontare le attività, come le taglie delle magliette, in cui lo sforzo è valutato come extra-small, small, medium, large o extra-large.
Vantaggi per la gestione dei progetti:
- Fornisce stime accurate per le date di rilascio e le previsioni future.
- Elimina il tempo sprecato per le stime di precisione.
- Elimina la confusione tra stime e impegni.
- Porta a una maggiore soddisfazione del cliente.
Rilascio
Definizione: una versione Agile si riferisce alla consegna finale di un pacchetto software dopo il completamento di più iterazioni o sprint. Un rilascio può essere la compilazione iniziale di un'applicazione o l'aggiunta di una o più funzionalità a un'applicazione esistente. Un rilascio dovrebbe richiedere meno di un anno per essere completato e, in alcuni casi, potrebbe richiedere solo tre mesi.
Modalità di utilizzo: i team Agile utilizzano la quantità di tempo prevista per un rilascio software diviso per la velocità dell'iterazione per determinare il numero di iterazioni necessarie per sviluppare il software necessario per il rilascio.
Vantaggi per la gestione dei progetti:
- Fornisce un obiettivo tangibile.
- Chiarisce i requisiti e la visione del cliente.
- Consente il rilascio preliminare di versioni alfa o beta dopo il completamento di diverse iterazioni.
Piano di rilascio
Definizione: un piano di rilascio delinea le funzionalità da includere in un rilascio imminente e fornisce una data stimata per il rilascio. Il piano dovrebbe includere responsabilità, risorse e attività necessarie per completare il rilascio.
Modalità di utilizzo: il piano di rilascio è suddiviso in singoli sprint necessari per completare il rilascio e ciò che ogni sprint realizzerà. La data di rilascio viene stimata in base al numero di sprint da includere moltiplicato per la velocità dello sprint del team.
Vantaggi per la gestione dei progetti:
- Fornisce una stima accurata del tempo totale e delle risorse necessarie per completare il rilascio.
- Fornisce ai team una comprensione e una visione comuni di ciò che deve essere realizzato.
- Guida i proprietari del prodotto nella definizione delle priorità di storie e attività.
- Guida i membri del team nel prendere decisioni.
- Aiuta i team a evitare deviazioni con lavori non pianificati.
Scrum
Definizione: Scrum è il framework più utilizzato sotto l'ombrello Agile. Scrum è un modello software iterativo che segue una serie di ruoli, responsabilità e riunioni predefiniti.
In Scrum, le iterazioni sono chiamate sprint e sono a una lunghezza fissa: gli sprint durano solitamente da una a due settimane, ma possono durare anche un mese.
Modalità di utilizzo: la metodologia Scrum designa tre ruoli specifici per ogni progetto Scrum: proprietario del prodotto, Scrum Master e un team Scrum. Un progetto Scrum è caratterizzato da backlog del prodotto, pianificazione degli sprint, perfezionamento del backlog, riunioni Daily Scrum, riunioni di revisione degli sprint e riunioni retrospettive sullo sprint.
Il completamento di uno sprint Scrum produce un aumento di software funzionale e potenzialmente spedibile. Utilizzando Scrum, gli incrementi del software possono essere distribuiti al cliente periodicamente, piuttosto che in attesa del rilascio finale del software.
Vantaggi per la gestione dei progetti:
- Aumenta la responsabilità del team.
- Consente di adattare facilmente le modifiche durante il progetto.
- Riduce i costi identificando i problemi non appena si presentano.
Team Scrum
Definizione: un team Scrum comprende in genere da cinque a nove membri con competenze interfunzionali. A differenza dei team di sviluppatori tradizionali, non esistono ruoli specifici. Un team Scrum è auto-organizzato e autonomo: il team dovrebbe avere la giusta quantità di membri con le competenze appropriate necessarie per completare lo sprint.
Come viene utilizzato: un team Scrum lavora insieme per completare gli sprint e produrre un aumento funzionale e potenzialmente spedibile del software. Alla fine dello sprint, il team tiene una revisione dello sprint con il proprietario del prodotto e le parti interessate per mostrare ciò che lo sprint ha realizzato, esaminare i problemi e ottenere feedback. Una riunione retrospettiva separata dello sprint consente ai membri del team di discutere il feedback e i miglioramenti necessari per lo sprint successivo.
Vantaggi per la gestione dei progetti:
- Aumenta il senso di fiducia e responsabilità tra i membri del team.
- Porta al miglioramento continuo attraverso il feedback e il brainstorming.
- Promuove la leadership da parte di tutti i membri del team, non solo di alcuni selezionati.
Scrum Master
Definizione: lo Scrum Master è spesso considerato il coach del team. Organizza riunioni, risolve ostacoli e problemi e collabora con il proprietario del prodotto per assicurarsi che il backlog del prodotto sia aggiornato. Lo Scrum Master non ha alcuna autorità sui membri del team, tuttavia, ha autorità sul processo. Uno Scrum Master può completare una formazione formale per diventare uno Scrum Master certificato, ma non è necessario.
Modalità di utilizzo: lo Scrum Master facilita i meeting Daily Scrum, determina le durate dello sprint per il progetto e tiene traccia dell'avanzamento del flusso di lavoro. Lavora con il proprietario del prodotto per assicurarsi che il backlog del prodotto sia aggiornato ed eliminare eventuali ostacoli al flusso di lavoro. Lo Scrum Master assicura che i membri del team non siano sovraccarichi e siano in grado di lavorare al loro pieno potenziale.
Vantaggi per la gestione dei progetti:
- Assicura che i membri del team seguano il processo Scrum più efficiente.
- Previene la noncuranza del team.
- Guida il team verso un miglioramento continuo.
- Mantiene i membri del team coinvolti sia nel progetto che nel processo Scrum.
Scrum of Scrums
Definizione: un meeting Scrum of Scrums è un meccanismo di scalabilità utilizzato per gestire grandi progetti che coinvolgono più team Scrum. Uno Scrum of Scrums è tenuto per facilitare la comunicazione tra i team che possono avere dipendenze l'uno dall'altro. Un membro di ogni team partecipa allo Scrum of Scrums per parlare a nome del team: questo potrebbe essere lo Scrum Master, ma può essere qualsiasi membro del team in grado di trasmettere efficacemente le informazioni e gestire domande o preoccupazioni per il team.
Modalità di utilizzo: se un team Scrum sta lavorando a un progetto di grandi dimensioni che comporta dipendenze, rischi o problemi che potrebbero influire sullo sprint di un altro team, uno Scrum of Scrums è previsto come forum di comunicazione per discutere o risolvere questi problemi.
Vantaggi per la gestione dei progetti:
- Facilita la comunicazione e promuove la collaborazione tra i team.
- Consente a più team di vedere il "quadro più ampio" del progetto e come lo sprint di un team ne sta influenzando un altro.
- Riduce il rischio che il lavoro di un team influisca negativamente su quello di qualcun altro.
- Aiuta i team ad affrontare i problemi e ad apportare piccole correzioni di rotta, se necessario.
- Ottimizza il flusso di lavoro del progetto.
Scrumban
Definizione: Scrumban è un metodo ibrido tra Scrum e Kanban utilizzato per svolgere attività e produrre deliverable.
Come viene utilizzato: Scrumban viene utilizzato quando un team Scrum vuole applicare una certa metodologia Kanban nel proprio processo, concentrandosi sul work-in-progress e sul miglioramento continuo. Oppure, un team Kanban potrebbe voler applicare alcune strutture Scrum nel proprio processo, come stand-up giornalieri o ruoli.
Vantaggi per la gestione dei progetti:
- Combina le best practice di entrambi i metodi per migliorare il processo del team.
- Offre ai team flessibilità di adattare il proprio processo nel modo migliore per loro.
- Bilancia la capacità del team con la domanda.
- Migliora la visualizzazione per un team Scrum.
- Guida i team verso un'evoluzione a lungo termine del miglioramento continuo.
Spike
Definizione: uno spike è una user story o attività separata con timebox che viene creata per ricercare una domanda o risolvere un problema. Uno spike si concentra sulla raccolta di informazioni e sulla risposta a una domanda, piuttosto che sulla produzione di un prodotto spedibile.
Modalità di utilizzo: viene creato uno spike quando una user story o un'attività non può essere stimata accuratamente fino a quando il team Agile non può condurre ulteriori ricerche o indagini. Lo spike produce un output specifico, una stima per la user story originale, in modo che lo sprint possa andare avanti.
Vantaggi per la gestione dei progetti:
- Aumenta l'accuratezza e l'affidabilità delle stime della user story.
- Aumenta la comprensione da parte del team di una user story o di un requisito PBI.
- Riduce il rischio di lavoro sprecato o "sparso".
Sprint
Definizione: uno sprint è un'iterazione di lunghezza fissa durante la quale una user story o un elemento di backlog del prodotto (PBI) viene trasformato in un deliverable potenzialmente spedibile. A ogni sprint viene assegnata una determinata quantità di tempo da realizzare (a volte chiamata timeboxing), che potrebbe essere da una settimana a un mese, ma che in genere dura due settimane.
Modalità di utilizzo: ogni sprint inizia con una riunione di pianificazione tra il proprietario del prodotto e il team Scrum per decidere quale quantità di lavoro può essere eseguita realisticamente rispettando i requisiti del proprietario del prodotto o del cliente. Lo Scrum Master determina la lunghezza dello sprint; le lunghezze dello sprint devono essere coerenti per l'intero progetto.
Alla fine dello sprint, il team mostra il prodotto o il software risultante al proprietario del prodotto. Fornisce feedback al team e accetta o rifiuta il prodotto, in base ai criteri di accettazione stabiliti nella riunione di pianificazione dello sprint. Una volta completati tutti gli sprint per un progetto, il team deve essere pronto a rilasciare un pacchetto software finale.
Vantaggi per la gestione dei progetti:
- Impedisce ai team di sentirsi sopraffatti.
- Promuove la prevedibilità e l'affidabilità dei deliverable dei clienti.
- Riduce i cicli di feedback.
- Impedisce uno sviluppo eccessivo del lavoro prima di riscontrare problemi.
Backlog dello sprint
Definizione: un backlog dello sprint è un segmento di elementi di backlog del prodotto (PBI) che il team seleziona per il completamento durante uno sprint Scrum. Questi PBI sono in genere user story tratte dal backlog del prodotto.
Modalità di utilizzo: durante la riunione di pianificazione dello sprint, il team decide quali PBI o user story includere nello sprint successivo, in base allo sforzo di lavoro stimato e alla capacità del team necessari per completare ciascuno di essi. Il team suddivide i PBI o le user story in attività e assegna una stima delle ore di lavoro per il completamento di ogni attività.
Conosciuto anche come: backlog dell'iterazione
Vantaggi per la gestione dei progetti:
- Assicura che i PBI con priorità più alta siano completati per primi.
- Consente una pianificazione a lungo termine.
- Suddivide il lavoro in componenti gestibili.
- Consente al team di determinare la quantità di PBI che possono essere realizzati durante lo sprint.
Meeting di pianificazione dello sprint
Definizione: la riunione di pianificazione dello sprint è una sessione di lavoro che si tiene prima dell'inizio di ogni sprint per raggiungere un consenso reciproco tra i criteri di accettazione del proprietario del prodotto e la quantità di lavoro che il team di sviluppo può svolgere realisticamente alla fine dello sprint. La lunghezza dello sprint determina la durata della riunione di pianificazione, dove due ore equivalgono a uno sprint di una settimana. Utilizzando questa formula, la riunione di pianificazione per uno sprint di due settimane dovrebbe durare circa quattro ore, anche se questo tempo può variare.
Modalità di utilizzo: la riunione di pianificazione dello sprint definisce il punto di partenza per lo sprint. Lo Scrum Master facilita la riunione mentre il proprietario del prodotto presenta e assegna la priorità agli elementi di backlog del prodotto (PBI) o alle user story da completare entro la fine dello sprint. Il team suddivide quindi i PBI o le user story in attività gestibili. Infine, il team determina la quantità di lavoro che può essere completato durante lo sprint.
Vantaggi per la gestione dei progetti:
- Stabilisce un obiettivo chiaro per il team.
- Si traduce nell'impegno del team a completare il numero di PBI e le attività concordati durante la riunione di pianificazione.
- Previene il sovraccarico del team durante lo sprint.
Piano dello sprint
Definizione: il piano dello sprint è il risultato tangibile di una riunione di pianificazione dello sprint. Il piano dello sprint è un documento scritto assemblato dal team di sviluppo e include 1) l'obiettivo dello sprint: una breve descrizione del prodotto o del deliverable da completare entro la fine dello sprint e 2) un elenco dettagliato degli elementi di backlog del prodotto (PBI) o delle user story che il team si è impegnato a completare entro la fine dello sprint, in base alla disponibilità e alla velocità del team. Ogni PBI o user story è suddiviso in attività in base alla priorità impostata dal proprietario del prodotto e assegnata a un membro del team.
Modalità di utilizzo: il piano dello sprint è una tabella di marcia a cui i membri del team devono fare riferimento e seguire durante lo sprint. Questo piano fornisce al proprietario del prodotto e al team Scrum un accordo scritto su ciò che il team si è impegnato a realizzare durante lo sprint.
Vantaggi per la gestione dei progetti:
- Stabilisce un obiettivo chiaro per lo sprint.
- Mantiene lo sviluppo in carreggiata.
- Impedisce al proprietario del prodotto o ad altre parti di dare al team ulteriore lavoro.
- Scoraggia i membri del team dal deviare dal completamento delle attività concordate.
- Fornisce un documento tangibile per la revisione dopo il completamento dello sprint per determinare se i tempi del carico di lavoro e dello sprint sono stati realistici.
Retrospettiva dello sprint
Definizione: una retrospettiva Scrum è una riunione che si tiene dopo il completamento di uno sprint per valutare se lo sprint ha avuto successo e per identificare i miglioramenti da integrare nello sprint successivo.
Come viene utilizzato: il team Scrum tiene una riunione retrospettiva per analizzare brevemente lo sprint e identificare uno o due elementi prioritari per il team da affrontare durante lo sprint successivo. L'intento della retrospettiva non è quello di condurre una valutazione post-chiusura completa, ma piuttosto di concentrarsi su passi specifici che il team può intraprendere procedendo verso un obiettivo di miglioramento continuo. Le retrospettive sono solitamente suddivise in tre parti: raccolta di dati, analisi dei dati ed elementi di azione.
Vantaggi per la gestione dei progetti:
- I team imparano dagli errori e collaborano insieme per trovare soluzioni.
- I miglioramenti vengono immediatamente incorporati nel processo Agile.
- Stimola il team a fare brainstorming su soluzioni ai problemi.
- Elimina frustrazione e stress.
- Il processo di miglioramento continuo porta a un migliore valore per il cliente.
- Responsabilizza il team.
Revisione dello sprint
Definizione: il team Scrum tiene una riunione di revisione dello sprint immediatamente dopo il completamento di uno sprint per rivedere e mostrare ciò che il team ha realizzato durante lo sprint. A questa riunione partecipano il proprietario del prodotto o il cliente, Scrum Master, il team Scrum e le parti interessate. La revisione dello sprint è una riunione informale (non sono ammesse slide PowerPoint). La lunghezza dello sprint determina la durata della riunione di revisione, dove un'ora equivale a uno sprint di una settimana. Utilizzando questa formula, la riunione di revisione per uno sprint di due settimane dovrebbe durare circa due ore, anche se questo tempo può variare.
Modalità di utilizzo: lo scopo della revisione dello sprint è quello di valutare ciò che è accaduto durante lo sprint e di determinare se lo sprint ha prodotto un deliverable funzionale e potenzialmente spedibile. Il team presenta o dimostra il deliverable sviluppato durante lo sprint. Il proprietario del prodotto fornisce un feedback al team e decide se il deliverable soddisfa i criteri di accettazione e accetta o rifiuta il prodotto.
Vantaggi per la gestione dei progetti:
- Determina se l'obiettivo dello sprint è stato raggiunto.
- Illustra il risultato visivo dello sprint.
- Offre l'opportunità immediata di feedback da parte del proprietario del prodotto, del cliente e di altre parti interessate.
- Rivela le aree in cui è necessario migliorare.
Parte interessata
Definizione: una parte interessata si riferisce liberamente a chiunque, al di fuori del team Scrum, abbia un interesse per il prodotto che il team sta producendo. Le parti interessate possono includere, ma non sono limitate a, manager diretti, esperti in materia, account manager, venditori e funzionari legali.
Come viene utilizzato: sebbene le parti interessate non svolgano un ruolo ufficiale in Agile, il cliente è considerato la parte più importante. L'obiettivo principale di Agile è aggiungere valore a ogni prodotto o deliverable prodotto dall'iterazione o dallo sprint. L'accettazione del prodotto dipende dal fatto che il proprietario del prodotto, che agisce per conto del cliente, sia soddisfatto del rispetto dei criteri di accettazione del cliente. Le altre parti interessate possono avere ruoli diversi.
Vantaggi per la gestione dei progetti:
- Garantisce che le esigenze e la visione del cliente siano soddisfatte accuratamente.
- Aumenta la fiducia del cliente nella capacità del team di fornire un prodotto di alta qualità.
- Avvisa gli account manager del budget necessario per le iterazioni.
- Informa i venditori dei prodotti in cantiere.
- Incoraggia le parti interessate a lasciarsi coinvolgere nel processo.
Stand-up/riunione giornaliera
Definizione: i team Agile tengono una riunione stand-up di 15 minuti ogni mattina nello stesso luogo per comunicare lo stato attuale del lavoro durante un'iterazione o uno sprint. L'idea di uno stand-up è che dovrebbe essere rilevante, ma abbastanza breve, in modo che i membri del team non si stanchino di stare in piedi.
Conosciuto anche come: Daily Scrum, stand-up giornaliero, incontro quotidiano
Come viene utilizzato: durante uno stand-up, i membri del team Agile si riuniscono intorno alla bacheca delle attività fisica del team per condividere i progressi, segnalare impedimenti e prendere impegni per l'iterazione o lo sprint corrente. I team rispondono generalmente a queste tre domande sullo stato del loro lavoro:
- Cosa ho portato a termine ieri?
- In cosa mi impegnerò o completerò oggi?
- Quali impedimenti o ostacoli mi impediscono di rispettare i miei impegni?
Tutte le discussioni durante lo stand-up dovrebbero essere incentrate sulla risposta a queste tre domande. Altre domande che sorgono vengono affrontate al di fuori dello stand-up.
Vantaggi per la gestione dei progetti:
- Mantiene il flusso di lavoro in carreggiata.
- Mantiene la riunione breve (grazie alla posizione in piedi).
- Aiuta a identificare i problemi prima.
- Aumenta la responsabilità del team, la comunicazione e la collaborazione.
- Stimola l'auto-organizzazione del team e la pianificazione personale.
- Aiuta i membri del team ad affrontare i problemi e ad apportare piccole correzioni di rotta, se necessario.
- Favorisce l'interazione faccia a faccia (se in loco).
Storia
Definizione: una storia, o user story, è una dichiarazione breve e non tecnica di un requisito di sistema software scritta dal punto di vista dell'utente finale. Una storia viene scritta secondo la seguente struttura: in qualità di
Modalità di utilizzo: il proprietario del prodotto assegna la priorità alle storie da includere in ogni sprint durante la riunione di pianificazione dello sprint. Il team assegna punti a ogni storia per stimare lo sforzo del carico di lavoro e poi suddivide le storie in attività da completare durante lo sprint. Al termine dell'iterazione o dello sprint, il team dovrebbe aver realizzato un prodotto o un deliverable funzionale che corrisponda al requisito iniziale specificato nella storia.
Vantaggi per la gestione dei progetti:
- Aumenta la produttività.
- Fornisce ai team una chiara comprensione dei requisiti software e dei criteri di accettazione.
- Fornisce flessibilità al proprietario del prodotto o al cliente per apportare piccole modifiche prima che la storia venga implementata.
- Promuove il miglioramento continuo.
- Aumenta il valore e la qualità del prodotto.
- Riduce il rischio di difetti.
Mappatura della storia
Definizione: la mappatura della storia si riferisce a una visualizzazione dall'alto verso il basso, o roadmap, del backlog di prodotto. La mappa della storia inizia con un obiettivo o una funzionalità specifica, che viene poi suddivisa in user story. La mappa di una storia viene creata in formato ad albero sia fisicamente, utilizzando post-it su una parete, sia digitalmente.
Modalità di utilizzo: la mappatura delle storie fornisce al team e alle parti interessate una rappresentazione visiva del backlog del prodotto e delle user story prioritarie che devono essere completate.
Vantaggi per la gestione dei progetti:
- Fornisce una rappresentazione visiva e olistica del backlog.
- Aumenta la comprensione degli obiettivi o dei requisiti di funzionalità.
- Rivela i buchi nel backlog di prodotto.
- Aumenta il valore per i clienti.
Swarming
Definizione: lo swarming avviene quando i membri del team con competenze appropriate lavorano insieme per completare un'attività che un membro del team sta avendo difficoltà a completare da solo.
Modalità di utilizzo: lo swarming viene utilizzato per portare rapidamente a termine un'attività o un elemento di lavoro prima di passare a quello successivo, al fine di mantenere il flusso di lavoro e la consegna in linea. I team Kanban, in particolare, utilizzano lo swarming per garantire un flusso di lavoro continuo e mantenere i limiti del Work-in-Progress (WIP).
Vantaggi per la gestione dei progetti:
- Mantiene il flusso di lavoro e la consegna in carreggiata.
- Mantiene i limiti del WIP in Kanban.
- Favorisce la collaborazione tra i team.
Ritmo sostenibile
Definizione: il ritmo sostenibile è il ritmo a cui un team Agile può lavorare a tempo indeterminato senza comportare il burnout degli sviluppatori (idealmente 40 ore alla settimana).
Come viene utilizzato: è stato stabilito un ritmo sostenibile per garantire che un team Agile funzioni in modo ottimale senza la necessità di lavoro straordinario, serale o nel fine settimana. Lavorare a un ritmo sostenibile aiuta a esporre e rimediare alle carenze di pianificazione, gestione o qualità che altrimenti potrebbero essere nascoste dal lavoro straordinario.
Vantaggi per la gestione dei progetti:
- Promuove l'equilibrio tra vita professionale e vita privata.
- Favorisce prestazioni ottimali.
- Mantiene i membri del team aggiornati.
- Aumenta la produttività.
T-Z
Attività
Definizione: un'attività è una singola unità di lavoro originata da una user story. Un'attività viene solitamente completata da una sola persona.
Modalità di utilizzo: l'attività viene utilizzata in Scrum per identificare un piccolo aumento di lavoro da completare da un membro del team durante uno sprint. Il team identifica visivamente un'attività da completare pubblicando un cartellino o una nota post-it sulla propria bacheca delle attività.
Vantaggi per la gestione dei progetti:
- Suddivide le user story in unità gestibili.
- Consente ai membri del team di completare una o più attività senza sentirsi sopraffatti.
- Facile da identificare sulle bacheche delle attività Agile.
Bacheca delle attività
Definizione: una bacheca di attività Agile è una rappresentazione visiva fisica o online delle user story suddivise in attività o unità di lavoro. Una bacheca fisica delle attività può essere semplice come una lavagna con tre colonne etichettate con Da fare, In corso e Fatto; note post-it colorate o i cartellini indice che rappresentano le attività vengono inseriti nella colonna che riflette lo stato attuale dell'attività. Una bacheca delle attività può essere espansa per contenere più colonne e può anche includere corsie orizzontali.
Modalità di utilizzo: la bacheca delle attività funge da strumento chiave di comunicazione visiva per i team Scrum e Kanban e deve essere sempre aggiornata. La bacheca funge da punto focale per i Daily Scrum e, pertanto, dovrebbe essere situata in un'area abbastanza ampia in modo che i membri del team possano riunirsi intorno a essa, e abbastanza comoda per i membri del team da consultare in altre ore della giornata.
Mentre i team procedono attraverso uno sprint o un'iterazione, spostano i cartellini delle attività orizzontalmente su tutta la lavagna in modo da riflettere lo stato attuale del lavoro dell'attività. La bacheca delle attività può essere migliorata con note post-it a colori e punti adesivi per rappresentare priorità, stato, assegnatari, ecc. Le bacheche delle attività Kanban devono sempre visualizzare un valore numerico per denotare i limiti di Work-in-Progress.
Vantaggi per la gestione dei progetti:
- Mantiene i team in carreggiata.
- È facile da usare e mantenere.
- Migliora la comunicazione del team.
- Migliora la produttività.
- Promuove il miglioramento continuo (in Kanban).
Team/Membro del team
Definizione: in un ambiente Agile, Scrum o Kanban, un team è un piccolo gruppo ad alto funzionamento composto da cinque a nove persone che lavorano insieme in modo collaborativo per completare un'iterazione o un progetto. Il team ha le capacità e le competenze necessarie per lavorare al progetto. I team Scrum sono interfunzionali; i team Kanban possono essere interfunzionali o specialistici.
I membri del team non hanno ruoli assegnati: il team non include il proprietario del prodotto o Scrum Master. Un membro del team può essere uno sviluppatore, un designer, un tester, un redattore tecnico o qualsiasi altra persona qualificata necessaria per produrre un deliverable.
Modalità di utilizzo: un team Agile lavora insieme per completare una user story o un progetto. Ogni membro lavora su una singola attività o unità di lavoro. Tutti i membri del team sono responsabili di aiutare il team a raggiungere i suoi obiettivi.
Vantaggi per la gestione dei progetti:
- Aumenta la produttività.
- Porta al miglioramento e all'evoluzione continui (soprattutto nei team Kanban).
- Consente ai membri del team di esercitare la leadership e costruire l'impegno.
- Aumenta il senso di proprietà per il progetto.
Debito tecnico
Definizione: il debito tecnico si riferisce all'obbligo in cui incorre un team di sviluppo quando utilizza un approccio a breve termine e conveniente allo sviluppo di un pacchetto software senza considerare le conseguenze a lungo termine. Il debito tecnico aumenta i costi e la complessità del progetto a causa di inefficienze, imprecisioni e altri problemi introdotti nel pacchetto software. Una cattiva gestione, l'incompetenza, la pressione temporale o errori involontari possono tutti contribuire al debito tecnico.
Come viene utilizzato: il debito tecnico viene utilizzato come motivazione per il team a concentrarsi sulla qualità e sul valore aggiunto durante lo sviluppo. Ciò può tradursi in un refactoring e una revisione diligente e coerente del codice, nell'esecuzione di test unitari automatizzati e nell'integrazione del codice su base coerente. La programmazione in coppia è spesso utile per prevenire il debito tecnico. La creazione di un ambiente in cui i membri del team siano incoraggiati ad aumentare le conoscenze e l'esperienza rilevanti aiuta anche a prevenire i debiti tecnici.
Problemi per la gestione dei progetti:
- Riduce la qualità del prodotto.
- Si traduce in alti tassi di difetti.
- Riduce la produttività.
- Riduce la velocità del flusso di lavoro.
- Riduce la qualità della manutenzione del codice.
- Si traduce in costose modifiche e implementazioni.
Sviluppo guidato da test (TDD)
Definizione: lo sviluppo guidato dai test è la pratica di progettazione e costruzione di test per codice funzionale e funzionante e quindi la costruzione di un codice che superi tali test.
Come viene utilizzato: il TDD aiuta il team ad aumentare la comprensione dello scopo del codice e di come dovrebbe funzionare prima di iniziare lo sviluppo. Il team scrive quindi il codice che soddisfa i criteri di test. I team che utilizzano il TDD creano codice di qualità più snello e di livello superiore che soddisfi i criteri di test e accettazione.
Vantaggi per la gestione dei progetti:
- Aumenta la velocità del lavoro.
- Aumenta la qualità del codice.
- Riduce i lavori di rielaborazione.
- Riduce i tempi di debug.
- Riduce il tasso di difetti.
- Produce un documento di prova come riferimento.
- Semplifica il codice.
- Fornisce un ciclo di feedback rapido.
Timebox
Definizione: una timebox si riferisce a un periodo di tempo assegnato durante il quale un individuo o un team lavora per un obiettivo stabilito. Il team interrompe il lavoro alla conclusione di tale periodo di tempo, piuttosto che al termine del lavoro. Il team valuta quindi quanto lavoro è stato svolto rispetto all'obiettivo specificato.
Come vengono utilizzati: le timebox sono implementate nello sviluppo di software Agile per aumentare la qualità e il valore durante la produzione di un deliverable. In particolare, le timebox vengono applicate negli sprint Scrum, così come negli spike, in cui alle attività vengono assegnate lunghezze fisse. Qualsiasi lavoro non completato all'interno della timebox viene riassegnato a un'altra iterazione o ripriorizzato.
Vantaggi per la gestione dei progetti:
- Aumenta l'attenzione su attività o problemi che aggiungono più valore.
- Garantisce che le esigenze siano soddisfatte.
- Riduce il feature creep.
- Fornisce un ciclo di feedback breve.
- Assicura che nel pacchetto software siano incluse le funzioni più importanti.
Test unitario
Definizione: un test unitario è un breve frammento di programma scritto per testare e verificare una parte di codice una volta completato. Un pezzo di codice supera o meno il test unitario. Il test unitario (o un gruppo di test, noto come suite di test) è il primo livello di test di un prodotto di sviluppo software.
Come viene utilizzato: gli sviluppatori scrivono un test unitario per una piccola parte di codice che stanno sviluppando per documentare per verificare che il codice funzioni correttamente. I test unitari devono essere scritti anche per la correzione di bug. Quando il codice viene modificato, spostato o eliminato, il test unitario deve essere modificato in modo riflettere la modifica e quindi rieseguito.
Vantaggi per la gestione dei progetti:
- Identifica i bug del software nelle prime fasi del processo di sviluppo.
- Fornisce la documentazione per ogni pezzo di codice.
- Fornisce un ciclo di feedback breve.
- Aiuta i test di integrazione a funzionare in modo più fluido.
User Story
Definizione: una o user story è una descrizione breve e non tecnica di un requisito di sistema software scritta dal punto di vista dell'utente finale o del cliente. Una user story viene scritta dal proprietario del prodotto o dal team secondo la seguente struttura: in qualità di
Modalità di utilizzo: il proprietario del prodotto suddivide gli elementi di backlog del prodotto (PBI) in user story. Per valutare l'impegno del carico di lavoro necessario per completare la storia, alle user story vengono assegnati dei punti. Una volta che il proprietario del prodotto ha priorizzato le user story, il team suddivide la storia con priorità più alta in attività da completare durante l'iterazione o lo sprint successivo. Il team Agile utilizza queste storie per creare codice che soddisfi i requisiti del cliente. Al termine dell'iterazione o dello sprint, il team dovrebbe aver realizzato un prodotto o un deliverable funzionale e potenzialmente spedibile, che corrisponda al requisito specificato nella storia.
Vantaggi per la gestione dei progetti:
- Aumenta la produttività.
- Fornisce ai team una chiara comprensione dei requisiti software e dei criteri di accettazione.
- Fornisce ai team feedback continui o frequenti.
- Fornisce flessibilità al proprietario del prodotto o al cliente per apportare piccole modifiche prima che la storia venga implementata.
- Promuove il miglioramento continuo.
- Aumenta il valore e la qualità del prodotto.
- Riduce il rischio di difetti.
Persona utente
Definizione: una persona utente è una descrizione o biografia ipotetica dettagliata di un utente finale tipico che utilizzerà il prodotto. Le "persona" di solito assumono la forma di un documento scritto, completo di foto, nome, professione, stile di vita e altri dettagli pertinenti al loro essere classificati come utenti finali.
Come viene utilizzato: i progettisti e gli sviluppatori Agile utilizzano le "persona" come guida per lo sviluppo di un prodotto che si adatti alle esigenze di un tipo specifico di utente finale o di più tipi di utenti finali. Il team può utilizzare le "persona" per decidere se aggiungere funzionalità specifiche, interazioni o segnali visivi al prodotto.
Vantaggi per la gestione dei progetti:
Aumenta la consapevolezza del team sul tipo o sui tipi di utenti finali a cui si rivolge.
Aumenta il valore e l'integrità del prodotto o del deliverable risultante.
Consente di realizzare un prodotto o un deliverable più mirato, realistico e semplificato che non cerca di accontentare tutti.
Fornisce un punto focale per gli sviluppatori che devono determinare cosa includere.
Velocità
Definizione: la velocità è un parametro che specifica quanto lavoro un team è in grado di completare in un'unica iterazione o sprint di lunghezza fissa.
Modalità di utilizzo: i team di sviluppo utilizzano la velocità come mezzo per prevedere l'impegno lavorativo necessario per completare gli sprint futuri, a condizione che la composizione del team e la durata dello sprint rimangano le stesse. La velocità viene utilizzata anche come mezzo per stimare il tempo necessario per completare il backlog del prodotto: il team divide la velocità stabilita per il numero totale di user story o per la somma di punti della storia per determinare il numero di iterazioni necessarie per completare il backlog.
Vantaggi per la gestione dei progetti:
- Riduce il tempo necessario per stimare il lavoro futuro.
- Fornisce stime del carico di lavoro e timebox più accurate.
- Offre flessibilità per adattare le stime.
- Aiuta nella pianificazione delle risorse e del rilascio.
Limiti WIP (Work-In-Progress, Lavori in corso)
Definizione: i limiti del work-in-progress (WIP) si riferiscono al lavoro attualmente in fase di sviluppo e non ancora pronto per essere rilasciato come deliverable. Per i team Scrum, ciò si applica al lavoro svolto durante uno sprint. Per i team Kanban, questo si riferisce al lavoro che è stato estratto dal backlog ed è in fase di sviluppo, indicato dai cartellini schede nella colonna "In corso" o "Work-in-Progress" della bacheca delle attività Kanban.
Modalità di utilizzo: i limiti del work-in-progress (WIP) sono l'unico vincolo utilizzato nella metodologia Kanban. I team Kanban stabiliscono e pubblicano sulla bacheca Kanban un numero che rappresenta il numero di storie o elementi di lavoro che possono esistere nella pipeline in qualsiasi momento (indicato da cartellini o note post-it nella colonna Work-in-Progress della bacheca Kanban). Questi limiti sono definiti limiti di Work-in-Progress o WIP e sono progettati per mantenere il lavoro senza intoppi e rivelare eventuali colli di bottiglia.
L'applicazione dei limiti WIP costringe il team a concentrarsi su un numero limitato di attività e a portare il lavoro a completamento: nessun nuovo lavoro può essere inserito nella colonna WIP fino a quando il team non completa il lavoro corrente. I limiti WIP superati o impostati troppo in alto possono compromettere il flusso di lavoro e la consegna. I limiti del WIP possono essere applicati anche all'interno dei team Scrum per mantenere il lavoro senza intoppi (vedere Scrumban).
Vantaggi per la gestione dei progetti:
- Rivela i colli di bottiglia nel flusso di lavoro.
- Indica quando uno o più membri del team possono essere sovraccarichi.
- Mantiene il lavoro senza intoppi attraverso la pipeline.
- Aumenta la produttività.
- Promuove il miglioramento continuo.
Utilizzo di Smartsheet come strumento di gestione dei progetti Agile
Potenzia il rendimento dei tuoi dipendenti con una piattaforma flessibile progettata per soddisfare le esigenze del tuo team e capace di adattarsi alle condizioni mutevoli del lavoro. La piattaforma Smartsheet semplifica la pianificazione, l'acquisizione, la gestione e la creazione di report sul lavoro da qualsiasi luogo, aiutando il tuo team a essere più efficace e ottenere di più. Crea report sulle metriche chiave e ottieni visibilità in tempo reale sul lavoro mentre accade con report di riepilogo, pannelli di controllo e flussi di lavoro automatizzati creati per mantenere il tuo team connesso e informato. Quando i team hanno chiarezza sul lavoro da svolgere, possono ottenere maggiori risultati in meno tempo. Prova Smartsheet gratuitamente, oggi.