Resta aggiornato con le ultime news SAEP!

agile_1.jpg

Nei tradizionali approcci di project management si presuppone che i requisiti da realizzare 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 i settori e 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./p

triple_constraint

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?”./p

agile_2

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à.

  • Categorie:
  • Sviluppo WEB

Articoli correlati

sviluppo-single-page-application-milano.png__800x450_q85_crop_subject_location-800,495_subsampling-2.jpg#
Single Page Application: cosa sono, ...
Le SPA o Single Page Application sono applicazioni web fruibili come singola pagina senza necessità ...
software-gestionale.jpg#
Software Gestionale
Le soluzioni software gestionali Saep ICT e Saep Informatica nascono per soddisfare qualsiasi necessità di ...
pwa.png#
PWA: cosa sono le progressive ...
Le PWA – Progressive Web Application sono applicazioni estremamente focalizzate sull’importanza della User Experience e ...
consulenza-informatica-milano.png#
Consulenza informatica - la figura ...
La consulenza informatica, "IT Consulting" o "Business and Technology Consulting" è una forma di consulenza ...
sviluppo-ecommerce-responsive-mobile-first-indexing.jpg#
Perché avere un e-commerce responsive: ...
Se sul finire di questo 2018 qualcuno ancora stesse sottovalutando l'importanza di ottimizzare contenuti e ...
come-indicizzare-una-single-page-application.jpg#
Single page application e la ...
Le Single Page Application non vanno di pari passo con la SEO? Ni. Si possono ...
sviluppo-app-android-ios-milano.png#
Come scegliere una società di ...
Ecco alcune linee guida per aiutarti a trovare la giusta azienda di sviluppo app cui ...
quanto-costa-una-software-house.png#
Quanto costa lavorare con una ...
Probabilmente ti sei chiesto quanto costa una collaborazione con un'agenzia di sviluppo software, la cosiddetta ...
check-list-fattori-ranking-on-page.jpg#
Fattori di ranking on-page: la ...
SEO o Search Engine Optimization è il nome dato all'attività che tenta di migliorare il ...
significato-acronimo-ict.png#
ICT significato e definizione
Ti sarà capitato di chiederti cosa significhi ICT, l'acronimo che identifica l'attività di molte aziende ...
sviluppo-software-personalizzato.jpg#
Sviluppo software personalizzato
Il processo di sviluppo software è un'attività complessa che richiede un’attenta pianificazione, un costante controllo ...
landing-page.jpg#
Landing pages: Cos'è una Pagina ...
Nel marketing digitale, una landing page è una pagina web autonoma, creata appositamente ai fini ...
sviluppo-in-python-milano.jpg#
Sviluppo software in Python - ...
Se sei atterrato su questo articolo è perché probabilmente cerchi un team che possa supportarti ...
dns_pubblico_di_google.png#
DNS Google pubblico diventa 8.8.8.8
Google Public DNS è un servizio gratuito offerto agli utenti Internet di tutto il mondo ...
Schermata 2019-04-17 alle 11.47.57.png#
Google Material Design
Cos’è il Materiale DesignIl Material Design è uno stile, un codice, un linguaggio di design ...
continuous-delivery-sviluppo-software.jpg#
Continuous integration e continuous delivery
Continuous integration e continuous delivery: cosa sonoInnanzitutto definiamo il concetto di continuous integration o integrazione ...
sviluppo-python-django-milano.jpg#
Sviluppo Python & Django, tutti ...
Ciao Matteo, innanzitutto raccontaci almeno un po’ di te: come sei arrivato in SAEP ICT ...
sicurezza-ecommerce-milano2.jpg#
Misure di sicurezza per i ...
Misure di sicurezza per i sistemi eCommerce: cosa dice il DGPR EuropeoLe misure di sicurezza ...
app-per-offerte-commerciali.jpg#
App per la gestione delle ...
Offerte e preventivi: i parametri utili per snellire i processiCome ogni commerciale o agente di ...
sviluppo-applicazioni-angular-milano.png#
Sviluppo web application in Angular
Caratteristiche principali di AngularAngular è un framework opensource dedicato allo sviluppo di applicazioni WEB e ...
sviluppo-software-linguaggio-python.png#
Python: un linguaggio in rapida ...
Il linguaggio di programmazione Python è confermato da O'Reilly come uno degli argomenti più cercati ...