Softwareentwicklung als standardisierter Prozess.
Kritiker des Modells der Softwareentwicklung als standardisierter Prozess sehen Software als "ausführbares Wissen", dass in einem kreativen Prozess hergestellt werden muss, und somit nicht standardisiert oder nicht ingenieurmäßig konzipiert werden kann. Bei der ingenieursmäßigen Erstellung von Software dreht sich zumeist alles um ein bestimmtes Vorgehensmodell, dass quasi als Leitfaden oder Projektplan zur Aufgabenverteilung und Zeitplanung dient. Auch macht sie die Dokumentation des Projektes einfacher, und verständlicher für den eventuellen Nutzer der Daten. Vor allem für Software, die schwer zu erstellen und zu warten ist, oder für die relativ viel Manpower aufgewendet werden muss, ist ein Entwicklungsplan hilfreich. Ein Entwicklungsplan unterteilt den Entwicklungsprozess in überschaubare, zeitlich und inhaltlich begrenzte Phasen. So kann die anfallende Arbeit Schritt für Schritt, in einen beliebigen Detaillierungsgrad unterteilt werden. Hierzu gibt es zwei verschiedene Arten von modelle: Zum einen das Wasserfallmodell, bei dem alle Prozesse nacheinander stattfinden, und zum Anderen das Spiralmodell, das vorsieht dass alle anfallenden Änderungen einer Software im Echtbetrieb stattfinden. Durch zielgerichtetes Vorgehen soll die Qualität des gesamten Systems gewahrt werden. Auch sind Ziele der Planung Personenunabhängigkeit und frühzeitige Fehlererkennung durch festgeschriebene Testaktivitäten.
Allerdings ist die Frage nach der optimalen Art und Weise der Erstellung von Software im Wesentlichem eine Philosophiefrage. Auf der anderen Seite steht das Argument, dass statische und eindimensionale Modelle haben wenig mit der Praxis zu tun haben. Softwareentwicklung sollte agil in einem kreativen Prozess mit minimaler Verwaltung stattfinden. Immerhin ist das Ziel der Projektplanung der Projekterfolg und nicht das Vorgehensmodell.
