Die Softwaretechnik beschäftigt sich mit der Entwicklung von Software, der Organisation und Modellierung der zugehörigen Datenstrukturen und dem Betrieb von Softwaresystemen.
Aufgrund des hohen Aufwandes zur Erstellung und Wartung komplexer Software erfolgt die Entwicklung durch Softwareentwickler anhand eines strukturierten Projekt-Planes. Dieser Plan, das Vorgehensmodell, unterteilt den Entwicklungsprozess in überschaubare, zeitlich und inhaltlich begrenzte Phasen. Die Software wird somit Schritt für Schritt fertiggestellt. Die Phasen sind während des ganzen Entwicklungsprozesses eng miteinander verzahnt.
Die Softwaretechnik beinhaltet den gesamten Prozess von der Identifizierung des Bedarfs bis hin zur Inbetriebnahme einer konkreten IT-Lösung, zum Teil auch darüber hinaus. Hauptgegenstand ist die Bereitstellung und Einführung einer Anwendungssoftware, teilweise auch der benötigten Hardware und Netzwerke.
Die zu implementierende Software kann entweder eine Individualsoftware oder eine Kombination von Standardsoftware sein.
In der Lehre werden ältere Vorgehensmodelle oft als falsch beschrieben. Dies ist jedoch nicht der Fall; vielmehr hat jedes Vorgehensmodell in Abhängigkeit von dem konkreten Projekt eine Existenzberechtigung. Klassische Vorgehensmodelle sind:
In den letzten Jahren wurde eine neue Form von leichtgewichtigen Vorgehensmodellen zunehmend etabliert, die lose kombiniert als "agile Methoden" beschrieben werden. Siehe dazu auch den Artikel 'Kostenschätzung in agilen Projekten: Planlos?'.
Zu den agilen Methoden zählen:
Die folgende Abbildung zeigt das Prinzip von Scrum: