None

Nei tradizionali approcci di project management si presuppone che i requisiti siano chiari al cliente già all’avvio del progetto e che egli possa attenderne la fine per effettuare l’acceptance test . Ma è veramente sempre così? Esploriamo insieme le ragioni per cui diventa sempre più necessario abbracciare una metodologia alternativa.

Ogni progetto è caratterizzato in maniera univoca dai suoi vincoli. Secondo il concetto di triple constraint la natura sistemica dei progetti può essere rappresentata da un triangolo ai cui vertici vi sono:

  • tempo = deadline entro cui il progetto deve essere realizzato;
  • budget = costo che non deve essere superato;
  • ambito = lavoro richiesto per il completamento del progetto.

Obiettivo del business è di ottenere il miglior risultato, nel minor tempo e con il minor costo possibile.

Il legame esistente tra questi vincoli non consente però l’applicazione di un approccio lineare, poiché i cambiamenti riguardanti uno si ripercuotono inevitabilmente sugli altri. Aggiungere nuove features al prodotto costringe a riconsiderare la schedulazione e il carico del risorse, così come la decisione di anticipare i tempi di rilascio comporta un aumento del budget o un ridimensionamento dell’ambito di progetto.

triple_constrint.jpg

Le metodologie Waterfall

Per gestire tale complessità le imprese si affidano a un sistema di pratiche, tecniche e procedure che prende il nome di Project Management. Secondo l’approccio tradizionale, il project team è chiamato a una pianificazione dettagliata dell’ambito che, una volta concordato con gli stakeholders, costituisce la base da cui derivare a cascata [waterfall] gli altri documenti della baseline, nonché le successive fasi: esecuzione, monitoraggio e chiusura.

Risalire il corso del progetto è possibile, ma non senza un notevole dispendio di costi e tempo. La definizione iniziale dei requisiti riveste infatti un ruolo fondamentale.

Nella misura in cui vengono individuati come rischi tutti quegli eventi che possono portare al mancato rispetto della baseline, lo scope rappresenta un elemento fisso, da preservare da eventuali change requests o fintanto che queste non saranno state accolte in una nuova baseline; il che avviene soltanto a fronte di formali e severi processi di approvazione.

Le Metodologie Agile


“Il cliente“ recita le legge Humphrey, “non sa mai cosa vuole finché non vede il prodotto funzionante”; ciò è tanto più vero negli ambienti di R&D e sviluppo software, la cui incertezza non consentire una pianificazione dettagliata. Quando il progetto inizia non se ne possono prevedere gli esiti, né l’utente riesce a razionalizzare i requisiti poiché ancora non immagina come sarà la propria interazione con il prodotto. Se si seguisse un approccio tradizionale si correrebbe il rischio di dover rifare gran parte del lavoro quando ormai è troppo tardi.

In risposta a tale criticità, l’agile predilige rapidi e frequenti cicli di esecuzione-monitoraggio-adattamento (sprints) attraverso cui garantire al cliente porzioni di lavoro funzionanti (quelli che in gergo vengono chiamati chunks). Soltanto così egli potrà comprendere se quanto desiderato corrisponde alla realtà. Sulla base delle informazioni acquisite, il team di sviluppo sviluppo pianifica la nuova iterazione, ridefinendo gli assunti sottostanti alle alle previsioni iniziali.

Per chi lavora in agile i cambiamenti dell’ambito costituiscono la norma. Lungi dall’essere percepiti come un rischio da evitare, vengono accolti e incentivati come opportunità per generare valore. Al contrario, i vincoli considerati fissi sono costi e tempi. Dal “quanto tempo costa e quanto tempo serve per realizzare questo prodotto?” si passa al “con questo tempo e questo budget quanto possiamo realizzare?”.

shutterstock_4.jpg

Plans are nothing, planning is everything

L’agile è una metodologia empirica ed estremamente concreta. Basando ogni processo di pianificazione sull’esperienza, gestisce l’ambito di progetto come una variabile sempre negoziabile per far fronte alle turbolenze interne ed esterne, quali per esempio:

  • esigenze del cliente
  • mutamenti del mercato di riferimento
  • tecnologie utilizzate
  • team di progetto
  • strategie aziendali

Ne consegue una demistificazione della baseline. Affinché ricalchino la dinamicità del contesto in cui si trovano, piani e procedure devono essere sufficientemente snelli da poter recepire il cambiamento dei requisiti, anche quello tardivo. Lo stesso discorso vale per la documentazione: consapevoli del suo carattere mediato, gli agilisti ne promuovono un uso limitato, senza confondere lo strumento di osservazione con la realtà osservata e dimenticarne la convenzionalità originaria. A loro giudizio bisogna privilegiare il working software; unica metrica realmente oggettiva dell’avanzamento di un progetto, nonché artefatto indispensabile per comprendere le reali esigenze del business.

Conclusioni

Difficilmente si lavora puramente in agile, senza l’ausilio dei tradizionali strumenti di project management (Gantt, WBS, Critical Path Method, etc.). Spesso la strategia vincente consiste proprio nel saper attivare metodologie diverse a seconda delle fasi o del contesto applicativo, consci del fatto che ciò che si perde in struttura e stabilità lo si guadagna in prontezza e flessibilità.

Articoli correlati

sviluppo-single-page-application-milano.jpg
Le SPA o Single Page Application sono applicazioni web fruibili come singola pagina senza necessità di caricamento per pagine: scopriamone …
software-gestionale.jpg
Le soluzioni software gestionali SAEP ICT e SAEP Informatica nascono per soddisfare qualsiasi necessità di gestione aziendale.Sommano la trentennale esperienza …
Progressive Web App cosa sono SAEP ICT
Le PWA sono un’ottima alternativa alle app e ai siti tradizionali, con diversi vantaggi anche per gli sviluppatori. Scopriamo in …
consulenza-informatica-milano.jpg
La consulenza informatica, "IT Consulting" o "Business and Technology Consulting" è una forma di consulenza che consiste nella prestazione professionale, …
significato-acronimo-ict.jpg
Ti sarà capitato di chiederti cosa significhi ICT, l'acronimo che identifica l'attività di molte aziende e software house che lavorano …
sviluppo-software-personalizzato.jpg
Il processo di sviluppo software è un'attività complessa che richiede un’attenta pianificazione, un costante controllo e una documentazione specifica e …
landing-page.jpg
Nel marketing digitale, una landing page è una pagina web autonoma, creata appositamente ai fini di una campagna pubblicitaria o …
sviluppo-in-python-milano.jpg
Se sei atterrato su questo articolo è perché probabilmente cerchi un team che possa supportarti nello sviluppo di software in …
dns_pubblico_di_google.jpg
Google Public DNS è un servizio gratuito offerto agli utenti Internet di tutto il mondo da Google. Il DNS Google …
Schermata.jpg
Cos’è il Materiale DesignIl Material Design è uno stile, un codice, un linguaggio di design sviluppato da Google supportato nativamente …
continuous-delivery-sviluppo-software.jpg
Continuous integration e continuous delivery: cosa sonoInnanzitutto definiamo il concetto di continuous integration o integrazione continua.Un esempio pratico?Quando sviluppiamo un …
sviluppo-python-django-milano.jpg
Ciao Matteo, innanzitutto raccontaci almeno un po’ di te: come sei arrivato in SAEP ICT e che tipo di percorso …
app-per-offerte-commerciali.jpg
Offerte e preventivi: i parametri utili per snellire i processiCome ogni commerciale o agente di commercio sa, la creazione dell’offerta …
sviluppo-applicazioni-angular-milano.jpg
Caratteristiche principali di AngularAngular è un framework opensource dedicato allo sviluppo di applicazioni WEB e sviluppato principalmente da Google. Dire …
catalogo digitale.jpeg
Scegliere di sviluppare un catalogo digitale significa in prima battuta rinunciare.A cosa?Ai costi del cartaceo, innanzitutto: costi di stampa, costi …
sviluppo-software-linguaggio-python.jpg
Il linguaggio di programmazione Python è confermato da O'Reilly come uno degli argomenti più cercati ed utilizzati sulla propria piattaforma.Ricordiamo …
GDPR
Il Regolamento Europeo 2016/679, meglio conosciuto come GDPR è un insieme di norme in materia di trattamento dei dati personali …
Portal
Con l’avvento dei nuovi canali di comunicazione nati grazie al Web, le imprese moderne dispongono di diversi strumenti per instaurare …
software-house
Nel corso degli anni, le Software House hanno giocato un ruolo cruciale nell'evoluzione del settore IT. La loro storia si …
Contattaci