Softwareentwicklung

In diesem Zusammenhang wird man häufig mit Abkürzungen konfrontiert. Für einige habe ich Links zu Erklärungen zusammengestellt.
Bei Softwareprojekten es das grundlegende Problem, dass der Auftraggeber oft nur eine unvollkommene Vorstellung von dem hat, was er möchte. Erst wenn das Produkt bereits einen hohen Fertigstellungsgrad erreicht hat, kann er beurteilen wie weit es seinen Vorstellungen entspricht. Auch die Entwickler lernen erst im Laufe des Projektes die spezifischen Abläufe des Auftraggebers kennen. Unkontrolliert kann das zu unendlichen Nachbesserungswünschen führen, Zeitpläne sind dann nicht einzuhalten, Dokumentation bleibt auf der Strecke und der finanzielle Rahmen kann nicht eingehalten werden. Zum Ende des Projektes sind dann beide Seiten unzufrieden sind, weil vereinbarte Projektergebnis nicht so geworden ist, wie es hätte sein können und der Kostenrahmen nicht eingehalten wurde.
Es reicht daher nicht zu Beginn des Projektes ein Pflichtenheft zu erstellen, sondern man muss auch Zeit und Raum einplanen den Auftraggeber an Entscheidungsprozessen zu beteiligen, bevor sie vollständig implementiert werden. Fehlentwicklungen können so weitgehend Vermieden werden, Zeit- und Kostenrahmen gehen nicht so leicht verloren. Bekannt sind Verfahren wie RUP, MSF oder XP

MSF Microsoft Solutions Framework
RUP Rational Unified Process
XP Extreme Programming
XUP Extreme Unified Process

Versionsverwaltung

Im Laufe der Evolution einer Software fallen viele Zwischenstufen an. Besonders wenn mehr als eine Person an der Entwicklung beteiligt ist, benötigt man eine Versionsverwaltung. Sie kann nicht nur auf Wunsch jeden beliebigen Entwicklungstand wiederherstellen, auch die Gründe von Änderungen und Erweiterungen können so sauber dokumentiert werden. Besonders verbreitet ist CVS ("Concurrent Version System")

Ein paar interessante Links für Web-Entwickler