SKG Ingenieurgruppe

Hier erfahren Sie Neues aus der Welt des Business und der IT

Dezember 7, 2019

Die Konzeptphase in der Softwareentwicklung

Warum sie wichtiger ist, als das eigentliche Programmieren

Die Konzeptphase in der Softwareentwicklung

Ich bin bereit seit Jahren beruflich in der Softwarebranche unterwegs. Vornehmlich im Bereich Softwareentwicklung. Wenn ich mich so mit meinen Freunden und Bekannten unterhalte, ist immer das Bild des nerdigen Programmierers, der in einem dunklen Raum vor einem Bildschirm hockt und dort magischen Code eingibt, der zu verwendbarer Software wird.

Das ist aber ein Klischee. Früher war es durchaus so, aber der heutige Softwareentwicklungsprozess hat kaum noch etwas mit dem Vorgehen vor 40 Jahren zu tun.

Der Grund liegt darin, dass die Software früher deutlich einfacher war. Ich denke da an Spiele, die auf dem Commodore Amiga oder 64 entwickelt wurden. Da genügten teilweise Teams von maximal 5 Personen, oft wurden auch sehr gute Spiele in Eigenregie entwickelt. Das ist heute nicht mehr möglich. Software ist so komplex geworden, dass sich einzelne Personen nicht mehr mit allen Aspekten auskennen können. Es gibt Spezialisten für jeden Aspekt:

  • Benutzungsoberfläche
  • Datenbank
  • Tester
  • Konzepte
  • Logik
  • etc.

Diese Spezialisten zu koordinieren ist eine herausfordernde Tätigkeit. Vor allem in der Konzeptphase kann man sehr viel Geld sparen, welches später x-fach draufgezahlt werden muss, wenn es man sie nicht ausreichend genutzt hat.

Der Grund ist einfach: Wenn ich am Anfang, da wo die Anforderungen an das fertige Softwareprodukt spezifiziert werden, eine Anpassung vornehmen muss, dann ist dies mit wenig Aufwand zu erreichen. Ein Beispiel:

"Das System muss dem Benutzer die Möglichkeit geben, eine Hausnummer einzugeben im Rahmen der Adresserfassung."

Wird diese Anforderung am Anfang vergessen, aber vor dem Ende der Erfassung der Anforderungen nachgetragen, sind die Kosten minimal. Das Dokument ist anzupassen, eventuell kommen noch kleinere Diskussionen (Hausnummer hat x Stellen, kann Buchstaben enthalten).

Auf der anderen Seite kann es passieren, dass die Anforderung komplett vergessen wird und erst nach Auslieferung der Software bekannt wird. Die Folgen sind verheerend:

  • Die Software kann nicht genutzt werden, da die Adresseingabe nicht möglich ist.
  • Der Ruf des Unternehmens leidet. Folgekäufe könnten ausbleiben.
  • Der Kunde könnte mit Schadensersatzforderungen drohen und diese auch umsetzen.

Eine Anpassung der Software ist mit hohem Aufwand verbunden:

  • Die Anforderungen müssen erfasst werden. Ein Team, was vielleicht mittlerweile aufgelöst wurde, muss wieder zusammenkommen. Oder ein neues Team muss eingearbeitet werden.
  • Neuer Code muss in die Software eingebaut werden.
  • Abhängige Artefakte müssen gegebenenfalls auf angepasst werden. Im vorliegenden Beispiel wären das Druckschnittstelle und ausgedruckte Dokumentenvorlagen.
  • Die Veränderungen müssen getestet werden. Vor allem Nebeneffekte zu anderen Codestellen sind möglich.
  • Dokumentation (Screenshots) muss überarbeitet werden.
  • Das Release muss durchgeführt werden.

Wie wir sehen, ist eine saubere Konzeptphase eine gute Möglichkeit, Geld zu sparen.