Ich kann es ja verstehen, wenn „Hausfrauen mit PC-Kenntnissen“™ beschissene Software schreiben, auch bei Azubis im ersten Lehrjahr hab ich viel Geduld und sogar Mitleid und auch dass der Durschnitts-15-jährige-Hobby-Progger viel Müll produziert kann ich nachvollziehen.
Aber wenn ich eine Software vorgesetzt bekomme, die von einem der größten deutschen Systemhäuser entwickelt wurde und – inkl. dem damit verknüpften Prozess – einfach nur Bullshit darstellt, dann frage ich mich wirklich ob ich meine Berufung nicht verfehlt habe und besser Landschaftsgärtner oder Pfarrer geworden wäre.
Nehmen wir folgendes hypothetisches Beispiel der Anbindung eines stinknormalen Backoffice-Systems an die Bonitäts-Prüfungsschnittle eines großen Scoring-Anbieters.
Wieder mal ein Chaos-Projekt von der Sorte alles muss schnell schnell gehen und innerhalb von 4 Tagen super laufen, weil der Endkunde gepennt hat oder einfach weil es halt fast immer so ist mit den Terminen. Aber was tun wir nicht alles für einen wichtigen neuen Kunden und zaubern gehört mittlerweile tatsächlich zu unseren Stärken.
Erst lachte das Entwicklerherz als wir die zeitgemäße XML-Schnittstelle sahen, aber wie so oft kommen die Schenkelklopfer erst auf den zweiten Blick zum Vorschein. Ein Bekannter hatte das ganze schon mal implementiert. Also denkste dir Samplecode bisschen anpassen, noch mal kurz testen und ab der Fisch – Heimspiel sozusagen. Aber Pustekuchen …
Da sei zunächst das organisatorische Prozedere erwähnt… Es gibt ein tolles Testsystem. Was ja durchaus gerade bei personenbezogenen sensiblen Daten Sinn macht.
Für das Testsystem muss man ein Formular ausfüllen und bekommt die Zugangsdaten. Dumm ist nur wenn man auf dem (elektronischen) Request das Komma nicht zwischen Name und Vorname gesetzt hat, dann wird nämlich die Teststellung erst mal abgelehnt. Muss ja alles seine Form haben. Passierschein 138a sag ich da nur.
4 Stunden später, nach dem man 4 Ansprechpartner, nicht ganz so dezent, aber immer noch sehr freundlich runtergelassen hat und mit 4 weiteren netten Menschen gesprochen hat, bekommt man auch um 14 Uhr an einem Freitag (wo ja eigentlich schon alle im Wochenende sind) den Zugang zum Testsystem. Aus gut unterrichteten Quellen hörte ich übrigens, dass der Testzugang bei nicht ganz so wichtigen Kunden 3 Monate und länger dauert.
Dann testet man so vor sich hin und wälzt sich durch eine 3-stellige-Anzahl Seiten von Doku. Erst wieder die Hoffung, dass sich da mal jemand wirklich Mühe gegeben hat sein Werk ordentlich und intelligent zu dokumentieren. Aber auch hier schwindet die Freude schnell. Die Doku ist teilweise falsch, vollkommen unstrukturiert, mit lustigen Querverweisen (ohne Links in den PDFs!) schauen sie doch mal im Dok XY unter Sektion ABC nach.
Der wirkliche Brüller des Tages war, dass der wichtigste Bestandteil für die Doku, nämlich der Actioncode wie und vor allem welche Abfragen man an die Schnittstelle senden kann, nicht in der Entwicklerdoku beschrieben ist – nein das ja Bestandteil der Vertrags und dem entsprechend in den Ergänzungen zum Vertrag beschrieben! Wat für ein Schwachsinn.
Wenn da nicht die Hilfe des Kollegen gewesen wäre, der sich den ganzen Krampf schon mal in Langform gegeben hat, hätt ich jetzt wieder 50 graue Haare mehr. Ein Anruf und die Sache war geklärt und das Weihnachtsgeschenk für den Bekannten zusätzlich zu seinem Honorar nimmt langsam richtig kostspielige Ausmaße an ;)
Dann bekommt man Testdaten. Die sind natürlich auch teilweise falsch. Und weil die Hütte brennt fährt man Samstag und Sonntag in die Firma zum Arbeiten und weiter experimentieren. Aber wen wundert es da noch dass das Testsystem am Wochenende einfach abgeschaltet wird!
Dann läuft Montagmorgen endlich alles und man fragt mal dezent nach ob man denn jetzt den dämlichen Test (welchen tatsächlichen Sinn macht ein Test mit vordefinierten Daten frage ich mich die ganze Zeit) bestanden hat. Nein so einfach ist das nicht. Erst noch mal das ganze Prozedere mit den finalen (neuen) Testdatensätzen!
Auch das frickelt man zu recht bis alles läuft und stößt auf weitere sehr wundersame Dinge. Ich habe in einer XML-Struktur Felder wie den Namen mit begrenzter Zeichlänge. Hallo? Dann hätte ich auch ne CSV nehmen können wenn der Parser so dämlich ist, dass er nicht selbst das Feld abschneiden kann.
Bei einem Formatfehler eines Feldes bekomm ich statt des Feldnamens eine durchnummerierte Feldnummer als Debug-Meldung zurück – ja da macht XML und seine Tags endlich mal richtig Sinn.
Wer geschützte Keywords wie „und“ in das Feld Name packt gehört einfach ohne weiteren Kommentar erschlagen.
Auch sehr amüsant auf der anderen Seite sitzt ein XML-Parser der kein richtiges XML kann. Toll wenn man bei manchen Tags noch die Leerzeichen entfernen muss, weil er sonst den Tag nicht erkennt und zu allem Überfluss in der Doku noch ein falsches Beispiel steht.
Achja der Test ist auch nicht einfach bestanden, nach dem man die Abfragen erfolgreich durchgeführt hat. Nein da werden erst Logs über Nacht geschrieben und anscheinend vom einzig kompetenten Masterbrain in der ganzen Firma ausgewertet und evtl. so Gott will für gut befunden.
So und mein Job ist es nun einem Nicht-IT-Geschäftsführer zu erklären worin genau unsere wirklich herausragende Leistung besteht dieses Projekt mit nur 2 (Werk-)Tagen Verzögerung (hoffentlich endlich) abschließen zu können.
Und da bin ich wieder dem Gedanken an den Gärtnerjob oder doch Pfarrer zu werden. Auch ne schöne Alternative der Hausverwalter an der der Cote d’Azur, der kostenlos im Gästehaus wohnen darf und noch ein ausreichendes Taschengeld bekommt. Aber der Job war leider schon weg als ich damals davon erfahren habe.