Ohjelmistotyön vaihejako (ylhäältä alaspäin):
määrittely |
suunnittelu |
toteutus |
testaus |
dokumentointi |
Ohjelmistotyö etenee käytännössä harvoin yksinomaan yhdensuuntaisesti. Käytännössä välivaiheissa ilmenneet ongelmat johtavat johonkin aikaisempaan vaiheeseen palaamiseen. Esimerkiksi toteutusongelma voi johtaa uudelleensuunnittelun tarpeeseen. Lisäksi dokumentointia tehdään jatkuvana prosessina jokaisessa vaiheessa.