Die sechs Schritte im Lebenszyklus der Programmentwicklung sind Benutzeranforderungen, Problemanalyse, Programmdesign, Programmcodierung, Programmtest und -abnahme. Der spezifische Wortlaut dieser Schritte kann variieren. In einigen Versionen dieses Modells kann die Akzeptanz als Implementierung bezeichnet werden.
Der erste Schritt besteht darin, die spezifischen Probleme oder Bedürfnisse des Benutzers zu ermitteln. Dieser Schritt umfasst in der Regel Brainstorming und Recherche sowie weitere Teilschritte, wie beispielsweise eine Machbarkeitsanalyse. Der Problemanalyseschritt ist die Phase, in der das System definiert und die Softwareprozesse entwickelt werden. Der Programmentwurfsschritt ist die Phase, in der das physikalische System entwickelt wird.
Im nächsten Schritt erfolgt die Codierung. Bestimmte Codierungsaufgaben können durch die Aufgabenzuweisung verschiedenen Entwicklern zugewiesen werden. Im fünften Schritt wird das Programm getestet, um sicherzustellen, dass es den Benutzeranforderungen entspricht. Während dieses Schrittes testen Qualitätsanalysten das Programm auf Fehler. Während der Abnahme- oder Implementierungsphase wird das Programm von den Benutzern betrieben. Wenn es ohne Fehler läuft, gilt es als gestartet und das Programm wurde akzeptiert.
Dieses Modell ist eng mit einer Reihe von Schritten verbunden, die als strukturierte Systemanalyse und -design bezeichnet werden. Dies ist ebenfalls ein sechsstufiger Prozess, der nach einer Benutzeranfrage beginnt.