AntonioGanci

Il blog di Antonio Ganci
posts - 201, comments - 420, trackbacks - 31

Alcune riflessioni sui metodi agili

il post di Riccardo mi ha dato l'occasione per riflettere su un disagio che sento presso le aziende che intendono iniziare o già utilizzano i metodi agili.

Credo che la questione sia dovuta alla differenza della situazione delle aziende italiane, formate soprattutto da PMI, rispetto a quelle anglosassoni.

In generale ho visto l'interesse ad utilizzare alcune pratiche agili (soprattutto l'introduzione dei test e la continuous integration) in situazioni dove è presente quello che io chiamo il cowboy programming.

Sostanzialmente una situazione di quasi totale anarchia dove la pratica più utilizzata è il code and fix. In queste realtà le pratiche agili vengono viste come una burocratizzazione del processo e non uno snellimento.

Molti articoli che ho visto in rete invece mostrano i vantaggi dei metodi agili rispetto al waterfall. Il waterfall è l'esatto opposto del cowboy programming e quindi il metodo agile, in questo caso, viene visto come una sburocratizzazione del processo.

La parola burocrazia ha un'accezione negativa in Italia per i motivi che tutti conosciamo, ma è fondamentale per il funzionamento di qualunque organizzazione compresa un'azienda di sviluppo software.

Schematizzando con un grafico questi concetti potrei ipotizzare che nessuna burocrazia sia un danno e quindi un beneficio negativo, analogalmente a troppa burocrazia.

Grafico burocrazia

Un altro luogo comune è quello di considerare le pratiche agili come un silver bullet: cioè necessarie e sufficienti a portare a compimento con successo un progetto. Mi spiace, ma si possono seguire tutte le pratiche agili e fallire.

Il motivo è dovuto alle precondizioni affinchè un progetto abbia successo come ad esempio le competenze degli sviluppatori, ecc. Analogamente un progetto software puo' avere successo anche senza usare nessuna pratica agile.

Print | posted on mercoledì 12 maggio 2010 00:53 | Filed Under [ Extreme Programming ]

Feedback

Gravatar

# re: Alcune riflessioni sui metodi agili

Il fatto è che, in teoria, un metodo, nel senso più generale del termine, dovrebbe servire a persone mediocri per ottenere quei risultati ottimi che, diversamente, solo persone di grande talento possono ottenere.
In genere, il genialoide crea il metodo, e gli altri lo applicano.

Quindi, se un metodo non permette a tutti di essere bravi, fallisce nel suo scopo.

Quello che voglio dire è che, in teoria, programmatori scarsi dovrebbero essere in grado di ottenere buoni risultati applicando i metodi agili, perché lo scopo del metodo dovrebbe essere proprio quello.
Ma così non è, o non sempre quantomeno.

I risultati non eccellenti di cui parlo nel mio post riguardano persone molto in gamba, che però non sono riuscite a dimostrare in pieno le loro capacità, nonostante il metodo e tutto... Questo mi fa pensare che il problema sia proprio il metodo e non le persone, perché sulla qualità di queste, ci metto la mano sul fuoco :)
12/05/2010 18:27 | Riccardo
Gravatar

# re: Alcune riflessioni sui metodi agili

Lo dico con la massima umilta' ma e' un parere professionale non una semplice opinione: questo approccio al problema dei metodi e processi e' *completamente* sbagliato: tanto per cominciare, il Waterfall e' comunque un modello base e *inevitabile*, in quanto nei processi iterativi e/o incrementali cio' che itera e' proprio un micro-warterfall, per cui riuscire a conciliare questo dato tecnico di base e inevitabile con qualunque ulteriore discorso su metodi e processi mi sembra una condition sine qua non per poter cominciare a dire qualcosa di sensato.

-LV
12/05/2010 23:01 | LudovicoVan
Gravatar

# re: Alcune riflessioni sui metodi agili

Il waterfall citato è quello in cui il ciclo è molto lungo (al limite = 1) e quindi con feedback molto lontani nel tempo.
13/05/2010 13:17 | Antonio Ganci
Gravatar

# re: Alcune riflessioni sui metodi agili

@Luka

Sicuramente l'utilizzo di un metodo aiuta a fare meno errori e migliora la produttività. Però si parla di qualcosa di standard. Qualcosa di verificatosi utile nella maggioranza dei casi e che quindi sarà, molto probabilmente, efficace.

Penso che la persona di grande esperienza e talento dovrebbe essere in grado di trovare la soluzione migliore, più raffinata di quella proposta dal metodo, che si adatta alla perfezione al singolo caso.
In questo senso, l'abbandono (o la modifica) del metodo introduce una maggiore produttività.
14/05/2010 09:23 | Riccardo
Gravatar

# re: Alcune riflessioni sui metodi agili

Luka:> penso ci sia un limite teorico a questo obiettivo perché quando si lavoa in team non si puo eliminare dekl tutto la necessita di coordinarsi e sincronizzarsi.

Concordo. Forse e' anche importante ricordare che cio' che differenzia i metodi agili da quelli tradizionali e' il livello di formalita', non il livello di disciplina!

-LV
19/05/2010 23:47 | LudovicoVan
Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET