

Team di progetto: come creare un gruppo di lavoro efficace e performante per la realizzazione di un progetto. Scoprite con noi le varie fasi di sviluppo di un team alla base del project management
Il media che reinventa l'impresa
Ogni progetto può essere diviso in due fasi chiave: pianificazione ed esecuzione. Tuttavia, durante queste due fasi, la metodologia di project management impiegata gioca un ruolo chiave sul risultato finale.
Il waterfall model, un metodo per gestire i progetti in modo lineare, è una delle opzioni che le aziende hanno per elaborare e organizzare il lavoro. Anche se rispetto ad altre metodologie, come quella Scrum, il waterfall model si rivela più datato la verità, presenta, tuttavia, ancora vantaggi innegabili.
In questo articolo, Appvizer esamina i principi di questo metodo e i vantaggi che possono derivare dalla sua corretta applicazione.
Il waterfall model (il modello a cascata), documentato nel 1970 da Royce, è stato il primo modello di product life cycle documentato pubblicamente. Il modello a cascata è una versione divenuta popolare del modello del ciclo di vita di sviluppo dei sistemi alla base dell'ingegneria del software.
Il waterfall process è stato il primo process model ad essere introdotto. Si riferisce anche a un modello di product life cycle lineare/sequenziale. È molto semplice da capire e usare. In un waterfall approach, ogni fase deve essere completata completamente prima che la fase successiva possa iniziare. Questo tipo di modello di sviluppo del prodotto è usato fondamentalmente per un progetto piccolo o con requisiti certi.
Alla fine di ogni fase, ha luogo una revisione per determinare se il progetto è sulla strada giusta o ha bisogna di essere corretto.
In questo modello il test del prodotto inizia solo dopo che lo sviluppo è completo. Nel waterfall approach le fasi non si sovrappongono.
Il waterfall model è strutturato in diversi fasi.
Cercheremo di capire il concetto di waterfall process con l'esempio di un’applicazione bancaria per illustrare l'argomento.
Supponiamo che la Citibank stia pianificando lo sviluppo di una nuova applicazione bancaria e che si sia rivolta alla vostra organizzazione.
In questa fase i requirements sono raccolti dal business analyst e sono analizzati dal team. I requirements sono documentati durante questa fase e possono essere richiesti chiarimenti.
I business analyst documentano i requirements in base alla loro discussione con il cliente.
Nel nostro caso, dopo un’attenta analisi, si è scoperto che il project team ha bisogno di risposte alle seguenti domande:
L'architetto e i membri senior del team lavorano sul product modelling (l’architettura del prodotto), sul design di alto/basso livello del progetto.
Si decide che l'applicazione bancaria deve avere capacità di backup e failover in modo che il sistema sia accessibile in ogni momento.
L'architetto crea i diagrammi dell'architettura e i documenti di progettazione di alto / basso livello.
Il development team (team di sviluppo) lavora alla codifica del progetto, prendendo come riferimento i design models (i documenti di design) e assicurandosi che la loro soluzione segua il design finalizzato dall'architetto.
Poiché si tratta di un'applicazione bancaria e la sicurezza è un'alta priorità nei suoi requisiti, il development team implementa diversi controlli di sicurezza e audit logging features nell'applicazione.
Eseguono anche diverse altre attività: per esempio, uno sviluppatore senior che rivede il codice degli altri sviluppatori per qualsiasi problema. Alcuni sviluppatori eseguono anche l'analisi statica del codice.
Il team di test testa l'applicazione completa e identifica qualsiasi difetto nell'applicazione.
Questi difetti sono corretti dagli sviluppatori e il team di test controllo di nuovo le correzioni per assicurarsi che il difetto sia stato corretto.
Eseguono anche test di regressione dell'applicazione per vedere se sono stati introdotti nuovi difetti.
Anche i tester con conoscenza del settore bancario sono stati assunti per il progetto in modo da poter testare l'applicazione che opererà nell’ambito bancario.
I security testing teams vengono chiamati a testare la sicurezza dell'applicazione bancaria.
Il team costruisce e installa l'applicazione sui server che sono stati procurati per l'applicazione bancaria.
Alcune delle attività di alto livello includono l'installazione del sistema operativo sui server, l'installazione delle patch di sicurezza, l'irrigidimento dei server, l'installazione dei server web e dei server applicativi, l'installazione del database ecc.
Si coordinano anche con i team amministrativi di rete e IT ecc. per ottenere finalmente l'applicazione attiva e funzionante sui server di produzione.
Durante la fase di manutenzione, il team si assicura che l'applicazione funzioni sui server senza problemi e senza alcun tempo di inattività.
I problemi che vengono segnalati dopo la messa in funzione vengono risolti dal development team e testati dal team di test.
Agli inizi, il waterfall model era usato per sviluppare applicazioni aziendali come software di customer relation management (gestione delle relazioni con i clienti), software di human resource management, software di gestione della supply chain, sistema di gestione dell'inventario, sistema di punti vendita (POS) per catene di vendita al dettaglio, ecc.
Il waterfall model è stato usato significativamente nello sviluppo dei product fino all'anno 2000. Anche dopo la pubblicazione del manifesto Agile nel 2001, il modello Waterfall ha continuato ad essere usato da molte organizzazioni fino all'ultimo decennio.
In questi giorni la maggior parte dei progetti segue la metodologia Agile o qualche altra forma di modello iterativo a seconda del requisito specifico del progetto.
Tuttavia, ci sono alcune aree in cui il waterfall model ha continuato ad essere preferito:
Applicare ai vostri progetti software di pianificazione e project management come il Waterfall model comporta diversi vantaggi.
Il waterfall model si concentra su un insieme preciso e definito di fasi, che porta alla realizzazione di una chiara struttura di lavoro. I team devono completare un'intera fase prima di passare a quella successiva. Quindi, se ci sono ostacoli al completamento, sono immediatamente visibili.
Questo metodo permette di visualizzare la progressione del progetto in modo chiaro e intuitivo. Questo significa anche che non è richiesta alcuna certificazione o formazione specifica a livello di Project Management.
La chiara determinazione degli obiettivi da raggiungere fin dall'inizio è una delle caratteristiche del waterfall model. Questo fornisce chiarezza ai team e permette loro di lavorare in modo mirato, avendo sempre presente in ogni momento l'obiettivo finale.
L'approccio Waterfall è, per definizione, metodico. Questo significa che si basa su processi standardizzati, che promuovono una comunicazione efficiente e accurata delle informazioni. Per il corretto sviluppo di ogni fase del progetto, il trasferimento di informazioni deve essere fatto in modo preciso e documentato.
Nonostante i benefici di questo processo, questo metodo è stato messo in discussione a causa di aspetti che potrebbero causare problemi di conformità come:
Ora che conoscete nel dettaglio il funzionamento del waterfall model, potrete confrontarle con le altre metodologie e stabilire quale può essere più utile per gestire la vostra azienda e i vostri progetti. Diteci quale preferite nei commenti.