Differenze tra Feature Driven Development (FDD) e Dynamic Systems Development Method (DSDM)

Differenze tra Feature Driven Development (FDD) e Dynamic Systems Development Method (DSDM)

Oltre alle metodologie più conosciute come Scrum, Kanban e XP, ne esistono altre tra cui: Feature Driven Development (FDD) e Dynamic Systems Development Method (DSDM).

Differenze tra Feature Driven Development (FDD) e Dynamic Systems Development Method (DSDM)

Feature Driven Development (FDD)

Il modello FDD basa i suoi principi sullo sviluppo per requisiti: il software da sviluppare viene suddiviso in piccole funzionalità che devono essere implementate in tempi brevi.

Il modello FDD è composto da tre fasi:

  1. Creazione del modello generale: partendo dall’analisi dei requisiti vengono identificate le aree di competenza dei membri del team.
  2. Lista delle feature: utilizzando il modello generale prodotto viene realizzato l’elenco dei requisiti da soddisfare. In questa fase è fondamentale la collaborazione tra Cliente, Team di sviluppo e Utilizzatori.
  3. Progettazione ed implementazione: in base alla priorità vengono scelte alcune feature e assegnate al team di sviluppo. Al termine dell’implementazione delle singole feature, queste verranno integrate e verranno assegnate nuove feature al team di sviluppo. Questa fase viene re-iterata fino al termine dello sviluppo, soddisfacendo tutte le esigenze definite nel modello generale.

Le figure chiavi di questo modello sono:

  1. Project Manager: responsabile degli aspetti finanziari e amministrativi del progetto;
  2. Chief Architect: responsabile della progettazione del sistema;
  3. Development Manager: definisce le tempistiche nello sviluppo;
  4. Chief programmer: è un programmatore con esperienza che segue i programmatori durante il processo di sviluppo;
  5. Domain Expert: garantisce che il team riesca a produrre i requisiti servendosi della sua esperienza tecnica;
  6. Release Manager: responsabile dello sviluppo del sistema;
  7. Language guru: ha una conoscenza approfondita dei linguaggi di programmazione che verranno utilizzati durante lo sviluppo.

Dynamic Systems Development Method (DSDM)

La metodologia DSDM, può essere utilizzata per progetti che abbiano tempi e budget ristretti e si basa sul principio fondamentale secondo il quale:
“I valori migliori emergono quando i progetti sono allineati ad obiettivi ben definiti e coinvolgono risorse motivate.”

Si basa su quattro principi:

  1. lavoro di gruppo;
  2. l’alta qualità ottenuta grazie a velocità e robustezza;
  3. sviluppo incrementale;
  4. dare priorità alle funzionalità che rendono di più in termini di business.

Nell’ambito disegnato da questi principi si inseriscono le regole di base, che sposano appieno i principi di tutto il movimento agile:

  1. utenti coinvolti attivamente;
  2. team con potere decisionale;
  3. rilasci frequenti del prodotto;
  4. Priorità alle funzionalità finalizzate al business;
  5. sviluppo iterativo e incrementale;
  6. reversibilità dei cambiamenti effettuati durante lo sviluppo
  7. i requisiti e le specifiche sono definite solo ad alto livello;
  8. la fase di test è integrata nel ciclo di vita del prodotto;
  9. la collaborazione e la cooperazione fra gli attori coinvolti nel progetto sono d’obbligo.

In conclusione possiamo affermare che l’approccio iterativo ed incrementale per lo sviluppo di una soluzione, utilizzato dal metodo DSDM, assicura che le caratteristiche più importanti della soluzione stessa vengano realizzate per prime secondo il livello di qualità concordato. La consegna incrementale della soluzione in continua evoluzione assicura che, il giorno della consegna finale la qualità sarà al livello delle aspettative.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *