Web-Entwicklung und Software-Engineering
Zwei Welten begegenen sich? Cool und spontan gegen langweilig und durchorganisiert?
Klischees, keine Frage, auch wenn sie sich hier und da bewahrheiten.
Aber schauen und denken wir doch einfach mal nach. Und zwar an Hand eines Klassikers, dem „Schwarzbuch“ von Ernst Denert, das offiziell den Titel “Software-Engineering” trägt. 1991 gab es die erste Ausgabe und im Jahr 1992 einen korrigierten Nachdruck.
Computer gab es damals schon, keine Frage. Aber von Internet und Web 2.0 konnte man damals nicht mal träumen, weil es schlicht unvorstellbar war, dass man Telex und Lochstreifen bald nur mehr im Museum finden würde.
Und was wurde vor 16 Jahren zur Systemspezifikation geschrieben?
„Die Systemspezifikation eines Informationssystems definiert dessen Schnittstellen zur Umwelt, d.h. zu seinen menschlichen Benutzern und meist auch zu anderen (Nachbar-)Systemen. […] Sie ist das wichtigste Projektdokument, denn sie legt fest, was die Anwender (Auftraggeber) bekommen sollen bzw. was die Entwickler (Auftragnehmer) zu realisieren haben.“
Streiche „Informationssystem“, setze „Web-Site“. Eine Web-Site hat menschliche Benutzer, ganz klar. Und wenn es sich auch „nur“ um einen durchschnittlichen Internet-Aufritt handelt, wird es eine Datenbank geben, mit der Daten ausgetauscht werden müssen.
„Richtige“ Schnittstellen kommen dann beispielsweise bei Online-Shops ins Spiel, wenn nämlich der Shop mit dem Warenwirtschaftssystem oder der Buchhaltungs-Software zusammenarbeiten soll. Und je umfangreicher ein Web-Projekt wird, desto wichtiger ist eine Spezifikation. Und für Web-Anwendungen ist ein Fachkonzept schlicht unerlässlich.
Leider hat sich diese Erkenntnis aber noch immer nicht überall durchgesetzt. Das mag daran liegen, dass es in der Web-Programmierung viele Quereinsteiger gibt, die die Informatik nicht von der Pieke auf gelernt haben. Das mag auch daran liegen, dass Internet-Projekte ja insgesamt nicht soooo lang dauern und der Kunde es ab der Vertragsunterzeichnung eilig hat und schnell ein Ergebnis sehen will. Und es mag natürlich auch daran liegen, dass nicht alle Kunden eine eigene IT-Abteilung haben, die den Prozess der Software-Entwicklung kennen. Ihnen fällt es folglich nicht immer leicht, die Bedeutung der Spezifikation und ihrer Abnahme zu verstehen.
Dabei ist das ja kein Konstrukt, das es nur in der Software-Entwicklung gibt. Wer ein Haus bauen möchte, wird verstehen, dass es zunächst einen Bauplan geben muss. Nur wenn der Bauherr klar dargestellt hat, wie das Haus aussehen soll, kann der Baumeister mit seiner Arbeit beginnnen.
Und wenn sich jemand beim Schneider einen Anzug schneidern lassen möchte, ist auch hier eine Abstimmung erforderlich, bevor der Schneider den Stoff zuschneidet. Kommt der Kunde zur Anprobe, sind sicher noch kleinere Korrekturen möglich. Aber sollte er zwischenzeitlich zur Ansicht gekommen sein, dass er gar keinen Anzug braucht, sondern eher einen Smoking, ist dieser Änderungswunsch nicht mehr ohne weiteres zu erfüllen.
Genausowenig kann der Bauherr nach dem Richtfest vom Baumeister verlangen, dass doch das ganze Haus unterkellert werden soll und nicht nur die Hälfte der Fläche. Auch die Raumaufteilung lässt sich im Nachhinein nur mit großem Aufwand ändern - wenn tragende Wände betroffen sind, auch gar nicht.
Ist doch logisch, denkt manch einer jetzt bestimmt.
Ja, ist es auch.
Aber trotzdem mangelt es Nicht-Informatikern manchmal an der Einsicht, dass auch Software einen Keller und tragende Wände hat. Und demzufolge bedeuten manche Änderungswünsche in Analogie zum Schneider, dass dieser zumindest Teile des Kleidungsstücks aus einem neuen Stück Stoff neu zuschneiden und die bereits zugeschnittenen Teile wegwerfen muss.
Eigentlich sollte sogar das Interesse des Auftraggebers an einer Systemspezifikation fast noch ein wenig größer sein als das des Auftragnehmers. Denn sobald ersterer die Spezifikation abgenommen hat, weiß er, was er bekommt. Er ist abgesichert und weiß, worauf er sich freuen kann. Er weiß auch, womit er in Zukunft am Markt auftreten wird und wie die Anwendung interne Arbeisprozesse verändern wird. Er hat das Ziel vor Augen und kann sich konkret darauf vorbereiten, denn sollte ihm der Auftragnehmer etwas anderes liefern, kann er dieses zurückweisen oder nachbessern lassen, weil er ja etwas anderes vereinbart war.
Je klarer die Spezifikation ist, desto einfacher wird die Umsetzung für den Auftragnehmer. Er gibt keine Diskussionen mehr über das Ziel, denn das liegt ja fest. Vielleicht kommt man hier und da rechts- und linksrum zum Ziel, aber es gibt keine Alternativziele.
„Die Systemspezifikation ist das wichtigste Projektdokument“. Ein Satz also, der von 1992 bis 2008 nichs von seiner Aktualität eingebüßt hat und der für ein Buchungssystem auf dem Großrechner genauso gilt wie für eine moderne Web-Anwendung und einen umfangreichen Internet-Auftritt.
Abonnieren Sie jetzt unseren RSS-Feed und bleiben Sie so immer auf dem Laufenden!
Diese Artikel dürften Sie auch interessieren
- Die Anforderungsanalyse in der Software-Entwicklung
- Neue Suchmaschine
- Suchmaschinen-Optimierung für kleine Unternehmen
- Die richtige Nische finden
- Outsourcing und Near-Shoring in der Software-Entwicklung


am 11 April, 2008 um 14:08
Super! Dem ist fast nichts mehr hinzuzufügen. Leider verstehen viele Kunden die Wichtigkeit eines solchen Dokumentes immer noch nicht. Selbst bei größeren Unternehmen wird oft auf eine seriöse vorgehensweise verzichtet und einfach mal drauf los gebaut. Wird dann nach fortgeschrittener Projektdauer festgestellt, dass das komplette Projekt bzw. Teilbereiche in die falsche Richtung gehen ist es für eine Umkehr oft zu spät oder zu teuer. In vielen Fällen kommt dies durch Kommunikationsprobleme zwischen Technikern und Nicht-Technikern zustande. Um solche Probleme zu vermeiden ist einfach noch viel Aufklärungsbedarf erforderlich. Unternehmenswebseiten sind heute ja schließlich ein Aushängeschild des Unternehmens und weitaus mehr wie schlichter HTML-Code welcher Informationen strukturiert.