DSDM: alla scoperta del Dynamic Systems Development Method

Da Virginia Fabris
Il 09/06/21
definition backgroundDSDM: alla scoperta del Dynamic Systems Development Method

Se sei alla ricerca di un approccio iterativo e incrementale basato sul Rapid Application Development che enfatizzi il continuo coinvolgimento di utenti e cliente, sei capitato nel posto giusto.

In questo articolo ti forniremo le informazioni chiave per comprendere il DSDM e ti aiuteremo a farti un’idea sul funzionamento del Dynamic Systems Development Method, in modo tale da permetterti di capire se esso può essere adatto alla tua azienda.

Cos’è il DSDM

DSDM è un acronimo che abbrevia la dicitura inglese Dynamic Systems Development Method. Il DSDM è un framework agile che si rapporta sia con l'intero ciclo di vita del progetto, che con il suo impatto sul business.

Come gli altri agile methods, il Dynamic Systems Development Method è un approccio iterativo allo sviluppo dei software.

👀 L’obiettivo del Dynamic Systems Development Method è quello di consentire la consegna dei progetti nei tempi prestabiliti ed all’interno dei costi previsti, eventualmente adattando le modifiche ai requisiti in corso d'opera.

☝ Il DSDM è ideale per progetti di sviluppo di sistemi informativi definiti da schedulazioni e budget ridotti.

DSDM: un po’ di storia

Il DSDM è stato inventato nel 1994. Al tempo, i project manager usavano un altro quadro agile, il Rapid Application Development (RAD). Quest’ultimo, tuttavia, non aveva sufficiente governance per le loro necessità e linee non sufficientemente severe.

Per questo motivo è stato implementato il Dynamic Systems Development Method come miglioramento del RAD. Infatti, il DSDM, in principio, era comunque usato per il software development. Poi, il DSDM Agile Project Framework si è spostato dall'essere una soluzione specifica per il software ad uno strumento più generale di gestione dei progetti.

I 9 principi del DSDM

I principi agili del DSDM sono 9 e costituiscono la base su cui sviluppare ogni progetto all’interno di questo framework.

Il DSDM deve:

  1. Indirizzarsi adeguatamente alle necessità e ai bisogni del business del momento;
  2. Permettere la consegna del progetto nelle tempistiche stabilite;
  3. Garantire la collaborazione non solo tra i membri del team, ma anche tra utenti e sviluppatori. Essi devono condividere gli stessi spazi fisici, in modo tale che sia promossa la costante interazione. Il coinvolgimento dell'utente, infatti, è essenziale per condurre un progetto efficiente ed efficace;
  4. Consentire al team di progetto di prendere decisioni importanti per il progresso del progetto senza dover necessariamente attendere l'approvazione;
  5. Non compromettere mai la qualità: vanno condotti test del prodotto durante l'intera durata del progetto ed è meglio che questi siano rilasciati su base frequente. In particolare, il rilascio di una componente del prodotto in fase iniziale del progetto permette di verificarne l’idoneità in funzione di una sua implementazione corretta nella fase successiva;
  6. Partire a costruire da fondamenta solide: il progetto e tutte le sue condizioni di sviluppo devono essere definiti prima che si dia inizio alla sua realizzazione;
  7. Proporre uno sviluppo incrementale e iterativo;
  8. Comunicare su base costante e in modo chiaro;
  9. Garantire il controllo del processo tenendo comunque presente che tutte le modifiche apportate durante lo sviluppo sono reversibili.

DSDM: caratteristiche

Il DSDM è definito dalle seguenti caratteristiche:

  • Esso si distingue da altri metodi per la sua forte governance;
  • Fornisce un approccio incrementale e iterativo;
  • Offre la base per operare miglioramenti continui tramite il feedback dell'utente o del cliente;
  • Dispone limiti rigorosi per quel che riguarda i costi, la qualità e i vincoli di tempo;
  • Conferisce un grado di priorità in base al Must Have, Should Have, Could Have o Won’t Have;

Quali sono i punti di forza e di debolezza di DSDM?

I punti di forza del DSDM includono:

  • Consegna rapida della funzionalità di base del prodotto;
  • Facile accesso degli sviluppatori agli end-users;
  • Affidabilità nel completamento dei progetti da un punto di vista delle modalità e del tempo.

Tra le debolezze del DSDM sono da citare:

  • La possibilità che esso rappresenti un cambiamento poco accettato nella cultura aziendale;
  • Può apparire costoso a livello di implementazione;
  • Non risulta ideale per le piccole imprese.

Tecniche e pratiche DSDM

DSDM si differenzia dagli altri Systems Development Methods perché esso presenta le seguenti tecniche e pratiche:

Timeboxing: il DSDM aderisce a rigorosi standard di deadlines. Infatti, il DSDM prevede la scomposizione dell'intero progetto in elementi più piccoli, ciascuno dei quali viene dotato di uno specifico budget e di tempistiche determinate. Il DSDM procede per scala di priorità: se il tempo o il denaro stanno finendo, le task a bassa priorità vengono rimosse: saranno portati a termine solo gli elementi essenziali di un progetto.

Moscow Prioritisation: si tratta di una funzionalità utile per classificare, ovvero conferire il grado di priorità alle diverse componenti progettuali, dal più alto livello di importanza al più basso. I gruppi di priorizzazione sono Must Have, Should Have, Could Have e Won't Have.

Modelling e Iterative Development: il Modelling aiuta a visualizzare diversi aspetti del progetto lungo il percorso. Esso costituisce un supporto per visualizzare il progresso di ogni task in corso e permette lo sviluppo iterativo fornendo un feedback regolare e favorendo il miglioramento continuo.

Prototyping: come in molte altre metodologie agili, il Prototyping è essenziale per testare il progetto in fase iniziale. È un modo per mappare le funzioni di base, scoprire le debolezze evidenti e permettere agli utenti di testare il software.

Workshop: gli utenti e gli Stakeholders sono portati a dibattere sui requisiti, i problemi, i risultati e i testing infatti, il DSDM si basa su alti livelli di interazione con gli utenti promossi fin dal principio. La fase di testing è enormemente importante per DSDM, poiché assicura risultati di alta qualità.

Composizione del DSDM: 3 fasi

Il DSDM si sviluppa in 3 fasi:

  1. Fase Pre-Progetto

    Corrisponde alla fase di identificazione delle coordinate del progetto, dell’approvazione delle misure gestionali e di ottenimento del budget;

  2. Fase progettuale

    Corrisponde al ciclo vita del progetto, che si suddivide in 5 sottofasi, quali: lo studio della fattibilità, lo studio del business (per comprendere ciò che deve essere eseguito), la realizzazione del modello funzionale, il disegno e la costruzione progettuale e l’implementazione del progetto.

  3. Fase post-progetto

    Presa visione dell’efficacia e dell’efficienza, oppure dei limiti del progetto appena realizzato attraverso fixes correttive e interventi migliorativi.

Ruoli del DSDM

Qualsiasi Agile System Development fornisce una lista di ruoli che deve essere riempita a dovere. Il DSDM funziona allo stesso modo. Infatti, i ruoli essenziali in qualsiasi DSDM sono:

  • L’Executive Sponsor (o “Project Champion”): si tratta di un ruolo assegnato dall'azienda e/o dal cliente. Gli Executive Sponsor sono coloro che assegnano fondi e risorse e hanno l'ultima parola nel processo di decision-making.
  • Il Visionary: questo ruolo deve essere coperto da una persona in grado di fornire una elevata comprensione dello user business. Il Visionary conferisce la priorità agli elementi che ritiene opportuni, determinando l’avviamento del progetto e guidando il team su questa base.
  • L’Ambassador User: ovvero un “test user”, incaricato di fornire il punto di vista del pubblico delle utenze al team di progetto. Si tratta di una fonte chiave per ricevere feedback costanti durante l'intero processo.
  • L’Advisor User: un altro user, incaricato ancora una volta di fornire la prospettiva utente per favorire l’implementazione del progetto.
  • Il Project Manager: ovvero il responsabile della gestione del progetto.
  • Il Technical Coordinator: si tratta di una persona incaricata di progettare l’architettura del sistema e sarà responsabile del controllo qualitativo della componente tecnica.
  • Il Team Leader: è il vero e proprio leader del team di lavoro, ovvero il responsabile del coordinamento della squadra, che deve garantire l’avanzamento del progetto e la collaborazione.
  • Il Solution Developer: ovvero lo sviluppatore dei codici di consegna, il creatore di prototipi, il modellatore del sistema.
  • Il Solution Tester: ovvero colui a cui spetta il compito di testare il prodotto e di fornire le giuste comunicazioni e spiegazioni nel caso in cui si siano palesati errori. Il Solution Tester si occupa anche dell’esecuzione di nuovi test a seguito delle correzioni effettuate.
  • Lo Scribe: ovvero l’incaricato della registrazione dei requisiti, degli accordi, delle decisioni prese e di qualunque altra informazione pertinente al progetto e utile al suo sviluppo.
  • Il Facilitator: addetto avente il compito di fornire il giusto grado di motivazione e capace di mantenere in riga i membri del team, per fare in modo che il progetto progredisca in maniera costante e coerente. Il Facilitatori deve essere una personalità eloquente, dotata di spiccate doti comunicative.
  • Ruoli specialistici: ovvero ruoli ricoperti da specialisti nel loro campo o industria, che forniscono un supporto extra a seconda delle esigenze del progetto. I ruoli specialistici possono variare da progetto a progetto e da un team all’altro. Alcuni ruoli specialistici possono essere: Business Architect, Quality Manager, System Integrator.

DSDM: quando è utile?

Il Dynamic System Development Method risulta utile per un’azienda, qualora l’organizzazione dedichi un ruolo prioritario allo sviluppo rapido, così come al rispetto dei tempi e del budget, all'abbattimento della burocrazia e al miglioramento della comunicazione tra i team di lavoro. In questo caso, il DSDM potrebbe rappresentare una soluzione che vale la pena esplorare.

La trasparenza è un valore fondamentale per Appvizer. Come media company, il nostro obiettivo è quello di fornire ai nostri lettori un contenuto utile e di qualità, che al tempo stesso permetta ad Appvizer di vivere di questo contenuto. Ecco perché ti invitiamo a scoprire il nostro business model.   Per saperne di più
Definizioni backgroundTeam di progetto: tutti per uno, uno per tutti
Definizioni
4 mesi fa
Team di progetto: tutti per uno, uno per tutti
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
Consigli backgroundCome fare un progetto? Guida pratica per punti
Consigli
8 mesi fa
Come fare un progetto? Guida pratica per punti
Come realizzare un progetto efficace? Hai molte idee in testa e non sai come metterle in pratica in modo ordinato? Organizza i tuoi pensieri tramite la nostra guida pratica su come fare un progetto!
Definizioni backgroundMetodo Scrum: perché affidargli i vostri progetti?
Definizioni
anno scorso
Metodo Scrum: perché affidargli i vostri progetti?
Perchè la metologia scrum è perfetta per lo sviluppo software? facciamo un viaggio per spiegare come funziona questa metologia e cosa la differenzia dalle altre tipologie di agile project management
Software background3 Software di Project Management Gratis a confronto
Software
13 giorni fa
5 Software di Project Management Gratis a confronto
Sei un project manager e stai cercando un software di gestione dei progetti efficiente e ottimale senza andare in bancarotta? Leggi il nostro articolo sui software di project management gratuiti! 
Definizioni backgroundUrgente o Importarte? La matrice Eisenhower per assegnare la giusta priorità
Definizioni
6 mesi fa
Urgente o Importarte? La matrice Eisenhower per assegnare la giusta priorità
La matrice Eisenhower è un utile strumento per assegnare i livelli di priorità alle task. Questa metodologia si rivela molto utile per una gestione del tempo e del carico di lavoro ottimale attraverso una divisione delle task in importanti e urgenti. Continuate la lettura pere saperne di più.
Definizioni backgroundVantaggi dei software CRM
Definizioni
6 mesi fa
Deliverable di progetto > step necessari per ottimi risultati
Assicurarsi ottimi risultati finali in una realizzazione progettuale? È possibile, grazie alla deliverable di progetto! Scopri di cosa si tratta e quali sono le caratteristiche di questo prodotto intermedio realizzato in sede di progetto.
Consigli backgroundWBS: Date un taglio ai vostri progetti
Consigli
6 mesi fa
WBS: Date un taglio ai vostri progetti
L'applicazione del metodo WBS (Work Breaking Structure) consente di suddividere un progetto padre in task e subtask figli. Si tratta di una soluzione che semplifica notevolmente l'attività e la comunicazione di project manager e team.