Seit über 35 Jahren1 findet eine wissenschaftliche Auseinandersetzung mit dem Gebiet der Softwareentwicklung statt. Seit den Anfängen konnten bereits bemerkenswerte Fortschritte in den drei Kernbereichen
Heutzutage wird Softwareentwicklung als ein ingenieurtechnischer Prozess verstanden und teilweise als solcher umgesetzt. Trotz einer Erhöhung der Komplexität und des Umfangs der Planungsmethoden und Vorgehensmodelle ist die resultierende Software in Hinblick auf Qualität, Einhaltung des Entwicklungsbudgets und termingerechter Auslieferung oft mangelhaft. Der durch immer komplexere Vorgehensmodelle benötigte Aufwand steht in keinem Verhältnis zu den Verbesserungen durch diese Vorgehensmodelle.