Nach der Planung und der Entscheidung, dass ein neues System erstellt beziehungsweise eine Standardlösung angepasst werden soll, folgt die Phase Entwicklung. In dieser Phase finden alle konstruktiven Aktivitäten statt, die von der Auftragsvergabe bis zur Inbetriebnahme des Systems erforderlich sind. Das System wird in dieser Phase erstellt. Die Aktivitäten werden auch unter dem Begriff Anwendungsentwicklung oder Softwareentwicklung zusammengefasst. Während der Phase Entwicklung arbeiten, bezogen auf den gesamten Lebenszyklus, die meisten Personen zeitgleich an der Konstruktion des Systems.
Die im Folgenden beschriebenen Aktivitäten der Softwareerstellung sind die Kernaktivitäten des Software Engineerings.
Ausgehend von den bereits in der Planung ermittelten Anforderungen werden fachliche Anforderungen weiter detailliert und verfeinert. Diese Aktivitäten werden Requirements Engineering genannt. Dabei sind alle relevanten Stakeholder des Systems involviert. Nach der Ermittlung der fachlichen Anforderungen werden die geforderten Eigenschaften des zu erstellenden Systems in einer Spezifikation dokumentiert.
Auf Basis der Spezifikation wird der interne Aufbau des Softwaresystems (die Architektur) festgelegt. Dazu werden die Bedürfnisse der Stakeholder analysiert, gegeneinander abgewogen und durch eine Menge von Entscheidungen und Gestaltungsaktivitäten eine Architekturdefinition entwickelt. Nach diesen Vorgaben wird der Programmcode des Systems implementiert und damit das System erstellt. Erst während der Implementierung wird der Quellcode eines Systems programmiert und damit das System als solches konstruiert.
Alle im Verlauf der Erstellung erzeugten Artefakte werden dahingehend geprüft, ob sie festgelegte Anforderungen erfüllen. Zwar werden Maßnahmen und Aktivitäten zur Qualitätssicherung bereits begleitend über alle Aktivitäten durchgeführt, dennoch kann erst nach Abschluss der Implementierung das System als Ganzes getestet werden. Das Testen des Programmcodes erfolgt daher in verschiedenen Teststufen, je nach aktuellem Stand des Projekts.
In IT-Organisationen gibt es oft eigene Abteilungen (z. B. Anwendungsentwicklung), die für die Erstellung von Software zuständig sind. Nach der Fertigstellung einer Software erfolgt die Übergabe an die für den Betrieb des Systems zutändige Abteilung.