Il sito contiene i migliori consigli, trucchi e soluzioni ai problemi che potresti incontrare. Segreti, trucchi di vita, storie e tutto ciò che riguarda la vita e le relazioni.

Cos’è Agile e Scrum. Cos’è Scrum? Team di Scrum

31

Definizione

Agile (sviluppo software agile) è una famiglia di approcci “agili” allo sviluppo software. Questi approcci sono talvolta indicati anche come framework o metodologie agili.

Agile è nato nell'ambiente IT, ma si è poi diffuso in altre aree, dall'ingegneria industriale all'intelligenza artificiale.

Il significato di Agile è formulato nel Manifesto dello sviluppo software Agile: “Le persone e le interazioni sono più importanti dei processi e degli strumenti. Un prodotto funzionante è più importante della documentazione completa. La collaborazione con il cliente è più importante che concordare i termini del contratto. Essere pronti per il cambiamento è più importante che seguire il piano originale “.

L'Agile Manifesto è il documento principale di tutti gli approcci allo sviluppo agile. Creato nel 2001 da un gruppo di programmatori entusiasti che volevano capire cosa c'è esattamente al centro dello sviluppo di un prodotto IT ricercato e utile, Agile parte dal presupposto che quando si implementa un progetto, non è necessario fare affidamento solo su piani dettagliati che sono stati creati in anticipo. È importante concentrarsi sulle condizioni in costante mutamento dell'ambiente esterno e interno e tenere conto del feedback di clienti e utenti. Ciò incoraggia sviluppatori e ingegneri a sperimentare e cercare nuove soluzioni senza essere vincolati da strutture e standard rigidi.

Approcci agili separati includono scrum e kanban.

Scrum è un “approccio strutturato”. Un team universale di specialisti lavora su ogni progetto, a cui si uniscono altre due persone: il product owner e lo scrum master. Il primo collega il team con il cliente e monitora lo sviluppo del progetto; questo non è un team leader formale, ma piuttosto un curatore. Il secondo aiuta il primo a organizzare il processo aziendale: tiene assemblee generali, risolve i problemi quotidiani, motiva il team e monitora il rispetto dell'approccio scrum.

L'approccio Scrum divide il flusso di lavoro in sprint uguali, di solito periodi da una settimana a un mese, a seconda del progetto e del team. Prima dello sprint, vengono formulate le attività per questo sprint, alla fine vengono discussi i risultati e il team inizia un nuovo sprint. Gli sprint sono molto convenienti da confrontare tra loro, il che consente di gestire l'efficienza del lavoro.

Kanban è un “approccio di equilibrio”. Il suo compito è bilanciare i diversi specialisti all'interno del team ed evitare una situazione in cui i designer lavorano giorno e notte e gli sviluppatori si lamentano della mancanza di nuovi compiti.

L'intero team è uno: non ci sono ruoli di product owner e scrum master in kanban. Il processo aziendale non è suddiviso in sprint universali, ma nella fase di esecuzione di attività specifiche: “Pianificato”, “Sviluppato”, “Testato”, “Completato”, ecc.

Il principale indicatore di prestazioni in kanban è il tempo medio necessario per completare un'attività su tutta la linea. Il compito è andato rapidamente: il team ha lavorato in modo efficiente e senza intoppi. L'attività è stata ritardata: devi pensare in quale fase e perché ci sono stati ritardi e di chi è necessario ottimizzare il lavoro.

Per visualizzare approcci agili, vengono utilizzate le schede: fisiche ed elettroniche. Consentono di rendere il flusso di lavoro aperto e comprensibile per tutti gli specialisti, il che è importante quando il team non ha un leader formale.

Cos'è Agile?

Agile è un approccio alla gestione del progetto o allo sviluppo del software. In Agile, i requisiti e le soluzioni evolvono attraverso l'iterazione e gli sforzi collaborativi di team interfunzionali e auto-organizzati e utenti aziendali. Agile accoglie le mutevoli esigenze, anche in una fase successiva. Clienti, partecipanti aziendali e sviluppatori lavorano insieme durante il progetto. I team agili adattano il loro comportamento per soddisfare le mutevoli esigenze del progetto.

Agile è una filosofia o orientamento (Griffin). Agile è ampiamente utilizzato come guida per avvicinarsi al lavoro di progetto. Agile enfatizza l'iterazione dello sviluppo e il test nel ciclo di vita dello sviluppo del software (SDLC). Agile scompone un intero prodotto o progetto in piccoli assemblaggi. Nella metodologia Agile, lo sviluppo o il test avvengono contemporaneamente. Agile supporta la collaborazione e la comunicazione diretta.

Cos'è Scrum?

Scrum è la base per la gestione dei progetti o lo sviluppo di software. Scrum è uno dei processi agili. Scrum si concentra sulla fornitura di valore aziendale agli utenti aziendali in un tempo minimo. I progetti sono suddivisi in sprint, che di solito durano da una a tre settimane. Scrum ha tre ruoli principali: scrum master, product owner e membri del team.

Scrum enfatizza l'auto-organizzazione e la proprietà condivisa tra i membri del team. Considera la gestione del progetto come un processo di creazione di valore condiviso; e sottolinea la collaborazione e lo sviluppo iterativo per gestire efficacemente il cambiamento e creare prodotti migliori per soddisfare le esigenze dei clienti. Scrum vede il tempo come un vincolo. Sottolinea il tempo di boxe e utilizza la pianificazione dello sprint quotidiano e le riunioni di revisione.

Somiglianze tra Agile e Scrum:

Agile e scrum sono entrambi correlati alla gestione del progetto e allo sviluppo del software. Poiché Scrum è uno dei modi per implementare Agile, entrambi hanno diverse somiglianze. Entrambi sottolineano l'uso ottimale delle risorse. Entrambi sottolineano la gestione efficiente ed efficace di vari compiti.

Agile e scrum, entrambi mirano a ottenere il massimo dagli utenti aziendali. Cercano di garantire che un prodotto o un progetto venga consegnato agli utenti aziendali il prima possibile. Entrambi enfatizzano il miglioramento continuo, la collaborazione, la comunicazione aperta, ecc.

La natura di Agile e Scrum:

Agile è una metodologia di sviluppo basata su un approccio incrementale e iterativo; mentre Scrum è uno dei tanti schemi di implementazione o processi Agile.

Scrum fornisce moduli incrementali al cliente ogni settimana o quindici giorni.

Esempi di utilizzo

Uno dei principi di Agile si basa sulla responsabilità personale di una persona e non sul debug dei processi interni.

(Da un articolo su VC.ru)

Quando lavoriamo con team professionisti usiamo Scrum, molto spesso scegliamo un ciclo di 2-3 settimane con riunioni retrospettive che ci consentono di tenere tutto sotto controllo.

(Da un'intervista a Vedomosti con Frank Sosier, coach di Freestanding Agility)

L'idea principale di Kanban è la visualizzazione del flusso di lavoro. Consiste nel creare una dashboard fisica su cui puoi segnare visivamente i tuoi progressi.

(Dalla traduzione della colonna di Forbes su Rusbase)

Se parliamo di cosa sia l'agile, mi limiterò a una frase del genere: è un insieme di valori nel cui quadro costruiamo il nostro lavoro con i prodotti, con i processi all'interno dell'organizzazione.

(Alexey Pimenov, Managing Partner di ScrumTrek in un articolo su Rusbase)

Come e perché è apparsa la metodologia Scrum

Prima dell'avvento di Scrum, l'approccio a cascata era adottato nel mondo dello sviluppo del software. Il lavoro sul prodotto è stato eseguito secondo il seguente piano.

  1. Definisci i requisiti del prodotto.
  2. Pianifica l'intero progetto dall'inizio alla fine.
  3. Scrivi il codice.
  4. Prova il prodotto.

Gli sviluppatori hanno coordinato il piano di lavoro con il cliente e hanno seguito scrupolosamente i termini di riferimento. Quando il prodotto era pronto, veniva testato, ma non c'era modo di cambiare nulla. Pertanto, se venivano rilevati errori, dovevano ricominciare tutto da capo e il tempo di lavoro aumentava.

Questo fino a quando un gruppo di innovatori ha deciso di cambiare completamente la situazione. Hanno osservato come lavorano i team di successo: senza perdere scadenze e ottenere esattamente il risultato che avevano pianificato. Si è scoperto che il successo stava nella flessibilità del processo.

Le lezioni apprese hanno contribuito a creare l'Agile Software Development Manifesto. Comprendeva solo quattro punti, ma hanno completamente cambiato il processo.

Manifesto di sviluppo software agile

1 Le persone sono più importanti degli strumenti.
2 La qualità del prodotto è più importante della documentazione.
3 L'interazione con il cliente è più importante del contratto.
4 La disponibilità al cambiamento è più importante di un piano prestabilito.

Questi quattro punti sono stati la base per l'emergere di Agile, un processo di sviluppo software agile. Successivamente, sono stati creati 12 principi, che sono ancora utilizzati in qualsiasi metodologia agile.

12 principi agili

1 La cosa principale è un buon software e un cliente soddisfatto.
2 Disponibilità al cambiamento in qualsiasi momento.
3 Software completamente funzionante, il più spesso possibile.
4 La riunione del team è l'ideale per lo scambio di informazioni.
5 Il cliente e il team di sviluppo devono lavorare insieme.
6 Fidati delle persone per fare il loro lavoro.
7 C'è un software funzionante – c'è progresso.
8 Processi agili – sviluppo continuo.
9 L'attenzione alla qualità favorisce la flessibilità.
10 La semplicità del processo elimina il lavoro non necessario.
11 Un team che si auto-organizza funziona meglio.
12 Ricerca continua di una maggiore efficienza.

Agile e cascata, scale

Una delle metodologie di sviluppo software agile basate su principi agili è Scrum.

I creatori di Scrum Jeff Sutherland e Ken Schwaber hanno osservato per molti anni il lavoro delle forze armate americane, delle forze speciali e persino dei giocatori di rugby. E hanno notato che il loro successo si basa sull'interazione e sul lavoro di squadra. Sutherland e Schwaber si sono resi conto che questo era esattamente ciò di cui avevano bisogno gli sviluppatori di software. Ecco come è apparsa la metodologia Scrum.

Principi fondamentali di Scrum

Scrum si concentra sempre sul cliente che ha bisogno di ottenere il prodotto desiderato in tempo e al minor costo. Ciò può essere ottenuto seguendo alcuni principi essenziali.

Lavorare in cicli brevi (sprint)

Pianifica uno sprint, non l'intero progetto in una volta. Ogni sprint è un periodo di tempo durante il quale il team lavora su un pezzo del prodotto completamente finito.

Flessibilità. “Controlla e adatta”

Flessibilità del processo e test del prodotto dopo ogni sprint. Se qualcosa va storto, il team è sempre pronto a cambiare la strategia di sviluppo o rivedere il backlog Backlog Un elenco ordinato di attività su cui il team di Scrum sta lavorando durante la creazione di un prodotto.

Partecipazione del cliente e degli utenti alla creazione del prodotto.

Il cliente non si fa da parte, ma è pienamente coinvolto nel lavoro. Per questo, c'è il ruolo del proprietario del prodotto, che viene svolto dal cliente stesso o da un suo rappresentante. È attraverso di lui che il team interagisce con gli utenti. Poiché lo sviluppo viene eseguito in fasi brevi, gli utenti vengono coinvolti nei test quasi immediatamente.

Dopo il test iniziale, hanno accesso al prodotto e il proprietario del prodotto raccoglie il feedback. È così che la squadra può migliorare il risultato.

Interazione di squadra

Uno Scrum team è un gruppo di persone che lavorano per un risultato e nel suo insieme. Tutti lottano per un obiettivo comune.

L'importanza del team di mischia

Un team di mischia è spesso un gruppo di cinque o nove persone. Questo è il numero ottimale, ma a volte ci sono squadre di tre. Se ci sono più persone, diventa più difficile per loro interagire tra loro, il che interferisce con il lavoro e riduce la produttività.

Struttura dei comandi

  • Proprietario del prodotto. La persona che rappresenta il prodotto ed è l'intermediario tra il cliente, gli utenti e il team di sviluppo. A volte può essere il cliente stesso.

  • Maestro di mischia. Molto spesso – un dipendente appositamente assunto che guida la squadra al risultato. Non gestisce il team, ma sovrintende all'implementazione dei principi di base di Scrum. Il suo compito non è fare pressione, non fare tutto il lavoro da solo e non distribuire le responsabilità, ma aiutare, dirigere e risolvere i problemi che ostacolano il processo di sviluppo.

  • Sviluppatori. Un team di mischia ha sempre persone con diversi set di abilità. Quindi, un team di cinque o nove persone guida l'intero progetto dall'inizio alla fine. Una squadra, un prodotto finito.

Che aspetto ha una squadra di mischia

Distribuzione dei ruoli

Scrum funziona quando c'è una distribuzione dei ruoli. Ce ne sono tre.

Squadra. Questo è un gruppo auto-organizzato di 3-9 persone. Il contributo di un singolo dipendente non viene valutato. È importante solo quale risultato il team ha ottenuto grazie agli sforzi congiunti.

Proprietario del prodotto. Di solito è un imprenditore che conosce la sua attività e comprende le esigenze dei clienti. Ha abbastanza esperienza per sapere quale dovrebbe essere il prodotto finito. Il Product Owner è l'anello di congiunzione tra il team, il consumatore e la produzione. Lavora con feedback, prende decisioni importanti e monitora il budget del progetto. Il product owner non dice al team quale strada prendere, ma guarda solo il risultato.

Scrum Master o Team Leader. Lo Scrum Master è responsabile del successo del team. Non prende decisioni e non guida. Il suo compito è far lavorare la squadra senza leva manageriale. Lo Scrum Master è il collante che tiene insieme il team.

Strumenti di Scrum

Scrum è una tecnica di pianificazione flessibile adatta a qualsiasi progetto. Con il suo aiuto, puoi aumentare la produttività dell'azienda e ottenere risultati migliori. Ad esempio, il team dedicava un mese a un'attività e mezzo mese ai miglioramenti. Ora lo stesso compito richiederà 2 settimane e molto probabilmente non ci saranno miglioramenti.

Istruzioni: come usare Scrum per lavorare come Ajail

Scrum è più semplice di altri framework. Fornisce gli strumenti e suggerisce in quale sequenza utilizzarli per ottenere il risultato.

Scrum suggerisce di fare questo:

  1. Per pompare la base teorica: leggi libri sull'argomento e guarda le lezioni video. Le registrazioni delle conferenze Agiledays sono disponibili su YouTube sul canale. Nella comunità, i follower di Scrum condividono le loro esperienze: puoi imparare da loro.
  2. Seleziona un proprietario del prodotto. Questa è la persona che presenta in dettaglio il prodotto finito. Valuterà anche rischi, benefici e prenderà decisioni strategiche.
  3. Assembla una squadra di 3-9 persone. Il team deve avere persone che abbiano conoscenze e capacità sufficienti per lavorare al progetto.
  4. Nomina uno Scrum Master o assumi un professionista da un'agenzia di consulenza.
  5. Invita il proprietario del prodotto a scrivere un backlog e lascia che il team lo valuti. È fantastico se il team lo valuterà non in ore, ma in unità relative.
  6. Pianifica uno sprint. Deve avere una durata fissa e un elenco preciso di compiti non estendibili.
  7. Rendi il lavoro trasparente. Ogni membro del team dovrebbe vedere quali attività sono già state risolte e su quali è ancora necessario lavorare. Per fare questo, hai bisogno di strumenti: una lavagna di mischia o un diagramma di burnout.
  8. Condurre riunioni quotidiane a livello di team è uno Scrum quotidiano. Durante le riunioni, i membri del team controllano i risultati reciproci, guardano in quale fase si trova il progetto e decidono come passare all'obiettivo. L'incontro dura 15 minuti. Se ci vuole più tempo, il team e lo Scrum Master stanno facendo qualcosa di sbagliato.
  9. Termina lo sprint con una recensione. Sprint review: un incontro a cui partecipano qualsiasi persona interessata: consumatore, cliente, proprietario del prodotto, scrum master. Alla riunione, il team mostra il prodotto finito o parte di esso. Non importa quale sarà, l'importante è che adempia alla sua funzione.
  10. Condurre una riunione retrospettiva immediatamente dopo la revisione dello sprint. Quando il team ha mostrato un prodotto funzionante, tutti si siedono al tavolo e analizzano lo sprint. Cosa è andato bene? Cosa può essere migliorato? Quali ostacoli ha superato la squadra? Alla fine dell'incontro, lo Scrum Master e il team dovrebbero pensare a come rendere il prossimo sprint ancora migliore.
  11. Pianifica subito un nuovo sprint!

A chi è rivolto Agile?

Agile sta cambiando il modo in cui affrontiamo la vita e l'imprenditorialità. Ti insegna a rispondere rapidamente alle circostanze e ad adattarti ad esse.

Agile funziona ovunque: nella gestione, nel commercio, nei servizi. Qualcuno lo usa per gestire la propria vita e stare al passo con tutto.

Ma nessuno può garantire che aiuterà una determinata azienda. Se l'azienda è piccola, è più facile far cambiare idea alle persone. È più difficile per le grandi aziende: quando ci sono più reparti e ognuno ha il proprio leader, l'implementazione di Agile può essere ritardata. La squadra resisterà al cambiamento. Per renderlo più facile, tali aziende invitano coach Agile.

Agile non è adatto a chi da molti anni di seguito realizza un prodotto tipico. È più redditizio per tali aziende realizzare mille sedie identiche alla volta: ci saranno ancora ordini. Ma non appena un cliente si presenta con desideri speciali, hai bisogno esattamente della stessa sedia, ma lascia che le gambe siano più larghe e il rivestimento sia più luminoso: è necessario Agile.

Una parola agli esperti

A seconda dei compiti, applichiamo diversi metodi all'interno della filosofia: agile, scrum, kanban.

Scrum ti consente di sviluppare le qualità necessarie nei dipendenti: proattività, indipendenza, organizzazione, capacità di comunicazione e lungimiranza. Il punto principale del metodo è svolgere compiti in team che si auto-organizzano, dove ognuno ha il proprio ruolo e ognuno è responsabile della propria parte di lavoro. Utilizzando Scrum, conduciamo sondaggi sul personale, elaboriamo grafici sulla velocità prevista per il completamento delle attività.

Usiamo Agile nelle comunicazioni interne. Recentemente abbiamo tenuto un altro sprint per eliminare il ritardo dei dipendenti. Tutti i capi e gli specialisti coinvolti nel progetto hanno trascorso l'intera giornata in riunione, discutendo i risultati, le sfide e le attività imminenti nel nuovo sprint.

Ora stiamo introducendo attivamente il metodo kanban in azienda. L'obiettivo dell'implementazione del kanban è aumentare la flessibilità della produzione, adattandosi meglio alle mutevoli richieste del mercato. In pratica, il metodo ci ha aiutato a ottenere una corrispondenza tra lo stock di magazzino ei prodotti effettivamente utilizzati nella produzione.

Un punto importante: la metodologia agile è una direzione generale e kanban e scrum sono già le sue varietà.

Usiamo il bundle scrum + waterfall e abbiamo anche perfezionato la tavola agile stessa durante l'anno. Principale motivo di utilizzo: trasparenza e semplicità. In realtà, questa risulta essere la stessa pipeline di Henry Ford: il passaggio di un'attività dallo stato allo stato con un cambio di esecutore, quindi, il principio principale della stessa scheda agile è già la semplicità.

Usiamo l'agile come parte diretta del nostro flusso di lavoro, quindi tutti i progetti, dallo sviluppo del marchio e del sito Web alla nostra startup AI e native advertising NativeOS, vengono eseguiti a Chernika esattamente secondo questo flusso di lavoro.

Un prodotto funzionante è più importante della documentazione dettagliata. Ciò non significa che non conserviamo alcuna documentazione, no. È piuttosto uno sguardo verso l'efficienza con un colpo alla burocrazia inutile.

Scrum ha portato ritmo e comprensione al nostro team, sia che siamo puntuali o meno. Vediamo la velocità del lavoro della squadra, non c'è la sensazione di scopare costantemente. In precedenza, c'erano situazioni in cui prima dei rilasci hard scrum scompariva da qualche parte e tutti cominciavano a capirlo – ora che l'abbiamo perso, c'è la costante sensazione che siamo puntuali. Se sorgono rischi, ne discutiamo con PD sin dall'inizio, adattiamo il piano o riduciamo in qualche modo l'ambito delle attività.

Il lavoro è diventato più trasparente, la giornata lavorativa ha iniziato a rientrare nella norma delle 8 ore e sembrava che avessimo iniziato a fare di più. Comprendiamo che quando hai la sensazione di non fare abbastanza, senti che devi lavorare di più – questo ha un effetto molto negativo sulla produttività, devi liberartene.

Per chiarezza e apertura del lavoro del dipartimento di sviluppo, abbiamo messo su una scheda speciale contrassegnata “da fare”, “in corso”, “revisione”, “test”, “fatto”, dove tutti i membri del team attaccano adesivi con le attività (nella colonna “da fare”), e una volta completati, vengono spostati ai punti successivi e un lieto fine è il finale “fatto”. Questo aiuta a ottenere il quadro generale e rende possibile vedere cosa è ogni partecipante lavorando su.

Un punto molto importante del metodo (e dell'organizzazione del flusso di lavoro): dopo l'approvazione di tutte le attività (“da fare”), l'elenco viene bloccato per l'inserimento. Pertanto, le nuove attività in arrivo non distraggono dal processo e non rallentano il lavoro.

Tutti i partecipanti valutano inoltre ogni attività in termini di tempo e costi materiali che saranno richiesti per il completamento. E la ciliegina sulla torta sono le riunioni quotidiane in un determinato momento (Daily Scrum), in cui ogni membro del team parla brevemente di cosa farà oggi, cosa ha fatto ieri (e se ha affrontato degli ostacoli). Questo è importante per raggiungere obiettivi a lungo termine: è così che puoi capire in tempo che è ora di cambiare la tua strategia.

Abbiamo implementato Scrum su due tentativi perché tutti, dal team agli utenti, vogliono un risultato più prevedibile. Questo è un vantaggio della metodologia: ritmi chiari snelliscono il team, aumentano il livello generale di conoscenza del progetto. Di conseguenza, il risultato diventa più prevedibile, anche per i nostri “stakeholder”: gli utenti.

Il lavoro di squadra aumenta anche la responsabilità: tutti ricevono un bonus solo se la squadra ha completato i compiti fissati in una determinata fase.

Inga Koryagina
Agile è una filosofia, scrum è una struttura, waterfall è un metodo, kanban è un sistema di gestione. Scrum e kanban sono opzioni agili, ma presentano alcune chiare differenze. Scrum richiede ruoli fissi, mentre a kanban mancano i ruoli richiesti. Scrum si basa su iterazioni che combinano pianificazione, ottimizzazione dei processi e rilascio. In kanban, puoi farlo regolarmente o ogni volta che ne hai bisogno. Il team di mischia richiede una valutazione del proprio lavoro, mentre il team kanban non lo fa.

Fonti utilizzate e link utili sull'argomento: https://rb.ru/story/agile-scrum-kanban/ https://ru.esdifferent.com/difference-between-agile-and-scrum https: // skillbox. ru / media / management / kak_ponyat_scrum / https://allo.tochka.com/agile-scrum

Fonte di registrazione: lastici.ru

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More