Unified Process (UP) - Start Point

Un progetto UP organizza il lavoro e le iterazioni in quattro fasi temporali principali successive:

  1. Ideazione: visione approssimativa, studio economico, portata, stime approssimative dei costi e dei tempi
  2. Elaborazione: visione raffinata iterativa del nucleo dell'architettura, risoluzione dei rischi maggiori, identificazione della maggior parte dei requisiti e della porta, stime più realistiche
  3. Costruzione: implementazione iterativa degli elementi rimanenti, più facili e a rischio minore, e preparazione del rilascio
  4. Transizione: beta test, rilascio

Queste fasi saranno descritte meglio nel corso dello studio.

Si noti che non si tratta del vecchio ciclo a cascata o sequenziale che prevede di definire tutti i requisiti, prima di passare a una progettazione completa.

L'ideazione non è una fase di requisiti, ma una fase breve in cui viene eseguita un'indagine sufficiente a sostenere la decisione di proseguire con il progetto o di interromperlo.

Allo stesso modo l'elaborazione non è la fase dei requisiti o della progettazione, ma una fase in cui viene implementata in modo iterativo l'architettura del sistema e vengono mitigati i rischi maggiori.

UP colloca le attività lavorative, come per esempio scrivere un caso d'uso del sistema che si vuole sviluppare, nell'ambito di discipline.

In UP quasi tutto è opzionale, tranne alcune pratiche come lo sviluppo iterativo e guidato dal rischio e la verifica continua della qualità.

Non è chiaro lo sviluppo iterativo o UP se:

  • si cerca di definire la maggior parte dei requisiti prima di iniziare la progettazione o l'implementazione
  • si cerca di definire in modo completo l'architettura e di affidarsi ad essa prima della programmazione iterativa e dei test
  • si impiegano giorni o settimane a fare modellazione UML prima della programmazione
  • si pensa che i diagrammi UML siano un modo per definire in modo completo e dettagliato i progetti
  • si considera la traduzione meccanica dei modelli in codice
  • si pensa che ideazione = requisiti, elaborazione = progettazione e costruzione = implementazione
  • si pensa che lo scopo dell'elaborazione sia definire in modo completo e accurato dei modelli, che vengono poi tradotti in codice durante la costruzione
  • si ritiene che la durata ottimale per una iterazione sia tre mesi e non tre settimane
  • si ritiene che adottare UP significhi eseguire molte delle possibili attività e creare molti documenti, e si crede che UP sia un processo formale, complicato e rigido
  • si cerca di pianificare un progetto nel dettaglio dall'inizio alla fine
  • si cerca di prevede in modo speculativo tutte le iterazioni e cosa deve accadere in ciascuna

UP può essere adattato alle metodologie agili:

  • se si preferisce un insieme piccolo di attività ed elaborati UP. Ci si concentri presto a programmare e non sulla documentazione iniziale.
  • essendo UP iterativo ed evolutivo, i requisiti e la progettazione non vengono completati prima dell'implementazione, ma emergono durante le iterazioni
  • se si applica UML con le pratiche dei metodi agili
  • in UP non esiste un piano dettagliato per l'intero progetto:
    • esiste un piano ad lato livello: piano delle fasi, che stima la data della fine del progetto e di altre milestone (grandi obiettivi intermedi e non finali) principali, ma non descrive in modo dettagliato i passi per raggiungere tali milestone
    • esiste un piano dettagliato: piano dell'iterazione che pianifica in maggior dettaglia un'unica iterazione: la successiva e ciò avviene per ogni iterazione.