mvp orizzontale  psm1 small  cdap  sixsigma yellow belt mini  mcpd agileiot logo  ac2 logo

  • Categoria: ALM
  • Scritto da Felice Pescatore
  • Visite: 3009

Agile Adoption: step-by-step for continuous integration

Al di là della spinta emotiva, che porta ad interessarci e ad approfondire il mondo del management in chiave Agile/Lean, e alla successiva adozione di una metodologia specifica, l’introduzione delle pratiche Agili all’interno di un contesto aziendale fortemente legato ad un modello classico, command-and-control based, è un’operazione delicata che, se mal governata, può portare a veri e propri disastri.

Come approcciamo, quindi, alla governance relativa?

 

In linea di massima possiamo affidarci a due modalità diametralmente opposte:

  •          - Big-Bang change, in cui si decide di introdurre in modo dirompente un approccio Agile, sostituendolo alla cultura aziendale attualmente in essere;
  •          - Step-by-Step change, in cui l’introduzione dell’Agile viene attuata a piccoli passi incrementali, catturando i problemi e le opportunità che emergono da questa progressiva trasformazione.

Da notare che, non a caso, abbiamo parlato di adozione di Agile e non Lean, perché quest’ultimo richiede molta più disciplina per essere adottato e quindi una buona maturità del Team.

Entrambi gli approcci trovano un proprio spazio all’interno dei contesti reali, anche se, in generale, l’introduzione progressiva (step-by-step) è quella che meglio si adatta a traghettare l’azienda in un contesto, probabilmente, molto diverso da quello con cui è abituata a confrontarsi. L’adozione step-by-step si fonda su due importanti elementi:

  •         - Step-by-Step, Solving Problems: focalizzato sulla risoluzione dei problema senza anteporre alcuna soluzione;
  •         - Step-by-Step, Continuous Improvement: consistente in piccoli ma significativi cambiamenti che guidano il Team all’adozione dell’Agile e lo instradano per diventare quello che più volte abbiamo definito High Performance Team.

 

Facciamo un esempio concreto: il management IT, a fronte della bassa qualità delle soluzioni prodotte, prende la decisione di dover effettuare i necessari cambiamenti per abbattere gli alti costi dovuti alla successiva manutenzione, oltre che per tutelare l’immagine dell’azienda. Qualcuno propone TDD (“ho letto di qualcosa che…”, “un amico mi ha parlato di…”, ecc…) e decide di inserirlo nel proprio ciclo produttivo.

La domanda è: come facciamo ciò? Ebbene l’approccio step-by-step parte dall’analisi del problema (bassa qualità delle soluzioni prodotte) e individua i miglioramenti da apportare ai processi correntemente in uso (TDD? Forse!). Potrebbe ad esempio emergere che il problema non è insito nella qualità del codice prodotto, ma alle modalità di integrazione dei moduli e allo sviluppo silos-oriented dei vari dev coinvolti, cosa che potrebbe far tendere ad una soluzione automatizzata di Continuos Integration e non all’introduzione del TDD.

L’approccio Big-Bang è decisamente più rischioso ed il più delle volte ha un effetto collaterale indesiderato, ben evidenziato dal modello creato da Virginia Satir (The Satir Change Model, 1991), famosa terapista statunitense.

satir graph

The Satir Change Model

Dal modello è ben visibili come, inizialmente, l’azienda (nel complesso) si dimostrerà restia al cambiamento, cercando di trovare elementi che lo invalidino e che spingano a respingerlo. Ovviamente, sul medio periodo, la cultura aziendale comincerà a far proprie le innovazioni introdotte e la redditività generale ne beneficerà in modo decisamente rilevante.

Quando applichiamo, allora, il cambiamento Big-Bang? Un caso emblematico è quello che abbiamo trattato nei due precedenti post, ovvero il raggiungimento del punto di Massa Critica, quando tutto va riscritto e l’organizzazione del Team di Delivery può essere completamente rivista.

Un interessante analogia per rappresentare i due diversi approcci è quello della navigazione via mare. Si immagini una nave che, partendo dal punto A, deve raggiungere il punto B, sfidando il vento.

sailor changes

Ship Navigation

Se il vento è variabile, probabilmente conviene procedere con piccole variazioni di rotta (step-by-step) in modo da adeguarla alle mutate condizione. Se si è assolutamente certi che il vento non cambierà durante il periodo di navigazione, nel caso in figura sud-est, è possibile sfruttare il vento stesso per un tratto di mare e poi invertire bruscamente la rotta (big-bang). Chiaramene il rischio nel secondo caso è decisamente elevato, non permette di catturare celermente i cambiamenti e sopperire, di conseguenza, a fattori imprevisti come, ad esempio, l’abbandono del Team da parte di uno dei suoi membri.