Questo sito utilizza cookie di terze parti per inviarti pubblicità in linea con le tue preferenze. Se vuoi saperne di più clicca QUI 
Chiudendo questo banner, scorrendo questa pagina, cliccando su un link o proseguendo la navigazione in altra maniera, acconsenti all'uso dei cookie. OK

Leading a Software Team

Lo sapevate che molti dei progetti software falliscono per problemi relativi alla gestione delle persone (Peopleware [DeMarco and Lister])? Ciò è dovuto essenzialmente all’incapacità di una figura cruciale: il team leader.
Questa tesina si propone di essere una piccola guida di aiuto per evitare di finire nelle succitate statistiche. E’ valida sia per i nuovi team leader, che sono alla prime armi e non sono stati “addestrati” su come gestire correttamente un team di sviluppatori, sia per team leader con esperienza, che vogliono migliorare la loro performance.
La strutture dei capitoli data a questa tesina si basa sul modello MOI di Jerry Weinberg, il quale afferma che le principali problematiche alla base del cattivo funzionamento dei gruppi di lavoro dipendono da tre fattori: Organization, Motivation ed Information.
Nel primo capitolo verranno elencate le varie tipologie di struttura che possono avere i progetti software e come poterli organizzare correttamente, evitando di cadere in inutili, nonchè sgradevoli, eccessi. Seguirà un secondo capitolo in cui vedremo i primi cinque fattori motivanti per gli sviluppatori e che un team leader deve saper sfruttare. Il terzo capitolo, invece, è dedicato al modo migliore per creare una squadra affiatata, coesa e che condivida strategie e obiettivi. L’orientamento verso il cliente, che di conseguenza comporta l’aumento della disponibilità di informazioni, sarà l’argomento del quarto capito e per concludere, il quinto capitolo, verrà totalmente dedicato ai cosiddetti anti-pattern, ovvero dei problemi che si potrebbero incontrare spesso durante la gestione di un team software e che dovrebbero essere evitati.

Mostra/Nascondi contenuto.
Salvatore Caccia 3 Introduzione Lo sviluppo di un software è un’attività socio-tecnica alquanto complessa poiché le persone che vi lavorano devono interagire non solo tra di loro ma anche con le varie tecnologie informatiche usate nello svolgimento di tale lavoro. Quindi, da un lato abbiamo gli aspetti sociali che includono il modo in cui le persone interagiscono, comportano e si organizzano, dall’altro abbiamo gli aspetti tecnici che riguardano l’uso di metodologie di sviluppo e tecnologie informatiche. In questo contesto risulta necessaria, nonché indispensabile, la figura del team leader, pronto ad aiutare il gruppo a districarsi dai problemi che possono derivare dal progetto in corso. La modalità attualmente più diffusa per l’implementazione di un progetto software è il lavoro di gruppo, o anche team work. Il gruppo condivide uno scopo, ha un obiettivo in comune, lavora in stretta collaborazione e condivide i vantaggi dei successi. Lavorare in gruppo, e farlo bene, offre innumerevoli vantaggi alla produttività dell’azienda e porta vari benefici anche ai singoli membri, in quanto offre loro una diversa visione degli obiettivi da raggiungere, consente la crescita professionale tramite dialogo e confronto e permette di avvicinare persone con competenze diverse e dunque di acquisire esperienza. Il lavoro del team leader, ovvero quello della figura professionale che gestisce un gruppo, non è però semplice in quanto esige varie capacità lavorative, e sapersi relazionare con gli altri membri del gruppo è fondamentale, ecco perché occorre possedere un certo “background” per svolgere questo ruolo, nonché ottime capacità comunicative che consentiranno di relazionarsi nel modo corretto con più persone. Il compito fondamentale di chi guida un team consiste nel saper creare le necessarie condizioni di contesto, selezionare opportunamente i membri del team, organizzare e gestirne il lavoro in modo tale che ogni componente possa, sappia e voglia esprimere al massimo le proprie potenzialità affinché la prestazione collettiva sia superiore alla mera somma delle prestazioni individuali dei suoi componenti. Ad esempio, nell’ambito di un’impresa (ma molto spesso anche in ambito sportivo) è dimostrato che non è sufficiente dotarsi delle migliori risorse umane disponibili compatibilmente con gli inevitabili vincoli di budget, bensì il successo scaturisce dalla capacità di combinare opportunamente tali risorse, e tutto ciò dipende in larga parte dalle caratteristiche, dalle decisioni e dalle azioni di chi guida quel team. In altre parole un team leader deve essere bravo a creare una squadra partendo da un gruppo di persone. Non tutti i gruppi però sono delle squadre, ma lo diventano mediante azioni guidate e coordinate dal leader. Gli elementi che tipicamente differenziano una squadra da un gruppo, e che sono essenziali per la riuscita di un progetto software, sono soprattutto:  L’interdipendenza dei compiti (i membri di una squadra dipendono l’uno dall’altro nello svolgimento dei compiti e nel raggiungimento degli obiettivi);  Una responsabilità collettiva;  La condivisione di informazioni, di risorse, di competenze e di ricompense. La struttura dei capitoli data a questa tesina segue il modello MOI di Jerry Weinberg. Il modello afferma che le principali problematiche alla base del cattivo funzionamento dei gruppi di lavoro dipendono da tre fattori:  Motivation: bisogna incoraggiare i programmatori a dare il loro meglio. Nel capitolo 2, vedremo quali sono i primi 5 fattori motivanti per gli sviluppatori e che un team leader deve saper sfruttare. Nel capitolo 3 invece vedremo come creare una squadra affiatata, coesa, e che condivide strategie e obiettivi.

Tesi di Master

Autore: Salvatore Caccia Contatta »

Composta da 23 pagine.

 

Questa tesi ha raggiunto 396 click dal 16/12/2011.

Disponibile in PDF, la consultazione è esclusivamente in formato digitale.