La mia piccola illuminazione di oggi: GANTT planning vs XP planning

La mia piccola illuminazione di oggi riguarda il modo tradizionale di pianificare e gestire un progetto software, ovvero con un bel GANTT e MS Project.

Per la prima volta ho dovuto analizzare il GANTT per la nuova release di un progetto su cui sto lavorando, e rivedere alcune attivita’ a nostro carico per capire se mancava qualcosa e verificare le dipendenze e le stime. Ci mancherebbe, se c’e’ da fare, si fa’, ma ho sentito pian piano sorgere un senso di frustrazione…
Ho poi capito il senso di fastidio che provavo: il GANTT (almeno, questo GANTT) e’ piuttosto “tecnical-task centrico”, ovvero organizza le attivita’ “tecniche”, ma non considera in nessun modo le features dal punto di vista del customer.

Tutto il contrario della pianificazione in XP, che e’ “business-value centrica”, ovvero usa le user stories (“units of customer-visible functionality”) per pianificare pezzi di funzionalita’, a prescindere poi dai task tecnici che possono esserci dietro (e che vanno certo esplicitati, se e’ il caso, ma che non hanno valore di business di per se’).

Ma perche’ questa differenza?

Forse questo e’ dovuto al fatto che, mentre il GANTT e’ uno strumento del project manager per guidare il team di sviluppo (il customer lo vedra’ mai?), le user stories sono invece uno strumento del customer per guidare lo stesso team.
In altre parole la pianificazione in XP coinvolge in prima persona il team dei customers (project manager, product manager, marketing, utenti, …), mentre in un progetto tradizionale la dinamica e’ del tipo “eccoti le specifiche, ci si rivede a fine progetto”.

Sta di fatto che io, abituato a ragionare innanziutto per user stories, mi sono ritrovato piuttosto a disagio a ragionare per task tecnici, perche’ facevo fatica a vederci dietro le funzionalita’, e spesso anzi trovavo che la somma dei task tecnici non bastava a coprire la funzionalita’ che il sistema dovrebbe realizzare.

E’ un po’ come descrivere un quadro attraverso la somma dei tratti del pennello che lo compongono… si rischia di perdere il senso complessivo dell’opera.
Il rischio nel caso del software e’ quello perdere tra i tanti task tecnici i veri obbiettivi di una feature, ovvero produrre qualcosa che risponde a delle necessita’ del customer.

3 thoughts on “La mia piccola illuminazione di oggi: GANTT planning vs XP planning

  1. non ho mai avuto il piacere di lavorare con un GANTT (se non per l`universita’), ma la mia idea e’ che, come in molti altri casi, il problema non stia nello strumento ma nell`uso che se ne fa.

    in questi giorni sto approfondendo proprio il planning XP, e quello che posso notare e’ che un diagramma GANTT usato in un processo tradizionale e’:
    * immutabile, o comunque ogni sua modifica e’ vista come una eccezione e non una norma
    * basato su stime fatte dal management invece che stime fatte dagli sviluppatori
    * di lungo termine, cioe’ una itera release (qualche mese)

    di contro, la pianificazione in XP ha altre caratteristiche:
    * viene costantemente aggiornata, sulla base della nuova esperienza e delle misure di velocita’
    * viene fatta su piu’ livelli: release (mesi), iterazione (settimane), singola giornata (penso alla todo-list)

    come dicevi tu poi c`e’ la differenza tra task basati su funzionalita’ da realizzare in XP e task prettamente tecnici. non escluso che in un progetto XP ci sia un`attivita’ tipo “realizzare lo script di deploy del sistema X sulla macchina Y”, ma quanche in questo caso il task nasce da un esplicito desiderio del cliente.

    quindi, piu’ che nello strumento, io vedo la differenza nella pratica di pianificazione. cioe’, raggruppare le storie di un`iterazione e ordinarle per priorita’ non e’ molto diverso da avere un insieme di blocchi in sequenza su un diagramma, entrambi gli strumenti comunicano un intento. cambia invece l`uso che ne faro’.

    ciao!
    -papo-

  2. Hai ragione, e’ la stessa conclusione a cui sono arrivato io dopo aver scritto il post. Si tratta pur sempre di uno strumento e quindi tutto dipende dall’uso che se ne fa’.
    Quello che pero’ posso dirti e’ che in realta’ l’uso che il nostro PM fa del GANTT e’ poco tradizionale, perche’

    1. Proprio ieri io e il mio collega abbiamo ristimato tutta la parte a nostro carico, dettagliando i task e segnalando quelli che erano sfuggiti alla prima stesura del GANTT
    2. Sempre ieri, ristime alla mano, siamo andati dal PM a segnalare l’attuale inconsistenza del GANTT e ci siamo messi ad aggiornarlo assieme
    3. Si tratta di un GANTT di release, ovvero abbraccia un periodo di 2 mesi circa, che corrisponde appunto alla release 2.0 del prodotto.

    Se mai faro’ il Technical Leader di un progetto qui, cerchero’ di usare (e soprattutto far usare) le user stories, in modo che alla peggio si tiene traccia di quelle nel GANTT. Lo so, per certi versi e’ una eresia, ma potrebbe essere un passo verso la pianificazione agile, visto che altri elementi ci sono gia’ (la disponibilita’ a rivedere i piani e a far stimare i programmatori).

    Grazie papo per il feedback!

  3. Pingback: Roberto Cappelletti | Il Gantt fa veramente schifo?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s