Home
I quattro valori di Agile

18 Febbraio 2020

I quattro valori di Agile

di

Quattro regole d'oro da metabolizzare molto bene prima della lettura di qualsiasi lungo manuale su come acquisire la giusta mentalità e attitudine per lo sviluppo software in azienda.

I quattro valori di Agile, di Robert C. "Uncle Bob" Martin

Quando ho sentito parlare per la prima volta di Extreme Programming, ho pensato:

Non potrebbe essere più semplice! Basta seguire alcune semplici discipline e pratiche. Non ci sono problemi.

Tuttavia, visto il numero di organizzazioni che hanno provato – fallendo – a diventare Agile, ci accorgiamo che diventare Agile deve essere molto, molto difficile. Forse il motivo di tutti questi fallimenti è il fatto che in troppe organizzazioni si pensa che Agile sia qualcosa che in realtà non è.

Valori Agile

Kent Beck ha elencato i quattro valori di Agile molto tempo fa. Sono il coraggio, la comunicazione, il feedback e la semplicità.

Coraggio

Il primo valore è il coraggio o, in altre parole, un livello ragionevole di assunzione dei rischi. I membri di un team Agile non sono concentrati sulla loro sicurezza “politica” al punto da sacrificare la qualità e le opportunità. Sanno che il modo migliore per gestire un progetto software di lungo periodo consiste nell’affrontarlo con un certo grado di aggressività.

C’è una bella differenza fra coraggio e incoscienza. Ci vuole coraggio per eseguire il deployment di un insieme minimo di funzionalità. Ci vuole coraggio anche per mantenere un’elevata qualità del codice e una disciplina di alto livello. Al contrario, è da incoscienti eseguire il deployment di codice del quale non si è davvero sicuri o che abbia una struttura insostenibile. È da incoscienti adattarsi a un piano di lavoro sacrificando però la qualità.

La fede nel fatto che qualità e disciplina aumentino la velocità è coraggiosa, perché essa sarà costantemente messa alla prova da persone influenti ma ingenue che pensano solo al fatto che hanno fretta.

Comunicazione

Una comunicazione diretta e frequente che attraversi i normali canali. I membri di un team Agile sono soliti comunicare gli uni con gli altri. I programmatori, i clienti, i tester e i manager amano sedersi l’uno in fianco all’altro e interagire frequentemente fra loro e non solo nel contesto dei meeting. Non solo tramite email, chat e memo. Piuttosto, amano la conversazione diretta, informale, interpersonale.

Questo favorisce la coesione del team. È proprio nell’interazione frequente, rapida, caotica, informale che si “accendono le lampadine” e spuntano le idee. Un team in grado di stare insieme e comunicare frequentemente può fare miracoli.

Feedback

Le discipline Agile che abbiamo studiato riguardano sostanzialmente tutte l’idea di fornire un rapido feedback a coloro che prendono decisioni importanti. Planning Game, Refactoring, Test-Driven Development, Integrazione continua, Piccole release, Proprietà collettiva, Intero team e così via massimizzano la frequenza e la quantità dei feedback. Esse ci consentono di determinare anticipatamente quando le cose stanno per andare male, per correggere la situazione. Sono altamente istruttive in termini delle conseguenze delle decisioni iniziali. I team Agile si nutronodi feedback. Il feedback è quello che consente al team di lavorare in modo così efficace e che guida un progetto a un risultato positivo.

Semplicità

Un altro valore Agile è la semplicità, nel senso dell’essere diretti. Spesso si è detto che ogni problema presente nel software possa essere risolto aggiungendo un ulteriore livello di indirettezza. Ma i valori del coraggio, della comunicazione e del feedback hanno lo scopo di garantire che il numero di problemi sia ridotto al minimo. Pertanto, l’indirettezza può essere mantenuta al minimo. Le soluzioni possono essere semplici.

Questo vale per il software, ma vale anche per il team. L’aggressività passiva è indirettezza. Quando vedi un problema, ma lo passi silenziosamente a qualcun altro, crei indirettezza. Quando cedi alle richieste di un manager o di un cliente, conoscendone le pericolose conseguenze, crei indirettezza.

Semplicità è essere diretti: diretti nel codice, nella comunicazione e nel comportamento. Nel codice, una certa quantità di indirettezza è necessaria. L’indirettezza è il meccanismo mediante il quale riduciamo la complessità delle interdipendenze. Nel team, è necessaria molta meno indirettezza. La maggior parte delle volte, desideri che le comunicazioni siano le più dirette possibili.

Mantieni il codice semplice. Mantieni il team ancora più semplice.

Questo articolo richiama contenuti dal capitolo 6 di Clean Agile.

unsplash-logoImmagine di apertura di Artem Smus

L'autore

  • Robert C. Martin
    Robert C. Martin, conosciuto anche come “Uncle Bob”, scrive codice dal 1970 ed è un consulente informatico di livello internazionale. Ha fondato le società Uncle Bob Consulting LLC, Object Mentor Inc e - insieme al figlio Micah Martin - The Clean Coders LLC. È stato caporedattore della rivista The C++ Report e presidente dell'Agile Alliance. Firmatario del Manifesto per lo Sviluppo Agile di Software, è autore di Clean Code, bestseller che vanta oltre 160.000 copie vendute nella sola edizione inglese.

Iscriviti alla newsletter

Novità, promozioni e approfondimenti per imparare sempre qualcosa di nuovo

Gli argomenti che mi interessano:
Iscrivendomi dichiaro di aver preso visione dell’Informativa fornita ai sensi dell'art. 13 e 14 del Regolamento Europeo EU 679/2016.

Corsi che potrebbero interessarti

Tutti i corsi
Mora-Agile_Sviluppo_e_Management-home2 Corso In aula

Agile, sviluppo e management: iniziare bene

con Fabio Mora

Non sei soddisfatto delle gestione dei tuoi progetti software? Vuoi scoprire come i metodi agili possono cambiare il tuo modo di lavorare? Il corso di Fabio Mora è quello che ti serve.

Content_Design-fare-una-strategia–cover Corso Online

Content Design - Fare una Strategia

con Nicola Bonora

Progettare contenuti che facciano sposare felicemente obiettivi aziendali e bisogni delle persone: un sogno? No, realtà: Nicola Bonora ti spiega quali processi, metodi e strumenti usare.

corso-data-governance Simone Aliprandi Corso Online

Data governance: diritti, licenze e privacy

con Simone Aliprandi

I dati sono ovunque intorno a noi ma per poterli utilizzare in sicurezza bisogna confrontarsi con temi complessi che riguardano licenze, proprietà intellettuale e privacy. Se non ti senti sicuro o hai paura di prendere la decisione sbagliata, il corso di Simone Aliprandi fa per te.


Libri che potrebbero interessarti

Tutti i libri

Clean Code

Guida per diventare bravi artigiani nello sviluppo agile di software

46,15

64,89€ -29%

37,91

39,90€ -5%

24,99

di Robert C. Martin

Clean Agile

Guida per riscoprire i principi cardine dello sviluppo agile di software

27,15

39,89€ -32%

21,76

22,90€ -5%

16,99

di Robert C. Martin

Pragmatic Programmer - Edizione del 20° anniversario

Guida per artigiani del software che vogliono diventare maestri

19,99

di David Thomas, Andrew Hunt


Articoli che potrebbero interessarti

Tutti gli articoli