Analisi, progetto, codifica, test, consegna, manutenzione
La presenza di un committente, di un interlocutore che richiede la soluzione software ai propri problemi, moltiplica i momenti descritti precedentemente: chi sviluppa non è più chi conosce il problema e neppure chi immagina la soluzione; nasce un flusso di informazioni tra il richiedente e il costruttore dove ogni incomprensione e trascuratezza non fa altro che generare errori.
Giungiamo così alle sei classiche fasi: analisi, progetto, codifica, test, consegna e manutenzione.

Nella figura precedente vediamo uno schema che riassume i personaggi coinvolti nello sviluppo di un progetto software: il manager, lanalista, il programmatore, linstallatore, gli impiegati e lindustria per cui questi attori lavorano.
Il manager intuisce una esigenza risolvibile attraverso un sistema informativo, quindi attiva lanalista che studia il lavoro degli impiegati per creare un modello informatizzabile.
Il risultato dellanalisi viene consegnato al programmatore che realizza il codice dellapplicazione.
Linstallatore consegna fisicamente le macchine ed i programmi, mentre lanalista illustra agli impiegati le funzionalità del sistema.
Man mano che il software viene usato, al manager arrivano i primi risultati. Se sono quelli attesi il progetto può considerarsi concluso, altrimenti verrà richiamato lanalista per definire con maggiore dettaglio le parti non soddisfacenti e rientrare in un nuovo ciclo di produzione.