Scrum and Agile for Dummies

12/05/2019

Esistono diverse metodologie con cui è possibile implementare i principi e la filosofia di Agile. Alcuni di questi includono Kanban, Programming (XP), Crystal e System (DSDM).

Una delle metodologie più popolari di Agile Scrum con un'interfaccia semplice è un modo intuitivo e interessante per concentrarsi sul progetto. Sebbene Agile sia stata creata appositamente per lo sviluppo di software, chiunque lavori in un ambiente dinamico e dinamico può trarre vantaggio da un lavoro flessibile e iterativo.

La storia della metodologia

Nel 2001, 17 autori di software

Nel 2001, 17 importanti autori di software si sono riuniti a Snowbird, nello Utah, tra cui Jeff Sunderland, considerato il padrino di Agile. Jeff e i suoi amici hanno creato insieme il leggendario Manifesto per lo sviluppo di software agile, impostandosi come il compito di separarsi dai pesanti limiti dello sviluppo del software tradizionale. Sebbene il nome del progetto Agile Scrum possa sembrare spaventoso, l'utente non ha bisogno di essere uno sviluppatore di software per comprendere facilmente i suoi principi di funzionamento e iniziare a usarlo indipendentemente.

La traduzione della parola agile significa: agile, vivace, veloce, agile, agile, e il programma è pienamente coerente con questi valori. Le metodologie tradizionali di gestione dei progetti, come Waterfall, PMBOK PMI e PRINCE2, sono rigide e controllabili. Descrivono le varie fasi della pianificazione del progetto dall'inizio alla fine e presuppongono che gli utenti abbiano tutti i requisiti e le informazioni necessarie in anticipo. Agile Scrum rifiuta tutte le tradizionali metodologie di gestione dei progetti come ingombranti, restrittive e inappropriate per i nuovi requisiti, considerando che i team aziendali devono essere veloci e flessibili.

La gestione flessibile del progetto richiede l'incertezza e i valori sono responsabili della modifica del piano. Una pianificazione agile ti incoraggia a lavorare su qualcosa di piccolo, eseguirlo rapidamente, ottenere feedback, valutare cosa funziona e cosa no e adattare il tuo piano per i risultati. Questo processo di cicli piccoli, veloci e ripetitivi è noto come "iterativo".

Principi di controllo dello schema di base

Imparare le basi della metodologia è la parte più semplice di un progetto. La padronanza della tecnologia è un compito più difficile. In questo senso, Agile è simile al poker, in cui le regole sono padroneggiate in 10 minuti, ma poi ci vorrà molto tempo per iniziare a giocare correttamente. Di seguito sono riportati alcuni passaggi fondamentali per iniziare:

  1. Scarica e stampa la versione PDF della Guida Scrum ufficiale.
  2. Evidenzia le frasi e i ruoli che sono nuovi per l'utente e inizia a lavorare sul ricordare cosa significhi ciascuno di loro in Agile Scrum.
  3. Scegli i ruoli.
  4. Scegli Scrum Master, che aiuterà la squadra a muoversi sui principi di Scrum, che funziona sul modello di "capo - subordinati".
  5. Crea il tuo prodotto Backlog - questo è il luogo in cui tutto ciò di cui il progetto ha bisogno è elencato, ordinato per importanza.
  6. Quando il progetto si forma, quando vengono visualizzati nuovi bisogni, vengono aggiunti ad esso. Il proprietario del prodotto è il principale responsabile di questo.
  7. Inizia la pianificazione, seleziona le attività dal backlog che verrà completato nel primo progetto. Lo sprint è limitato nel tempo.
  8. Determina la durata del progetto, ma non più di un mese.
  9. Identificare le attività che dovrebbero essere incluse in Agile Scrum e chi ne sarà responsabile.
  10. Inizia lo sprint. I membri del team lavorano sui propri progetti e ciascuno controlla i propri progressi nella riunione quotidiana di Scrum. Questo incontro dura circa 20 minuti, le squadre rispondono a 3 domande: cosa è stato fatto ieri? cosa sarà fatto oggi? Quali blocchi funzionano oggi e che tipo di aiuto è necessario?
  11. Esegui un'analisi di sprint.
  12. Effettuare una nuova pianificazione in vista del miglioramento del suo lavoro, garantendo l'efficacia del progetto
  13. Al completamento del primo Sprint, avviarne uno nuovo, evidenziare più attività dal backlog e ripetere il processo.

Allenatore di squadra

Allenatore di squadra

Scrum, un modo flessibile per gestire un progetto, è solitamente lo sviluppo del software. Lo sviluppo di software agile è spesso percepito come una metodologia, ma in realtà rappresenta la struttura di controllo del processo. Agile Scrum: che cos'è? Agile Scrum come parte del suo sviluppo flessibile del team è ben dimostrata sulle funzioni di ruolo. Sono supportati da due compiti specifici.

Il primo ruolo è Scrum Master, che può essere considerato un allenatore per la squadra. Aiuta i membri del team a utilizzare il processo di esecuzione del progetto al più alto livello. Il proprietario del prodotto (software) è il secondo ruolo, indirizza il team a creare il prodotto giusto. Il modello Scrum presuppone che i progetti si stiano muovendo attraverso una serie di sprint. Secondo una metodologia flessibile, gli sprint hanno un arco di tempo non superiore a un mese e più spesso due settimane.

Il modello rappresenta la riunione di pianificazione all'inizio dello sprint, in cui i membri del team calcolano il numero di funzioni che possono eseguire e quindi creano un backlog nell'elenco di attività sprint che deve essere eseguito durante lo sprint. Durante il team di Scrum flexible sprint ottiene una serie di funzionalità dall'idea alla funzionalità codificata e comprovata. Alla fine, queste funzioni vengono eseguite, il che significa codifica, test e integrazione in un prodotto o sistema in via di sviluppo.

Processo di Scrum: artefatti di base

Processo di Scrum: artefatti di base

La gestione del progetto Agile Scrum utilizzando approcci flessibili suggerisce la presenza di artefatti. Primario tra loro nello sviluppo di Scrum è il prodotto stesso. Il modello si aspetta che il team porti il ​​prodotto o il sistema a uno stato potenzialmente operativo alla fine di ogni sprint. La raccolta del prodotto è un altro artefatto. Questo è un elenco completo di funzionalità da aggiungere al prodotto. Il proprietario dà la priorità al backlog, quindi il team utilizza sempre le funzionalità più preziose.

Un modo popolare e di successo per creare un ritardo del prodotto utilizzando una metodologia è riempirlo con storie utente che forniscono una breve descrizione delle funzioni descritte dal loro punto di vista. Nella gestione del progetto, il primo giorno dello sprint e durante la riunione di pianificazione, i membri del team determinano il ritardo dello sprint. Un ritardo di sprint può essere visualizzato come un elenco di attività da svolgere per uno sprint, mentre un ritardo del prodotto è un elenco di funzioni che devono essere create come storie utente.

Sprint lag è un elenco di attività che una squadra deve completare per aggiungere funzionalità.

Ulteriori artefatti che sono il risultato della metodologia flessibile di Scrum sono la timeline dello sprint e il diagramma di uscita. I grafici di burndown mostrano che l'oggetto di lavoro rimane nello sprint o nel rilascio e sono uno strumento di sviluppo software efficace per determinare se un nuovo sprint passerà su una pianificazione in modo tale che tutti i lavori pianificati siano completati entro la data richiesta.

Compiti del team dei partecipanti

Compiti del team dei partecipanti

Scrum Master è un coach di gruppo e aiuta i professionisti di Scrum a raggiungere il più alto livello di prestazioni. Nel processo di Master, si differenzia dal tradizionale project manager, incluso questo ruolo non fornisce una guida quotidiana per il team e non assegna compiti ai singoli. Un buon Master nel processo di gestione dei progetti Agile Scrum nasconde il team da distrazioni esterne, permettendo ai suoi membri di concentrarsi durante lo sprint sull'obiettivo scelto.

Mentre Scrum Master si concentra sull'aiutare il team a essere il migliore, il product owner lavora per indirizzare il team verso l'obiettivo giusto. Il proprietario esegue questa operazione creando una visione convincente del prodotto e quindi trasmettendola al team. È responsabile della priorità del backlog durante lo sviluppo di Scrum per assicurarsi che abbia raggiunto lo zero, poiché in questo caso imparerà di più sul sistema in costruzione, i suoi utenti e il team.

Il terzo e ultimo ruolo nella gestione del progetto è il team Scrum. Anche se le persone possono aderire con vari titoli di lavoro, nel progetto questi nomi sono insignificanti.

La tecnica afferma che ogni persona contribuisce in qualsiasi modo a completare il lavoro di ogni sprint. Ciò non significa che il tester ridisegnerà il sistema. I partecipanti trascorreranno più tempo sul lavoro, in qualsiasi disciplina possano aver lavorato prima di prendere una decisione modello flessibile. Ma con Scrum, le persone lavoreranno al di fuori delle loro responsabilità, perché sarà fatto per il bene della squadra.

Project manager

Uno scrum master è una persona che aiuta le altre persone a capire il progetto e serve la sua squadra eliminando gli ostacoli. Aiuta anche a semplificare la complessità del metodo di apprendimento Agile. La procedura guidata deve garantire che il team di sviluppo funzioni sulla base dei valori di base. È spesso considerato un allenatore di squadra che la aiuta a fare un lavoro migliore. Inoltre, garantisce che l'implementazione di Scrum avrà successo nell'azienda. Il maestro funge da centro del progetto.

Ha bisogno di svolgere le seguenti funzioni:

  1. Controlla che il team soddisfi i suoi obiettivi di business.
  2. Promuovere il lavoro di squadra
  3. Per effettuare la pianificazione, la raccolta di approvvigionamento di squadra, dimostrazione di sprint, retrospettiva di sprint.
  4. Elabora e aiuta a mantenere l'integrità dei valori del progetto.
  5. Contribuire al miglioramento delle pratiche tecniche come TDD, test automatizzati e integrazione continua.
  6. Monitorare la presenza degli stakeholder all'incontro.
  7. Controllo sulla distribuzione del rischio tra i team.
  8. Studi di fattibilità, stesura e verifica delle specifiche.

Kanban vs Scrum

Scrum e Kanban sono sistemi di lavoro iterativi che si basano sui flussi di processo e sono progettati per ridurre gli sprechi. Tuttavia, ci sono diverse importanti differenze tra di loro.

Kanban è un metodo di gestione visiva sviluppato da Hirotaka Takeuchi e Ikujiro Nonaka nelle strategie di sviluppo del prodotto nel 1986. Oggi la ricerca e l'evoluzione di Kanban continuano e i team aziendali sono costantemente alla ricerca di nuovi modi per utilizzarlo come strumento utile, tra cui prestazioni, efficienza, tempo di ciclo e qualità. Kanban funziona bene quando si usa Scrum o qualsiasi altro metodo Agile.

In linea di principio, kanban può essere utilizzato per visualizzare e migliorare il flusso di lavoro, indipendentemente dalla metodologia utilizzata per eseguire il lavoro. Kanban può essere configurato per abbinare i processi e i sistemi di lavoro già presenti in una squadra o in un'azienda. Dopo che il metodo di lavoro è stato adottato o sviluppato sulla base dei principi Agile, il team può iniziare a utilizzare gli strumenti Agile, come le schede kanban e gli strumenti di previsione del progetto che aiuteranno a gestire progetti e flussi di lavoro.

Tabella di comparazione per Agile Scrum e kanban.

Tabella di comparazione per Agile Scrum e kanban

Gestione del portafoglio

Gestione del portafoglio

Resta inteso che l'utente non può considerare la gestione del portafoglio da solo, ma la sua opinione dovrebbe essere presa in considerazione nel contesto di altre parti del progetto che interessa. Una strategia che semplifica la gestione del portafoglio, ad esempio, l'unico modo per finanziare i team, può creare costi eccessivi e burocrazia per i team finanziati.

Ci sono nove fattori importanti nella metodologia di gestione del portafoglio di Agile Scrum:

  1. Valori potenziali Il team di gestione del portafoglio identificherà potenziali nuove idee e prodotti di sviluppo controllando l'ambiente aziendale, scoprendo cosa stanno facendo i concorrenti ottenendo feedback dai clienti esistenti. Ciò contribuirà a garantire i loro bisogni futuri attraverso la modellazione flessibile e il brainstorming.
  2. Potenziali impegni. Il team di gestione del portafoglio investirà tempo nella comprensione delle potenziali iniziative. Potrebbero preferire un business case per questo scopo, creando ipotesi di alto livello sul potenziale di mercato o sul ritorno sull'investimento (ROI). Il team può anche prendere in considerazione approcci alternativi a questo lavoro e scegliere un focus group o un piccolo esperimento per utilizzare al meglio la metodologia Agile Scrum.
  3. Priorità potenziale. Poiché poche organizzazioni hanno budget illimitati per lavorare su un progetto, è necessario dare la priorità a potenziali iniziative e quindi investire in quelle aree che sono più importanti. Nel determinare le priorità, devono essere presi in considerazione diversi fattori, tra cui: valore aziendale, rischio aziendale e dipendenza.
  4. Gestione del budget di portafoglio. Le aziende tradizionali passano ogni anno un processo di budget che porta a costi generali e rischi significativi. Strategie più efficaci devono abbandonare i finanziamenti tradizionali e passare alla pianificazione del budget, che evolve man mano che i bisogni e le risorse si sviluppano di conseguenza.
  5. Per avviare gli sforzi è necessario un requisito di Misurazione Agile. Nuovi prodotti possono essere sviluppati dal team del prodotto o dal team di progetto. Nel caso di prodotti che sono fondamentalmente nuovi per l'organizzazione, è possibile iniziare prima un approccio di ricerca minimo, quando si testano per la prima volta il potenziale di mercato di un prodotto con una serie di esperimenti didattici.
  6. Finanziamento. Gli sforzi IT devono essere finanziati. Ciò include il finanziamento di nuovi progetti per gli sforzi iniziali, nonché i finanziamenti in corso per la costruzione, la transizione e il lavoro dopo il loro spiegamento. Inoltre, dopo l'avvio dei finanziamenti, verrà effettuato un monitoraggio regolare per garantire la spesa ragionevole.
  7. Pianificazione delle capacità IT. Il dipartimento IT deve avere le risorse, sia in termini di finanze che di persone, per svolgere i propri compiti. Devono essere specialisti con le giuste competenze per svolgere il lavoro in coordinamento con i partecipanti al progetto.
  8. Gestione dei fornitori. Un aspetto importante della gestione del portafoglio, soprattutto quando si tratta di fornitori di servizi IT che forniscono appaltatori, consulenti o servizi di sviluppo. La gestione dei fornitori include l'approvvigionamento dei contratti, l'identificazione dei potenziali fornitori, il monitoraggio dell'esecuzione del contratto e, infine, la stipula del contratto.
  9. Gestione del portafoglio IT, compresi ulteriori sviluppi e soluzioni operative.

Opzioni di gestione delle risorse flessibili

La gestione delle risorse può essere un rinforzo positivo per approcci flessibili con l'inclusione dei seguenti parametri:

  1. La frequenza della cooperazione come criterio per decidere la composizione della squadra.
  2. La posizione è un parametro altamente ponderato.
  3. L'introduzione del fattore personale da parte degli stessi dipendenti.
  4. Il grado di costanza.
  5. Pianificazione a livello di squadra orientata al rendimento.

Naturalmente, questi fattori non sostituiscono gli altri, come le qualifiche, le preferenze per la composizione interna o esterna, i costi, l'accessibilità e la pianificazione dei materiali. Questi requisiti di pianificazione delle risorse sono un problema. Se sono ben risolti, aiutano a creare le basi per il principio flessibile dei team auto-organizzanti. Aumenta anche la probabilità che soluzioni e prodotti vengano creati non solo una volta, ma costantemente, ottimizzandoli ed espandendoli.

Pertanto, il team building dinamico rafforza un altro principio flessibile, in base al quale i processi mobili contribuiscono allo sviluppo sostenibile, e il cliente, lo sviluppatore e l'utente saranno in grado di mantenere un'interazione stabile per un periodo di tempo illimitato.

Somiglianze e differenze di metodi

Ci sono molte differenze tra i metodi. La cosa principale che distingue Agile da Scrum: Agile è la filosofia, e Scrum è il processo di implementazione della filosofia. Somiglianza di metodi:

  1. Equivalente alla gestione del progetto e allo sviluppo del software.
  2. Uso ottimale delle risorse.
  3. Gestione efficace di vari compiti.
  4. Mirato a sfruttare al meglio gli utenti aziendali.
  5. Fornire la consegna del prodotto o del progetto agli utenti aziendali nel più breve tempo possibile.
  6. Enfatizzare il miglioramento continuo, la collaborazione e la comunicazione aperta.

Le differenze Agile e Scrum hanno tali:

  1. Ambito di applicazione.
  2. Planning. La metodologia flessibile prevede la regolare fornitura e l'aggiornamento del software. Sotto Scrum, il prossimo sprint è programmato dopo che il team ha completato le attività sprint attuali.
  3. Progettazione ed esecuzione. Agile sottolinea che il design e l'esecuzione sono semplici. Sotto Scrum, il design e l'esecuzione possono essere sperimentali e innovativi.
  4. Ambiente di lavoro Una metodologia flessibile è molto adatta per un ambiente stabile in cui vi è un piccolo gruppo di esperti, mentre Scrum è adatto a progetti in cui l'ambiente di lavoro è dinamico o la domanda sta cambiando rapidamente.
  5. Flessibilità. Il vantaggio chiave della metodologia Agile è la flessibilità, poiché si adatta rapidamente alle modifiche. Mentre Scrum ha un approccio e uno stile un po 'rigidi e strutturati.
  6. Cooperazione. Agile enfatizza la collaborazione, così come l'interazione diretta o la comunicazione tra i membri del team, mentre Scrum fornisce la collaborazione attraverso incontri quotidiani con ruoli ben definiti per il maestro combattente, gli utenti aziendali e vari membri del team.
  7. Comunicazione. La metodologia flessibile dà priorità alla comunicazione diretta e ai metodi correlati per raggiungere vari obiettivi. Scrum non presta troppa attenzione al messaggio diretto.
Agile e Scrum

Ora è chiaro per l'utente che Agile Scrum è lo strumento necessario per la gestione dei progetti e lo sviluppo del software. Seguono un approccio sistematico per ottenere i migliori risultati. Entrambi mirano a garantire il massimo valore per gli utenti aziendali attraverso l'uso ottimale delle risorse, enfatizzare i processi iterativi, contribuire al cambiamento, il miglioramento continuo, la collaborazione, la comunicazione aperta. Si completano a vicenda in molti modi.