Mario Sedlak
Softwareentwicklung
Siehe auch
Software
Computer
Hauptthemen

Beim Spezifizieren an Änderungen denken

Dass eine Software später einmal geändert oder erweitert werden soll, ist nicht die Ausnahme, sondern der Normalfall. Endgültige Funktionswünsche gibt es nur in Übungsaufgaben in der Schule. Wenn ich eine Spezifikation schreibe, überlege ich mir daher auch gleich, wie die Sache in Zukunft aussehen könnte. Spezifiziere ich z. B. eine neue Funktion für ein Dokumentenverwaltungsprogramm, möchte ich eventuell gerne schreiben: "Diese Funktion soll für alle Dokumenttypen, die es jetzt oder in Zukunft geben wird, verfügbar sein." Mit dieser Idee bin ich jedoch auf heftigen Widerstand gestoßen. Ich darf die Anforderungen nicht so formulieren, dass bei zukünftigen Änderungen irgendetwas "automatisch" richtig funktionieren wird. Stattdessen soll ich, wenn es einen neuen Dokumenttyp gibt, eine neue Spezifikation schreiben, die alle bisher bereits für andere Dokumenttypen vorhandenen Funktionen durchgeht und (nochmals) spezifiziert.

Vergleiche

Ich verstehe, dass es einfacher ist,

Aber das ist so wie zu sagen: "Ich verwende Word nur noch als Schreibmaschine, denn die automatisch erstellten Seitenumbrüche, Nummerierungen, Referenzen usw. machen alles zu kompliziert."

Mögliche Erweiterungen voraussehen

Manche meinen, eine Softwarefirma soll strikt nur das tun, was beauftragt ist, keinen Strich mehr. Ich hingegen denke, dass manchmal absehbar ist, welche Erweiterungswünsche der Kunde haben könnte und versuche diese vorauszusehen und dort zu berücksichtigen, wo es jetzt nicht viel Aufwand verursacht, später aber größeren Aufwand einsparen kann. Das heißt nicht, dass man diese Zusatzerweiterungen dem Kunden gratis gibt. Aber es heißt,

Vergleich

Nur das derzeit unbedingt Notwendige zu tun, ist so, wie wenn du beim Einkaufen nur das kaufst, was du sofort verbrauchen willst. Klingt vernünftig: Du kaufst nur, was du brauchst. Aber es bedeutet: Wenn du morgen Früh einen Kaffee trinken willst, musst du vorher in den Supermarkt...

Weiter

Programmieren

Siehe auch