Seleziona una pagina
agile project management

Quando nasce la Metodologia Agile Project Management?

 

La gestione agile dei progetti è stata sviluppata nel 2001. Un piccolo gruppo di persone, stanche dell’approccio tradizionale alla gestione dei progetti di sviluppo software, ha progettato il Manifesto Agile. Si tratta di metodo migliorato per gestire l’avanzamento dei progetti software.

 

Cos’è l’agile nell’ “agile project management”?

 

Agile nell’ “agile project management” è una metodologia di sviluppo iterativo che valorizza il feedback umano e la comunicazione, adattandosi al cambiamento e producendo risultati lavorabili.

In altre parole è un processo in cui un team può gestire un progetto, suddividendolo in diverse fasi.

Queste fasi sono anche chiamate sprint, il termine usato per indicare un’iterazione in un popolare metodo di sviluppo agile di gestione progetti noto come Scrum. Gli sprint sono brevi, durano giorni o settimane, ma in genere sono lunghi da due a quattro settimane

Questo tipo di gestione agile del progetto permette ai team di rilasciare segmenti man mano che vengono completati. Il programma di rilascio continuo permette ai team di verificare che questi segmenti siano ben fatti e, in caso contrario, correggere rapidamente i difetti. Questo processo aiuta a ridurre la possibilità di fallimento su larga scala, perché si assiste ad un controllo e ad un miglioramento continuo durante tutto il ciclo di vita del progetto.

 

Perché Scrum è importante?

 

L’importanza di Scrum deriva dalla sua filosofia di base – aiutare i team di sviluppo software a lavorare insieme in modo efficace. Grazie anche a Scrum i team sono in grado di fornire risultati rapidi e di alta qualità mentre si adattano alle circostanze in evoluzione, ai feedback e alle richieste degli utenti.

Scrum incoraggia i team di sviluppo ad imparare attraverso le loro esperienze, ad auto-organizzarsi per risolvere un problema, a riflettere sulle vittorie e sulle perdite e, di conseguenza, a puntare al raggiungimento del miglioramento continuo.

 

Differenza tra Scrum e la gestione di progetti Agile

 

La metodologia Scrum è un quadro di flussi di lavoro fatto di sprint e revisioni usato per promuovere la gestione agile dei progetti.

C’è anzitutto bisogno di sapere che la gestione progetti agile è un approccio e una mentalità. Non è un elenco di istruzioni o una certificazione. Infatti, cercare di trasformare l’agile project management in un modello schematico nero su bianco va contro tutto ciò che è la metodologia in se stessa. È tutta una questione di comunicazione efficiente piuttosto che di documentazione, catene di email difficili da leggere o riunioni eccessivamente lunghe.

 

Come funziona Scrum?

 

Scrum inizia dalla fine: i clienti descrivono come sarà usato e quale problema risolverà il prodotto finale. Il primo obiettivo è quello di creare qualcosa chiamato backlog, dove tutti i compiti e le storie vengono memorizzati. Queste storie e questi compiti verranno immessi nel backlog dallo Scrum Master in collaborazione con i product owner e gli stakeholder. Poi i membri del team riceveranno la backlog list e decideranno in modo collaborativo quale persona dovrà lavorare su quale compito, perché la gestione del progetto agile divide la responsabilità tra diversi membri del team. 

Una volta che il lavoro inizia, i team passano attraverso un processo di pianificazione, esecuzione e valutazione che potrebbe andare a modificare anche la data di consegna finale, per adattarsi meglio alle esigenze del cliente. La chiave principale è la collaborazione continua, sia tra i membri del team che tra le parti interessate al progetto, per prendere decisioni pienamente informate.

 

sprint scrum gestione progetti agile

 

Agile Project Management: l’Organizzazione dei Ruoli

 

C’è bisogno di un team cooperativo di persone per completare con successo un progetto. 

I ruoli nell’organizzazione agile di un progetto non sono mai precostituiti. La gerarchia all’interno del metodo agile si basa sulla competenza, non sull’autorità. La performance del team non è indirizzata alla compiacenza del capo, ma alla possibilità di aggiungere valore per il cliente finale. 

L’organizzazione agile usa dunque un approccio dinamico e interattivo di comunicazione orizzontale e verticale. Le idee possono arrivare da qualsiasi parte, da qualsiasi persona, in qualsiasi posizione si trovi, compresi i clienti con i loro feedback.

 

→ Qui puoi approfondire sul metodo Scrum

 

Il valore per il cliente e la gestione progetti agile

 

La metodologia agile si basa su una rete di relazioni che cresce continuamente, imparando e adattandosi al flusso costante. Una rete che sfrutta le opportunità che si vengono a presentare lungo il cammino per fornire nuovo valore al cliente finale, e allo stesso tempo ottimizzare modi e tempi di organizzazione del lavoro in azienda. Tutto ciò, quando viene fatto bene, alla fine si traduce in un maggiore ritorno per l’azienda.

Il metodo agile distingue chiaramente le differenze tra exploitation (sfruttamento) ed exploration (esplorazione). In un’organizzazione agile, tutti i membri esplorano, vanno costantemente alla scoperta di possibilità attraverso cui aggiungere più valore per il cliente.

Durante i primi anni dell’Agile Management, i critici pensavano che sarebbe stato un fiasco, perché i piccoli team non avrebbero mai potuto gestire problematiche grandi e complesse.

 

Team Agili

 

Ma i team agili sono composti da diverse persone e comprendono i seguenti 5 ruoli:

 

Product Owner

Il product owner è una figura chiave, la persona responsabile di colmare il divario tra il cliente, i business stakeholder e il team di sviluppo. Il product owner (proprietario del prodotto) è esperto del prodotto, così come delle necessità e delle priorità che riguardano il cliente finale. Il product owner lavora quotidianamente con il team di sviluppo per aiutare a far emergere quelle features richieste in merito al prodotto, proteggendone i requisiti in termini di business. Il product owner è a volte chiamato anche ‘il rappresentante del cliente’. In ogni organizzazione funzionante e collaudata, in ogni modo il product owner dovrebbe avere un mandato decisivo, potendo prendere decisioni commerciali strategiche giorno dopo giorno.

 

I membri del Team di Sviluppo

Il team di sviluppo è composto da persone che si occupano di creare il prodotto. All’interno del team di sviluppo ci sono sviluppatori software, programmatori, tester, designer, UX copywriter, data engineer (ingegneri esperti di analisi dati) e ogni altra figura che abbia un ruolo attivo nello sviluppo del prodotto. Cambiando la tipologia di prodotto, cambiano i membri del team di sviluppo.

L’aspetto essenziale è che i membri del team di sviluppo siano versatili, in grado di contribuire da più parti al raggiungimento degli obiettivi di progetto. 

 

Scrum Master

Lo Scrum Master è la figura responsabile del supporto diretto al team di sviluppo. Colui che si occupa di eliminare tutti quei blocchi e quegli stalli a livello organizzativo, in modo da mantenere coerenza nell’organizzazione agile del processo. Per questa ragione lo scrum master viene anche chiamato il ‘facilitatore di progetto‘. Le figure più adatte a ricoprire il ruolo di scrum master sono leader capaci di servire, e risultano più efficaci quando hanno un peso a livello organizzativo, cioè la capacità di influenzare il cambiamento interno all’organizzazione senza per forza di cose dover rivestire un’autorità formale.

 

Stakeholder

Stakeholder è chiunque abbia un interesse concreto nel progetto. Gli stakeholders non sono veri e propri responsabili di prodotto, ma sono in grado di fornire input in ingresso e sono influenzati dagli output, dai risultati del progetto. La composizione del gruppo degli stakeholder è variegata e può includere persone afferenti a diversi reparti, o anche provenienti da diverse aziende. 

Perché un progetto di agile management abbia successo, gli stakeholder devono essere coinvolti, fornendo regolarmente feedback e supporto al team di sviluppo e al product owner.

 

Agile Mentor

Il mentor è colui che ha esperienza nell’implementazione del metodo agile project management e può condividere la sua esperienza con un team di progetto. Il mentor agile è una figura chiave: dà feedback e consigli preziosi ai team di progetto appena costituiti ed a quei team di progetto che aspirano a raggiungere un livello più alto di collaborazione. 

Anche se gli agile mentor non sono responsabili della fase esecutiva di sviluppo prodotto, a loro si richiede competenza pratica nell’applicazione del metodo e dunque conoscenza diretta di differenti approcci e tecniche di organizzazione agile.

 

Cos’è un product backlog?

 

Un product backlog è una lista prioritaria di lavoro destinata al team di sviluppo. Una lista che deriva dalla roadmap e dai suoi requisiti. Gli elementi più importanti vengono mostrati in cima al product backlog in modo che il team sappia subito cosa va consegnato per primo. Il team di sviluppo non lavora attraverso il backlog al passo impostato dal product owner e il product owner non spinge il lavoro del team di sviluppo in alcuna direzione.

Il backlog serve come collegamento tra il product owner e il team di sviluppo. Il product owner è libero di ridefinire le priorità di lavoro nel backlog in qualsiasi momento sulla base dei feedback in arrivo dai clienti, della rifinitura delle stime e dei nuovi requisiti. Una volta che il lavoro è in corso però, è necessario limitare al minimo i cambiamenti perché disturbano il team di sviluppo e influenzano la concentrazione, il flusso e il morale.

 

Cosa sono gli sprint?

 

Uno sprint è un breve periodo di tempo in cui un team scrum lavora per completare un certo quantitativo di lavoro. Lo sprint è il cuore delle metodologie di scrum e di agile project management, e fare bene gli sprint significa aiutare il team di agile project management a rilasciare prodotti migliori.

Molti associano gli sprint di scrum allo sviluppo agile di software, tanto che spesso si pensa che scrum e agile siano la stessa cosa. Ma non lo sono. La gestione agile dei progetti è un insieme di principi e Scrum è un framework.

Sono le molte somiglianze tra i valori del metodo agile project management e i processi di scrum che ci conducono a questa associazione. Gli sprint aiutano i team a seguire il principio base dell’agile project management: “consegnare frequentemente software funzionante“, così come a vivere attraverso il valore base dell’agile management: “rispondere al cambiamento piuttosto che seguire un piano“. I valori scrum sono trasparenza, ispezione e adattamento, complementari alla gestione progetti agile e centrali nel concetto di sprint.

 

Pianificazione dello sprint

 

La pianificazione dello sprint è un evento all’interno di Scrum che dà il via allo sprint. Lo scopo della pianificazione dello sprint è definire cosa potrà essere consegnato nello sprint e in che modo questo lavoro sarà realizzato. La pianificazione dello sprint è fatta in collaborazione con tutto il team scrum.

 

Il Cosa

Il product owner descrive l’obiettivo dello sprint e quali elementi del backlog contribuiscono a questo obiettivo. Lo scrum team decide cosa sarà fatto durante lo sprint e cosa nello sprint successivo e in che modo farlo accadere.

 

Il Come

Il team di sviluppo è chiamato a pianificare il lavoro necessario per raggiungere l’obiettivo dello sprint. In definitiva, il piano di sprint che ne risulta è una negoziazione tra il team di sviluppo e il product owner basata sul valore e sullo sforzo.

 

Il Chi

La pianificazione dello sprint non può essere fatta senza il product owner o il team di sviluppo. Il product owner definisce l’obiettivo in base al valore che sta cercando. Il team di sviluppo ha bisogno di capire come è possibile o non è possibile raggiungere quell’obiettivo. Se uno di questi due soggetti manca da questo evento, la pianificazione dello sprint diventa quasi impossibile.

 

Gli input

Un ottimo punto di partenza per pianificare lo sprint è il product backlog, che fornisce una lista di “cose” che potrebbero essere incluse nello sprint corrente. Il team deve conoscere in ogni momento quanto lavoro è stato fatto, quale è l’incremento attuale e avere una visione della capacità produttiva di gruppo.

 

I Risultati

Il risultato più importante legato alla riunione di pianificazione dello sprint riguarda il fatto che il team può descrivere e aver ben chiaro l’obiettivo dello sprint e come inizierà a lavorare verso quell’obiettivo. Tutto ciò si rende visibile nello sprint backlog.

 

Cos’è uno stand-up?

 

Per i team di sviluppo software, lo stand-up è il team huddle. È anche comunemente noto come daily scrum, e rafforza il “noi” per mantenere tutti consapevoli della situazione e dei progressi fatti dal team.

In parole semplici, uno stand-up è una riunione quotidiana dove i partecipanti stanno in piedi. Una riunione che coinvolge il core team: i product owner, gli sviluppatori e lo scrum master. 

Ecco alcune delle domande che vengono più frequentemente poste in una riunione stand-up:

  • La prima domanda è: su cosa ho lavorato ieri?
  • La seconda domanda è: su cosa sto lavorando oggi?
  • La terza domanda è: quali problemi mi bloccano?

Queste domande evidenziano i progressi e aiutano a segnalare i passaggi fermi, i blocchi che coinvolgono la squadra. Inoltre, lo stand-up amalgama lo spirito di squadra nel momento in cui tutti condividono i progressi che stanno contribuendo al successo del team.

 

Cos’è la retrospective?

 

Per vivere al meglio i valori della gestione progetti agile, i team dovrebbero incontrarsi regolarmente per fare check in e apportare aggiustamenti lungo la rotta. Molti team di sviluppo software applicano questo principio tenendo regolarmente riunioni retrospettive. Di recente inoltre il concetto di retrospectives si è fatto strada al di fuori dei team di sviluppo, in tutti gli ambiti del business e del team working.

Molti dei concetti fondamentali nella gestione progetti agile escono rafforzati dalle riunioni retrospettive.

 

Test automatizzati

 

L’implementazione di test automatici formali e approfonditi è una parte vitale del processo agile. I test trovano ed eliminano i difetti alla loro fonte per assicurare che venga consegnato al cliente un pacchetto software funzionante. Gli sviluppatori possono creare il codice di test sotto una rete di sicurezza usando una varietà di framework disponibili mentre sviluppano simultaneamente il codice del software. Questo metodo protegge altre caratteristiche mentre si apportano modifiche al software. È anche un modo più veloce ed efficiente per trovare i bug nel software.

 

Costruzioni automatizzate

 

Un principio chiave per le metodologie gestione progetti agile è di poter contare su software funzionante in ogni momento. In pratica, l’unico modo per farlo è assicurarsi che tutte le fasi di sviluppo software siano regolarmente e automaticamente compilate, costruite, distribuite e testate. Quest’operazione di solito viene fatta molte volte al giorno e ogni volta che uno sviluppatore fa il “check” del codice come parte del ramo principale di sviluppo.

 

I 12 principi della metodologia agile project management

 

  1. Soddisfare il cliente portando continuamente al suo capezzale software di valore.
  2. I cambiamenti di ambiente vengono abbracciati in ogni fase del processo per fornire al cliente un vantaggio competitivo.
  3. Consegnare frequentemente software pienamente operativo.
  4. Gli stakeholder e gli sviluppatori collaborano strettamente su base quotidiana.
  5. Tutti gli stakeholder e i membri del team rimangono allineati sui risultati migliori del progetto.
  6. Fare conversazione faccia a faccia quando possibile.
  7. Il software funzionante è la misura principale del progresso in fase di sviluppo.
  8. Mantenere un ritmo costante a tempo indeterminato.
  9. Prestare costante attenzione all’eccellenza tecnica e al buon design.
  10. La semplicità è un elemento essenziale.
  11. I team auto-organizzati hanno maggiori probabilità di sviluppare migliori architetture e design, nonché di soddisfare i requisiti.
  12. Gli intervalli regolari vengono utilizzati dai team per migliorare l’efficienza complessiva attraverso comportamenti di fine-tuning.

 

pm agile gestione progetto

Come adottare la metodologia agile project management

 

Questo metodo è stato progettato originariamente per l’industria del software, ma molte industrie ora fanno affidamento sulla gestione progetti agile quando sviluppano prodotti e servizi. Tutto ciò a causa della natura altamente collaborativa e più efficiente offerta dalla metodologia agile project management. La seguente tabella mostra i tassi di adozione della metodologia di project management agile in una varietà di industrie leader.

 

Il Tasso di Adozione del metodo agile per industria

 

Industria/ Tasso di adozione

  • Software 25%
  • Servizi finanziari 16%
  • Servizi professionali 11%
  • Assicurazioni 6%
  • Assistenza sanitaria 6%
  • Governo 5%
  • Telecomunicazioni 4%
  • Trasporti 4%
  • Produzione 4%

 

Esempi di gestione progetti agile

 

Sulla gestione progetti Agile sono stati scritti libri – questa metodologia potrebbe essere vista da 100 angolazioni diverse ed essere declinata per raggiungere gli obiettivi di decine e decine di industrie diverse. Quindi, ecco alcuni esempi di Agile project management nel mondo reale.

 

Calcio

Un allenatore di Serie A deve essere un project manager agile per avere successo.

Ogni stagione è un grande progetto composto da 38 partite di campionato (più le coppe), e ogni partita è un’iterazione di quel progetto. Immaginate se un allenatore di calcio mettesse gli stessi giocatori nelle stesse posizioni, scendendo in campo nello stesso modo, con la solita formazione in tutte partite nonostante gli infortuni, le scarse prestazioni o le sconfitte. Quel manager probabilmente non avrebbe molto successo. Infatti, il metodo agile project management lo si ritrova in tutto il calcio. Si fanno riunioni Scrum a bordo campo sul tipo di gioco, le marcature, la strategia, alla ricerca di un risultato concreto in continuo miglioramento (vittoria o perdita) alla fine di ogni iterazione (partita).

 

I Genius Bar della Apple

Il Genius Bar di Apple è un grande esempio di gestione Agile dei progetti in azione nel mondo reale. Quando entri con il tuo iPhone o iPad danneggiato, non devi compilare un mucchio di moduli o aspettare in una serie di file. Ciò che colloca il Genius Bar all’interno del processo di gestione agile del progetto è l’attenzione alla comunicazione. Il collaboratore con cui hai a che fare ti fa domande e prende appunti. In altre parole: “individui e interazioni piuttosto che processi e strumenti”.

 

Philips

Philips è un’altra azienda che ha adottato i principi di gestione agile dei progetti. Dopo numerosi cambiamenti nella struttura di gestione, l’azienda ha introdotto diversi scrum master che sono andati ad implementare i principi Scrum come le schede Scrum e la scomposizione dei team in team più piccoli.

Grazie a cambiamenti come questo, i team hanno potuto reagire alle situazioni problematiche più rapidamente, la burocrazia è stata rimossa, e alla fine è stato più facile per questi team più piccoli assumersi la responsabilità dei loro rispettivi prodotti.

 

BBVA

BBVA ha iniziato a passare alle pratiche Agile in Spagna. Visto il successo dell’implementazione di Agile in Spagna, BBVA ha deciso di portare la metodologia agile project management in altri paesi come gli Stati Uniti.

Un progetto in cui i principi agili sono stati implementati era un’applicazione che i consumatori potevano usare, chiamata BVA Wallet. L’applicazione permette ai consumatori di gestire le loro carte di pagamento. Il capo del business development team dell’azienda ha continuato a dire che: “Con la metodologia agile, abbiamo potuto sviluppare e avere molto rapidamente nuove versioni” E che grazie ad Agile, BBVA è “uscita con un sacco di altre funzionalità come la capacità di bloccare e sbloccare le carte, la capacità di acquisire una nuova carta o cancellare una carta e la capacità di convertire un pagamento con carta in rate”.

BBVA sta realizzando alcuni dei grandi benefici di Agile Developments che può portare un progetto come la consegna prevedibile e rapida del software, riducendo così il tempo di commercializzazione dei loro nuovi prodotti e servizi.

La risposta è semplice alla domanda perché tutte queste aziende usano Agile? è per migliorare i loro processi di business!

 

I benefici di agile

 

La gestione agile dei progetti è stata originariamente sviluppata per l’industria del software, per snellire e migliorare il processo di sviluppo nel tentativo di identificare e correggere rapidamente criticità e bug.

Agile project management è un modo per gli sviluppatori e i team di consegnare un prodotto migliore, in modo più veloce, attraverso gli sprint. La gestione agile del progetto può aiutare a garantire l’allineamento metodologico e di processo a livello aziendale.

Alcuni dei benefici della gestione agile sono: 

  • Più trasparenza
  • Più flessibilità
  • Più produttività
  • Consegne di qualità superiore
  • Diminuzione del rischio di obiettivi mancati
  • Maggiore coinvolgimento e soddisfazione degli stakeholder

 

Gli svantaggi di Agile

 

Scrum non è per tutti i team né per tutti i progetti di sviluppo software. Ci sono degli svantaggi nell’implementazione dei progetti Scrum:

  • C’è un pericolo di scope creep se le parti interessate continuano ad aggiungere funzionalità al backlog. Questo potrebbe essere incoraggiato dalla scadenza fissa.
  • Perdere qualche membro del team può danneggiare il progresso del progetto.
  • I team di Scrum non funzionano bene quando lo Scrum Master controlla il loro lavoro.
  • Scrum funziona meglio con piccoli team di sviluppatori di software esperti. Devono essere in grado di lavorare velocemente.
  • Come ogni altra metodologia, la gestione agile del progetto non è adatta a tutti i progetti, e si raccomanda sempre una sufficiente due diligence per identificare la migliore metodologia per ogni situazione unica.

La gestione agile del progetto può non funzionare come previsto se un cliente non è chiaro sugli obiettivi, il project manager o il team è inesperto, o se non funziona bene sotto una pressione significativa. Durante tutto il processo di sviluppo, la gestione agile del progetto favorisce gli sviluppatori, i team di progetto e gli obiettivi del cliente, ma non necessariamente l’esperienza dell’utente finale.

A causa dei suoi processi meno formali e più flessibili, la gestione agile del progetto può non essere sempre facilmente assorbita all’interno di organizzazioni più grandi e tradizionali dove ci sono quantità significative di rigidità o flessibilità all’interno dei processi, nelle politiche aziendali o nei singoli reparti. Agile può anche dare problemi se usato con clienti che hanno processi o metodi operativi altrettanto rigidi.

 

Conosciamoci, visitate la pagina relativa alle mie informazioni e inviatemi i vostri feedback, le vostre richieste.

 

Fonti

https://wishdesk.com/blog/how-scrum-works-practices-and-benefits

https://www.atlassian.com/

https://dzone.com/articles/what-is-scrum-software-development-how-it-works-be

https://www.visual-paradigm.com/scrum/how-scrum-team-works/

https://www.agilebusiness.org/page/ProjectFramework_07_RolesResponsibilities

https://www.synerzip.com/blog/4-examples-of-agile-in-non-technology-businesses/

https://techbeacon.com/app-dev-testing/personal-scrum-using-agile-techniques-manage-your-lif