Leadership o Autogestione
Transcript
Leadership o Autogestione
Agile Project Management - LC90.99B Leadership o Autogestione Questo lavoro è ispirato in parte a pubblicazioni di Rowan McCann, un ricercatore sulle prestazione dei team Agile per conto di Team Management Systems. Mette a fuoco la problematica della diversità in un team Agile , suggerendo un approccio pratico per superare la fase iniziale. Contesto dello sviluppo software L’idea dei team autogestiti è nata intorno al 2001 quando fu proposto il nuovo modo di lavorare secondo i principi del Manifesto Agile. I team autogestiti, per natura instabili, hanno successo solo se sanno superare il dilemma “Leadership” o “Autogestione”. Troppo controllo centralizzato impedisce di applicare i principi Agile, inibisce la creatività e genera resistenza al cambiamento. Troppa autogestione porta al caos e all’anarchia, distruggendo il team. Un team Agile deve tendere all’autogestione, senza però sfociare nel caos. Non si può chiedere ad un team di auto organizzarsi, soltanto perché si vuole sperimentare la nuova metodologia Agile, sarebbe la premessa di un fallimento annunciato. In “The Wisdom of Teams: Creating the High-Performance Organization” Katzenback e Smith definiscono il team “a small number of people with complementary skills who are committed to a common purpose, performance goals, and a common approach for which they hold themselves mutually accountable.” In italiano suona più o meno così: “Il team si compone di poche persone con competenze complementari fra loro, con uno scopo comune, obiettivi di prestazioni e un approccio comune per il quale si rendono conto a vicenda.” Altri autori parlano di senso di cameratismo e percezione di “essere sulla stessa barca”. Anche nel gioco del rugby esiste un forte senso di cameratismo e l’obiettivo principale è essere coesi, come raccomanda uno dei principali frame work Agile chiamato proprio SCRUM come la concertazione veloce di una squadra di rugby durante un’azione di gioco (un’iterazione o sprint nel mondo Agile). Stato dell’arte I giocatori cambiano ma la storia sembra la stessa! Anche con Agile non sono tutte rose e fiori. Molti progetti software sono in ritardo, fuori budget e lontani dall’obiettivo. Nonostante i disastri di progetti cancellati o procrastinati, molte software house continuano ad utilizzare gli stessi processi da diversi decenni. Le esigenze del mercato del software cambiano rapidamente, richiedendo un approccio più moderno per il rilascio di nuove applicazioni. Dopo il just-in-time dell’automotive ed il lean production dell’elettronica di consumo, anche lo sviluppo software passa da processi rigidi a processi più adattivi, guidati dal valore commerciale. Questo nuovo approccio, detto Sviluppo Agile comprende diverse metodologie iterative e/o incrementali come: Extreme Programming (XP), Scrum, Crystal, Dynamic Systems Development Method (DSDM), Lean Development, Feature Driven Development (FDD). Negli ultimi anni una metodologia Agile è stata adottata da società come Siemens, CapitalOne, Lockheed Martin, Motorola, Microsoft, Yahoo, Google, GE e Cisco Systems . Molte aziende con i processi Agile contano di realizzare miglioramenti significativi alla qualità, alla produttività e di conseguire vantaggi competitivi. Comportamento del Team Agile Un team Agile appena formato deve comprendere la dinamica del gruppo. Ognuno deve studiare il comportamento umano e perché le persone si comportano in un certo modo. Purtroppo, non è possibile insegnare queste cose, perciò si possono apprendere solo con l’esperienza. Materiale utile per preparare la certificazione Agile PMI-ACP Vito Madaio pag. 1 Agile Project Management - LC90.99B Un approccio tecnico che si può tentare e l’applicazione del metodo della Ruota definito da Team Management Systems un gruppo di ricercatori che studia “Perché alcuni individui, team e organizzazioni danno buone prestazioni, lavorando efficacemente, mentre altri falliscono .” Per valutare un Team Agile TSM mette a disposizione un questionario gratuito (Agile Team Performance) di 30 domande sufficienti a determinare le caratteristiche di un team, le aree di forza e le aree di debolezza per costruire sui punti di forza un team di alte prestazioni. Compilando il questionario si ottiene un interessante report con le percentuali di preferenze dei membri del team secondo 8 distinti tipi di lavoro come nella ruota della seguente figura che pubblichiamo con il permesso di Team Management Systems. Fonte: Team Management Systems Le definizioni dei tipi di lavori sono: Advising - funzione che raccoglie informazioni da tutti gli stakeholder per rispondere velocemente alle richieste di modifiche dei requisiti. Serve per restare tutti aggiornati e far circolare lo stato dell’arte del progetto. Richiede un flusso trasparente su cosa si sta realizzando il team, concentrato sui consulenti affinché le informazioni raccolte siano veloci, accurate ed efficaci. Innovating - funzione che genera nuove idee e nuovi modi di fare le cose. Richiede creatività nel problem solving affinché il team resti un passo avanti rispetto alla concorrenza. Per farlo bene occorrono: originalità, immaginazione e capacità innovative. Promoting - funzione che si preoccupa di identificare le opportunità e la vendita di nuove opportunità dentro e fuori l’organizzazione. Spesso comporta coinvolgere competenze influenti e fare presentazioni ad altri reparti o organizzazioni. Richiedere molta visibilità nell’organizzazione. Developing - funzione che trasforma i concetti in realtà. Si lavora sulle idee per produrre prodotti e servizi effettivi. In molti casi comporta sviluppare soluzioni quando sorge un problema. I team Agile devono avere buone competenze analitiche in modo da comprendere subito la priorità dei requisiti, produrre stime accurate delle iterazione e definire i contenuti del burn down chart. Organizing - funzione che comporta organizzare le persone e le risorse in modo efficiente impostando goal e obiettivi chiari, responsabilizzando i membri del team delle loro azioni. Implementare azioni efficaci se sorgono problemi per garantire i risultati promessi. In sintesi, è la funzione che garantisce che il lavoro del team sia strutturato e focalizzato su obiettivi comuni. Producing - funzione focalizzata sui risultati, garantisce che le iterazioni siano completate con efficacia ed efficienza. E’ la funzione di delivery del rilascio o di altri servizi. Richiede un approccio sistematico al lavoro ed enfasi sul rispetto dei tempi di consegna. Inspecting - funzione che richiede attenzione ai dettagli ed enfasi al monitoraggio dei sistemi, dei contratti e degli output. Si concentra anche sull’accuratezza, garantendo che il lavoro Materiale utile per preparare la certificazione Agile PMI-ACP Vito Madaio pag. 2 Agile Project Management - LC90.99B consegnato sia di qualità giusta. Questo è il classico controllo funzionale che regolarmente monitora l’efficienza delle procedure. Spesso costituisce la revisione del processo di sprint. Maintaining - funzione di supporto che garantisce che vengano rispettati e superati gli standard di comportamento ed etici, mantenendo il livelli di qualità. Supporta anche altri nel team affinché i processi del team seguano le regole di base. In questa funzione è importante la lealtà perché si tratta di aiutare gli altri. Preferenze dei membri di un team Nessuno gradisce tutto il lavoro che deve eseguire un team Agile. Qualcosa ci piace di più e qualcosa di meno se non la odiamo del tutto. Le preferenze sul lavoro rappresentano le dimensioni delle differenze individuali nel mostrarsi capace di avere relazioni, di pensare e di agire nell’ambiente di lavoro. Le prime cose che si notano in una persona sono: la sua capacità di ascoltare, se parla troppo, se parla poco, se parlare a vanvera, se dice cose sensate, etc. Questi aspetti formano la base della prima impressione, difficile da modificare. Quando entriamo in un gruppo di lavoro, in modo esplicito o meno, manifestiamo le nostre preferenze. Agli estroversi piace lavorare in un ambiente con molte iterazioni con gli altri. Gli introversi preferiscono lavorare con meno interruzioni e meno riunioni possibili, resistono ai cambiamenti, generando anche qualche tensione in aree non di loro preferenza. Quando un team Agile crea una di queste situazioni critiche, nascono squilibri o contrasti sulle preferenze di ognuno. Ad esempio, se tutti sono propensi a dare priorità alla realizzazione delle modifiche e seguire l’ultima idea, il team può non tracciare il burn-down chart, ossia il lavoro rimanente. Se tutti preferiscono solo produrre, il team non ascolta e non produce ciò che interessa agli stakeholder. Per disporre di un team efficace, bisogna raccogliere e comprendere le preferenze di tutti i membri e cercare di bilanciare aspirazioni personali ed esigenze di lavoro. La comprensione delle aspirazioni dei membri del team aiuta a garantire che ognuno lavori secondo le proprie preferenze. Se le preferenze di ognuno si abbinano con il lavoro da fare, tutto procede per il meglio e le persone sono soddisfatte del proprio lavoro. Le funzioni descritte sopra ricevono la giusta priorità e nessuna viene considerata di minore importanza. Profilo dei membri di un team Agile Secondo la ruota di TMS, vediamo le caratteristiche delle persone combinate con le loro preferenze. Fonte: Team Management Systems Di solito un lavoro è gradito se due terzi dell’attività critica è in linea con la propria preferenza. Quando ciò accade c’è più coinvolgimento nel lavoro da fare e le persone sono più contente. Materiale utile per preparare la certificazione Agile PMI-ACP Vito Madaio pag. 3 Agile Project Management - LC90.99B Ecco le principali caratteristiche in ogni settore: (preferisco non tradurre queste definizioni, per non snaturarle con termini non sempre appropriati) Reporter-Adviser: Prefers gathering information and likes to fully understand situations before acting Creator-Innovator: Enjoys thinking up new ideas and new ways of doing things rather than focusing on delivering outputs on a regular basis. Explorer-Promoter: Like to take ideas and promote them to others, not worrying too much about any details involved. Assessor-Developer: Enjoy analyzing and developing different possibilities before decisions are made Thruster-Organizer: Like to make things happen and get results rather than ‘waste’ too much time debating issues Concluder-Producer: Practical people who like to carry through things to the end by working to a plan Controller-Inspector: Quieter, reflective people who enjoy the detailed side of work and like dealing with facts and figures. Upholder-Maintainer: Enjoy working in support of others ensuring that tasks are delivered to high standards L’approccio suggerito da TMS è prima mappare le preferenze di ognuno e poi assegnare attività e responsabilità, fissando anche delle regole per garantire che non vengano trascurate del tutto le aree meno preferite dai membri del team. Diversità nel team Agile Ogni ruolo vede il mondo da una prospettiva diversa e questo è ottimo per il problem solving e per prendere decisioni. Un team bilanciato garantisce la produzione di più visioni dello stesso fenomeno, per cui grazie alla diversità ci sarà la possibilità di valutare più alternative. Se tutti hanno lo stesso profilo/tendenza si va incontro a definizioni piatte dello stesso tipo. Se il team è troppo variegato possono sorgere dispute e critiche reciproche fra i membri del team. E’ umano considerare negativamente coloro che sono “differenti” da noi. Però, tutti i ruoli sono necessari per ottenere il massimo da un team, mentre le migliori soluzioni emergono con la diversità. Inizialmente i team hanno difficoltà ad auto organizzarsi, perché possono sorgere conflitti che esplodono in occasione di una notizia, facendo piombare il team nel caos e fallire il progetto. Il modo tradizionale di prevenire questo rischio è sempre stato un forte controllo della leadership, ma ciò contrasta con il valore dell’indipendenza ed il potenziamento che sono la forza del mondo Agile. I membri del team reagiscono ai vincoli dell’organizzazione e non credono più di avere il controllo dei risultati. Di conseguenza, i risultati saranno scarsa motivazione e poco coinvolgimento che portano, a loro volta, all’apatia e a basse prestazioni. Invece, una volta che il team ha imparato a comprendere il valore della “diversità”, può essere allentato il controllo della leadership e avviata l’auto organizzazione. Per arrivarci occorre la giusta dose di formazione fin dal primo giorno. I team con alte prestazioni non nascono da soli, hanno bisogno di aiuto per arrivarci! Connessione del team Quali sono gli skill importanti di un team Agile? Tutti quelli che si applicano individualmente alle persone e collettivamente al team. Per abbassare il livello di controllo della leadership e alzare il livello di autonomia del team bisogna concentrarsi su sei competenze: 1. 2. 3. 4. 5. 6. Active Listening, Communication, Team Relationships, Problem-solving & Counseling, Participative Management e Interface Management. Materiale utile per preparare la certificazione Agile PMI-ACP Vito Madaio pag. 4 Agile Project Management - LC90.99B Ci vuole tempo per creare queste competenze a partire dalla prima riunione di un team Agile. Con l’approccio TMS, i membri del team ricevono un report con un feedback positivo sul modo in cui loro preferiscono lavorare. Il report evidenzia anche come ogni persona gradisce comunicare con gli altri, dando luogo alla prima discussione su come relazionarsi e come comunicare. Tutti comprendono che la comunicazione è dinamica e che bisogna adattarsi a chi sta dall’altra parte. In questo modo i membri del team vengono incoraggiati a rispondere a due domande: Quando parli con me è meglio che …. Le cose che mi annoiano di più quando gli altri comunicano con me sono ….. Conclusione Il dilemma Leadership - Autogestione è dibattuto da anni dai ricercatori. Per i team Agile la sfida è trovare un equilibrio tra alte prestazioni e controllo della leadership per ottenere buone prestazioni. I team possono puntare all’’autogestione solo quando avranno ben compreso il comportamento delle persone e perché si comportano così. I team con alte prestazioni hanno imparato a: Riconoscere gli individui come agenti intelligenti e autonomi che interagiscono e collaborano per comprendere e valutare le differenze di comportamento. Operare con semplici regole di base che li aiutino ad evitare il caos. Desiderare di imparare continuamente, adattandosi velocemente alle nuove situazioni. Implementare le competenze che integrano il resto del team, dove la guida e non il controllo consenta di emergere e mostrare il proprio talento. Operare con informazioni aperte a tutti i membri del team e stakeholder del progetto tramite prassi di Agile project management per condividere rapidamente nuovi scenari. Per comprendere le preferenze ed il profilo di ognuno dei membri di un team Agile, conviene sentire tutti i potenziali membri del team, soppesare preferenze, competenze e attitudini e cercare di impostare un team bilanciato fin dal primo momento. Se non sei ancora iscritto al corso per Preparare la Certificazione Agile PMI-ACP, ecco il Modulo di Iscrizione Materiale utile per preparare la certificazione Agile PMI-ACP Vito Madaio pag. 5