Kundenindividuelle Software-Systeme sind trotz bekannter Erfolge ein immer noch umstrittenes Thema, denn die Kosten und die Qualität maßgeschneiderter Lösungen sind oftmals nicht ganz durchschaubar oder verstecken im Nachhinein dramatische Kosten für Pflege, Änderungsaufwand und Weiterentwicklung. Der Kommentator Dirk Ortmann, Geschäftsführer der Softways GmbH, beschäftigt sich sei 1988 kontinuierlich mit Massendatenabrechnungssystemen; seit 1995 verbindet sich dieses Spezial-Know-how mit dem Namen Softways. Die „billing on demand“-Lösungen von Softways kommen schon heute überall dort zum Einsatz, wo die Abrechnung transaktionsorientierter Massendaten ein Höchstmaß an Flexibilität, Leistung und Langlebigkeit erfordert. Jüngstes Beispiel für die Implementierung aus dem „billing on demand“-Framework ist das Abrechnungssystem der streckenbezogenen LKW-Maut, das im Januar 2005 erfolgreich in Betrieb genommen wurde.

Dirk Ortmann: „Die Abrechnungssysteme der Softways GmbH rechnen Millionen Euro pro Tag ab. Was für Kosten im Fehlerfall entstehen würden, lässt sich leicht ausmalen. Um Fehler von vornherein zu minimieren, halten wir uns bei unserer Arbeit an ein straffes Projektmanagement, dessen wesentliche Bestandteile Disziplin und Konsequenz sind. Zusätzlich ist unsere Philosophie, dass der Kunde so schnell wie möglich das System eigenständig betreiben, konfigurieren und weiterentwickeln kann, um zu gewährleisten, dass auf den Kunden keine unerwarteten Pflege- und Wartungskosten zukommen.

Am Anfang steht der Mensch

Im Allgemeinen wird gesagt, dass die beteiligten Menschen aus Geschäftsführung, Projektmanagement, Software-Entwicklung und letztendlich die Anwender zu 50 Prozent zum Projekterfolg beitragen. Ich hingegen sage, dass der eigentliche Projekterfolg zu 100 Prozent von den Menschen abhängt, da diese hinter allen Funktionen und Bereichen stehen.

Hier stecken bereits Gefahrenpotenziale in der Projektdefinition, denn falsch oder unzureichend gesetzte Zielsetzungen durch die Geschäftsführung bewirken von vornherein eine Entwicklung in die falsche Richtung. Das Projektmanagement darf nicht konfliktscheu, muss fachlich kompetent sein und für schnelle und kurze Entscheidungswege sorgen. Hier entsteht die Schnittstelle zwischen Auftraggeber und Entwickler.

Ein erfahrener Entwickler hat eine bis zu 20-fach höhere Produktivität als ein „Junior-Entwickler“. Durch den Einsatz erfahrener Entwickler werden Implementierungszeiten gekürzt und somit Kosten reduziert. Zusätzlich ist die Integration der Anwender besonders wichtig, da hier Erfahrungen aus den speziellen Geschäftsvorfällen mit in das Projekt einfließen und die Akzeptanz der Nutzer dadurch gefördert wird.

Die Projektdefinition: Grundlage allen Übels

Eine eindeutige Definition des Projektziels sowie klar vorliegende stabile Anforderungen tragen zu 30 Prozent zum Projekterfolg bei. Grundlegend ist die Erstellung eines Pflichtenheftes als eine der wichtigsten Aufgaben vor der Realisierung. Um von Anfang an widerspruchsfreie und konsistente Anforderungen zu erhalten, erarbeiten wir das Pflichtenheft mit dem Kunden gemeinsam. Falls dieses Pflichtenheft bereits auf nicht zutreffende Angaben beruht, ist der Änderungsaufwand im Nachhinein enorm und kann somit das Eintreten des ROI negativ verändern.

Das Entwicklungspuzzle

Die dritte Erfolgskomponente ist die Software-Entwicklung mit all ihren Teilprozessen. Bei der Auswahl der Software-Architektur steht die Investitionssicherheit im Vordergrund. Eine Abrechnungs-Software muss einen überdurchschnittlich langen Lebenszyklus durchlaufen und ständige Wartbarkeit und Skalierbarkeit ermöglichen. Die falsche Wahl der Software-Architektur hat zur Folge, dass ungeplanter Wartungsaufwand auf den Kunden zukommt oder im schlimmsten Fall der Lebenszyklus des Systems verkürzt wird.


Das „Drei-Ecken-Modell“

Unsere Vorgehensweise setzt sich generell aus drei grundlegenden Schlagworten zusammen: „Schnell, gut und preiswert“. Wir neigen dazu, dem Kunden zu sagen, dass er zwei der drei Kriterien wählen darf. Allerdings gerät der Kunde schnell ins Grübeln und muss die Priorität für sein Projekt selbst definieren: Will er es schnell und gut? Dann muss entsprechendes Budget vorhanden sein. Schnell und preiswert? Nun denn, da kann das Projekt schnell zum „Bananenprodukt“ werden und reift beim Kunden. Gut und preiswert? Gerne, aber dann ohne Termindruck.
Aber als Projektabwickler kommen wir mit diesem Ansatz nicht sehr weit und müssen selbstverständlich alle drei Kriterien beachten und optimieren:

Schnell

Wir arbeiten mit einem aus zahlreichen Projekten entwickelten Framework, aus dem wir die Standardkomponenten eines jeden einzelnen Systems beziehen. Darüber hinaus setzen wir eine Reihe von selbstentwickelten Generatoren ein, mit denen wir das Datenmodell bis zur vollständigen Reife außerhalb der Zielplattform entwickeln, prüfen und verifizieren.

Um möglichst flexibel in der Entwicklung und für spätere Änderungen an den Systemen zu sein, zerlegen wir größere Projekte in mehrere kleinere, die getrennt voneinander bearbeitet werden. Somit können Prozesse parallel und sequenziell abgehandelt werden. Eine parallele Bearbeitung und eindeutige Schnittstellen erleichtern die unabhängige Implementierung eines Systems erheblich. Der Grad der Zerlegung hängt natürlich von den abzubildenden Prozessen und der Systemarchitektur ab.
Alle Entwicklungsarbeiten unterstehen strengen Programmierrichtlinien von der Namens- über die Funktionskonventionen bis hin zu Dokumentationsrichtlinien. Daraus entstehen im Grunde zwei große Vorteile: Zum einen generieren wir daraus eine automatische Dokumentation und zum anderen wird in allen Programmbausteinen eine Transparenz geschaffen. Hier gilt, je kleiner die Programmbausteine sind, desto schneller lassen sie sich entwickeln und testen.

Gut

Um die fehlerfreie Funktion eines Abrechnungssystems zu gewährleisten, durchlaufen die Programmbausteine mehrere Testverfahren. Zusätzlich vermeiden wir Fehlerbehebungskosten, indem jeder Entwickler die Einzelmodule in automatisch generierten und speziell auf das Modul ausgerichteten Testumgebungen testet. Später prüft die Qualitätssicherungsabteilung die Programmbausteine nochmals auf Funktion und Integration bzw. auf Schnittstellentauglichkeit. Die Aufgabe dieser Abteilung ist es, die Qualität der Module festzustellen und nicht herzustellen. Meine Entwickler sind deshalb sehr stark qualitätsorientiert, weil die Behebung der gefundenen Fehler aufwändig ist und Zeit kostet. Eine weitere große Unterstützung finden wir in unseren Tool-gestützen, mehrstufigen Testverfahren. Diese Tools testen ausschließlich die Funktionen in mehrstufig aufgesetzten Verfahren. Bis der Kunde also die ersten Tests selbst durchführen kann, wurde das System bereits mehrere Male geprüft und verifiziert.

Preiswert

Preiswert ist etwas, was seinen Preis wert ist. Im Gegensatz dazu ist etwas teuer, wenn es dem ihm zugedachten Zweck nicht erfüllt. Zum Beispiel kann eine Shareware für 25 Euro teuer sein, aber ein Abrechnungssystem für drei Millionen Euro preiswert.

Durch „preiswertes“ Denken verteilen wir hier unsere Ressourcen nach Know-how und gewährleisten somit, dass unsere Entwickler mit den neuesten Technologien vertraut sind und effizient in ihrem Projektumfeld agieren. Dazu gehört auch ein gewisser Grad an Forschung und Entwicklung, um sinnvoll neue Technologien einzusetzen.
Darüber hinaus entwickeln wir für jedes Projekt eine individuelle Vorgehensweise, um genau auf die definierten Anforderungen einzugehen. Viel Zeit und damit Kosten ersparen wir uns durch unsere automatisch generierte Dokumentation, die mit Hilfe der vorgegebenen Programmressourcen in einer Dokumentationsdatenbank abgelegt wird. Preiswert bedeutet also, etwas Gutes schnell zu entwickeln.

Insgesamt lässt sich sagen, dass der Erfolg unser Arbeit und damit unserer Kunden nicht nur von fachlichem und technischem Know-how, sondern viel von der Berücksichtigung aller im Projektgeschäft wesentlichen Faktoren abhängt.
Die ständige Optimierung unseres „Drei-Ecken-Modells“ (siehe Grafik) ist ein permanenter Prozess, der uns immer wieder aufs Neue fordert, schneller, besser und preiswerter zu werden. Bei jedem Projekt wird dieses Modell immer wieder als Ansporn genommen, um unsere Arbeitsabläufe weiter zu verbessern.

Nur mit der konsequenten Einhaltung dieser Richtlinien und der dazugehörigen Disziplin sind wir in der Lage, Abrechnungssysteme wie das der deutschen LKW-Maut oder der Euro-Vignette zu realisieren. Das Maut-Abrechnungssystem wurde innerhalb von 3.000 Manntagen umgesetzt. Lediglich acht Manntage waren für das Bug-Fixing nötig und es wurde ein einziger Fehler mit einem Hotfix behoben. Dazu ist noch erwähnenswert, dass wir stets termingerecht gearbeitet haben und das bei einer Budget-Überschreitung von nur 6 Prozent.“

Kommentator: Dirk Ortmann