We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Betriebssystemwechsel von VMS nach Linux am Beispiel einer Produktionsumgebung

00:00

Formal Metadata

Title
Betriebssystemwechsel von VMS nach Linux am Beispiel einer Produktionsumgebung
Subtitle
Betriebssystemwechsel von VMS nach Linux: Migration von Anwendungen am konkreten Fall.
Title of Series
Number of Parts
95
Author
License
CC Attribution 4.0 International:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
Der Vortrag erläutert die Vorgehensweise bei der Ablösung eines proprietären Betriebssystem (VMS) durch Linux und der Migration der Anwendungen und Datenbanken.
Keywords
22
Thumbnail
54:22
27
29
36
Thumbnail
1:05:58
38
Thumbnail
1:00:58
65
Thumbnail
44:43
75
91
Thumbnail
1:21:58
94
VirtualizationEnterprise architectureDirection (geometry)Open sourceLINUXSoftware bugOperating systemRoute of administrationMoment (mathematics)Order (biology)Computer animationXMLLecture/Conference
Process (computing)SoftwareVirtualizationRoute of administrationOperating systemDirection (geometry)Letterpress printingCompilerVAX/VMSComputer animation
Sound effectRun-time systemLecture/Conference
Row (database)DatabaseDatabaseInformation and communications technologyKommunikationSQL ServerComputer scienceComputer animation
SoftwareVariable (mathematics)String (computer science)Data typeDatabaseWorkstation <Musikinstrument>ReifegradmodellRoundingLecture/ConferenceDiagram
Noten <Programm>Scrum (software development)Computer programmingProcess modelingNumberPlane (geometry)Device driverINTEGRALWordSoftwareSet (mathematics)Software developerPhysical lawOverclockingInternetInformatikstudiumVersion <Informatik>Form (programming)Data typeLecture/Conference
SoftwareVersion <Informatik>Process (computing)Film editingMach <Betriebssystem>LINUX
IT-AbteilungDOSMoment (mathematics)Direction (geometry)Lecture/Conference
Computer animationDiagram
Hausdorff spaceProbability distributionLecture/Conference
Interface (computing)Form (programming)IntelSoftwareRoute of administrationProgramming languageDatabaseSocial classMassCategory of beingScripting languageSource codePentahoScrum (software development)VAX/VMSMischung <Mathematik>SummationDepictionEmailPhysical quantityComputer animation
SoftwareProcess (computing)LaufzeitLecture/Conference
Direction (geometry)Physical quantityFunction (mathematics)DatabaseLengthComputer animation
Software developerSet (mathematics)Variable (mathematics)DatabaseSummationSoftwareSystem administratorLengthCompilerSound effectDatabaseORACLSData typeDatabase transactionGrand Unified TheoryZahlVersion <Informatik>Lecture/Conference
Version <Informatik>Computer filePressureOperating systemUNIXWindows <Zweiunddreißig Bit>CoroutineField (mathematics)Computer animation
Scripting languageRoundingLoginHausdorff spaceVariable (mathematics)Plane (geometry)Gastropod shellNagiosUNIXORACLSCOMPAQSoftwareSource codeProduct (category theory)VAX/VMSParameter (computer programming)Perspective (visual)Operating systemAliasingRun-time systemTransmitterPlanningAbstract rewriting systemLecture/Conference
Operating systemUNIXEckeParameter (computer programming)CompilerString (computer science)StandardfunktionStandard deviationPhysical quantitySound effectComputer animation
Function (mathematics)UNIXCW-KomplexRollbewegungStandard-CMathematical structureORACLSGoogleBeta functionLecture/ConferenceComputer animation
PhysicistProgrammer (hardware)Source codeData typeError messageVariable (mathematics)Programming languageTor <Netzwerk>CompilerSoftwareLecture/Conference
VAX/VMSError messageUNIXVersion <Informatik>Physical quantityComputer animation
Software developerData typeString (computer science)Manual of StyleVariable (mathematics)CalculationPhysical quantityDistanceSound effectPerturbation theoryNullMach <Betriebssystem>LengthVAX/VMSSet (mathematics)Source codeSeries (mathematics)Operator (mathematics)Component-based software engineeringRoute of administrationForcePrototypeUNIXCrash (computing)Lecture/ConferenceComputer animation
Plane (geometry)Software testingSummationCrash (computing)EmailComputer fileDisintegrationComputer animationLecture/Conference
EmailXMLUMLLecture/Conference
UNIXSource codeCodeVAX/VMSCompilerStress (mechanics)Anbindung <Informatik>Plane (geometry)GoogleSoftwareDatabaseSoftware developerFactorizationForm (programming)XMLComputer animationLecture/Conference
XMLComputer animation
Transcript: German(auto-generated)
Also mein Name ist Martin Hoffmann. Ich komme von der Firma Comita. Ich werde über mich und die Firma im Laufe des Vortrages jedenfalls was erzählen. Grob gesprochen ging es bei einem Kunden um ein Projekt. Die haben so gesehen relativ altes Zeug dort herum stehen.
Also mit VMS haben sie nicht das topmoderne Betriebssystem. Die haben zunehmend das Problem, dass Leute wirklich immer rarer am Markt werden und die Qualität der Leute aber nicht besser wird. Also das heißt, da kriegen sie über die Zeit hinweg ganz viele Probleme, wo die jüngeren Leute möglicherweise noch nie was von gehört haben.
Also es gibt einfach Kompetenzprobleme, es gibt Haltwertprobleme und das müssen sie irgendwie lösen. Und über die Jahre hinweg sind bei dem Kunden an der Stelle auch diverse technische Schulden aufgebaut worden. Also stellen Sie sich einfach vor, die Applikation ist so grob aus 1995. Man hat sich ja Bugs beseitigt.
Man hat das ein oder andere Mal Schönheits gepflegt, aber die Anwendung ist nie mit der Zeit gegangen. Also die ist einfach stehen geblieben. Und hier steht man halt vor diversen Situationen und ich werde gleich von ein paar berichten. Gut, dieses Projekt ist nicht vom Himmel gefallen. Ich bin bei dem Kunden seit ungefähr 2012 tätig.
Ich habe in so einer schlechten Laune mal gesagt, neben der Tatsache, dass man ja auch ein neues System kaufen könnte, könnte man sich auch mit dem Bestehen beschäftigen. Also Virtualisierung geht auch in der VMS-Welt oder mal ein Betriebssystemwechsel, also vielleicht Richtung Open Source oder mindestens mal etwas Open Source-nahes wie jetzt vielleicht Linux.
Und es sind relativ viele Open Source-Elemente in dem Projekt drin. Also Sie werden vielleicht gleich aus den Bildern erkennen. Also die Entwicklungsumgebung ist völlig Open Source. Die Produktionsumgebung, da war der Kunde jetzt etwas schüchterner da, da waren dann immer so Enterprise Editions. Gut, also um was ging es? Also letztendlich geht es darum, dass es Werke gibt,
diese müssen in Stand gehalten werden. Also es gibt da auch klare Regeln. Am Ende des Tages hängen immer auch mal ein bisschen Leib und Leben davon ab. Und bei so einem Werk, in dem was produziert wird, können Sie sich vorstellen, da gibt es immer irgendwo Druck, da gibt es immer irgendwo möglicherweise Rohre, durch die Wasser fließt und manchmal ist das sogar heiß.
Und so heiß, dass wir es nicht vertragen und man will halt in jedem Fall vermeiden, dass dieses heiße Wasser mit dem hohen Druck auf den Menschen trifft. Also es ist eine schlechte Kombination und von daher also Gefahr für Leib und Leben. Was waren jetzt die Besonderheiten? Na ja, das Betriebssystem VMS hatte ich jetzt schon im Vorgespräch ein bisschen was zu erzählt.
Auf dieser Maschine hat man damals so etwas wie VEX-C programmiert und man hat es vom Prinzip her vermieden, auch damals schon sich mit den Compiler Warnings auseinanderzusetzen und die einfach mal auf den Stand zu heben. Und dann bei einem Wechsel der alten Maschine nach Richtung Open Form S hat man wieder vergessen, diese Warnings einzuschalten
und diverse andere Aktivitäten zu unternehmen. Also so eine grundlegende Modernisierung der Anwendung hat eigentlich nie stattgefunden, sondern eigentlich ist es immer der alte Stand geblieben, den man irgendwie versucht hat zum Laufen zu kriegen. Na ja und by the way tauschen sich dann so Maschinen aus. Die einen sagen 32 nach 64 Bit, aber die anderen sagen dann eher Open Form S ist da auch 64 Bit.
Ja, aber was nützt das, wenn man eine Anwendung eben mit 32 Bit betreibt? Also da war ein bisschen was zu tun. Dann hat sich bei dem Ingressulis ein bisschen was verändert. Das war eigentlich der, also das Datenmarktsystem, eigentlich der kleinste Teil in dem ganzen Spiel. Die Alternative, die man gehabt hätte, es gibt am Markt natürlich auch andere Anwendungen, aber stellen Sie sich bitte vor,
die eine Anwendung liegt im kleinen zweistelligen Millionenbereich, wenn Sie die einkaufen und einführen wollen. Und die andere Anwendung, die ich zur Verfügung gestanden hätte, lag immer noch so bei drei, dreieinhalb Millionen. Und dann haben Sie nur Software. Dann haben Sie noch keinen Prozess angepasst.
Dann haben Sie noch keine Dokumentation angepasst. Dann haben Sie vielleicht nicht mal Ihre Prozesse in das Software wieder gefunden. Und dann haben Sie noch das Problem der Datendeutung. Also die Daten sind ja unter irgendwelchen Regeln erfasst worden. Man hat also Vorstellungen davon, was man da getan hat. Und das neue System müsste dieselben Vorstellungen haben, was in der Regel, oder was zumindest bei dem Kunden nicht ist. Und bei den beiden Werken sieht man schon,
also die erfassen Daten unterschiedlich. Sie haben auch im Grunde unterschiedliche Prozesse. Gut, und dann gab es halt die Alternativen. Also virtualisieren wir jetzt für Form S oder machen wir mal eine Migration. Am Ende hat sich die Migration durchgesetzt, weil die Virtualisierung wurde probiert und hat nicht funktioniert.
Schlicht und ergreifend. Der Lieferant der Virtualisierungssoftware hätte noch zwei, drei Dinge tun müssen. Und da hat er bald zwei Jahre für gebraucht. Und solange er konnte, wollte der Kunde jetzt nicht warten. Das Projekt ist dann letztes Jahr im Juli begonnen. Gerade im August, aus den letzten beiden Wochenenden,
und jetzt müssen wir bis Mitte September noch genauer hingucken. Also jeden Tag da sein und gucken, was so passiert. Und ich hoffe, es geht so weiter wie bisher, dass nichts passiert. Gut, und wann wird der Kunde, also was ist so die Definition dann im weiteren Sinne? Also der Kunde wird am Ende des Tages zufrieden sein, wenn man das, was er hat, genauso migriert auf das Neue.
Also die Anwendung soll sich eins zu eins in der neuen Umgebung verhalten, wie in der alten Umgebung. Aber da fragten sie sich natürlich, was ist mit Fehlern? Ja, die müssen auch migriert werden. Und die müssen in der neuen Umgebung genauso zum Fehler führen. Und das hört sich jetzt komisch an, dass man selbst bei diesem Schritt nicht wieder gesagt hat,
da gibt es so ein paar Dinge, die vielleicht unnett sind, die repariert man gleich mit. Aber man will das logisch voneinander trennen mit der Konsequenz, dass man jetzt gerade mal einen einführt, der quasi so was wie Produktmanager wird, und der macht sich dann Gedanken über das Nachfolgen der Release und über das nächste Release und so weiter. Aber der Effekt ist eben, man hat jetzt eine Altherrenmannschaft, das eine Trikot ausgezogen, das andere Trikot angezogen.
Also wenn wir mal einen Verein aus der Gegend nehmen, vom FC Köln, dann sieht das jetzt vielleicht schick aus. Und dann können die aber nicht so spielen wie die Leute vom FC Köln. Also es sieht halt nur schöner aus. Aber am Ende des Tages ist nichts besser. Gut, und das alles hat dann die Firma Comito gemacht. Comito ist auf der einen Seite ein Kunstwort.
Besteht so aus Kommunikation, Informationstechnologie und Organisationsentwicklung. Hat was damit zu tun, dass unter anderem ich in dieser Firma als gebürtiger Dortmunder, der auch in Dortmund Informatik studiert hat, einfach einen IT-Hintergrund hat. Ich liebe Datenbanken schon von Beginn an. Also ich hatte schon das Glück, dass an meiner Universität,
zu der Zeit, als ich studierte, gab es schon auch das Relationale Datenbanksystem, das damals Ingress hieß. Und ich habe nebenbei in der Ferne und in der Hagen ein bisschen Geld verdient. Die hatten das auch schon. Also so bin ich halt mein Leben lang mit dem einen Datenbanksystem ziemlich verbunden. Und bin im Laufe des Lebens, weil ich viele Migrationsprojekte begleitet habe,
auch weg von Ingress oder weg von Cybase oder weg von SQL Server hin zu Oracle, auch mit anderen Datenbanksystemen in Kontakt gekommen. So, und als Datenbankler ist natürlich die eine Eigenschaft wichtig. Comito, das ist die Verbindlichkeit. Das ist auch das, was wir uns von den Leuten wünschen, die mit uns arbeiten.
Und am liebsten auch von den Leuten, für die wir arbeiten. Das ist aber manchmal ein bisschen schwierig. Gut, ich hatte vorhin gefragt nach dieser SQL-Geschichte, Transaktion, da waren wir bei dem C gelandet. Und da wurden es immer weniger Finger. Ich frage das deswegen, weil in diesen Migrationsprojekten auf der Datenbankseite sagt mir jeder,
was willst du denn, das ist doch alles SQL 92, kann ich da austauschen? Dann kann ich Ihnen nur sagen, SQL 92 und die Dialekte, die die einzelnen Anbieter an SQL anbieten, das hat ungefähr genauso viel mit Deutsch zu tun wie Bayerisch oder Sächsisch. Also das ist auch so eine Art Deutsch, aber da müssen Sie schon nachhelfen,
um jemanden, der aus Bayern kommt, also ich wohne ja mittlerweile da, um den zu verstehen. Und so ist es bei SQL 92 auch. Das Schlimmste ist immer, dass die Leute nicht verstehen, was Transaktionen sind, und sich dann wundern, dass in einem anderen System sich auf einmal etwas anders verhält, als im Herkunftssystem. Das zweite große Thema, das Leute bei der Migration immer übersehen, ist der Umgang mit Nullwerten.
Also es gibt Datenbanken, also erstmal gibt es Leute, ich weiß nicht, wovon ich rede, aber bei diesen Nullwerten ist es ganz wichtig zu unterscheiden, hat das Datenbanksystem sozusagen den Datentyp um etwas erweitert, mit dem man arbeiten kann, oder hat es einfach beim String nur gesagt, naja, du bist jetzt der Leerstring,
und merken sofort, Leerstring und etwas Unbekanntes ist nicht ganz dasselbe. Und deswegen, wenn Sie eine Software von A nach B migrieren, macht das so zwei Dinge, die viel Spaß machen. Das Problem hatten wir hier jetzt nicht, aber das nur so zur Auflösung der kleinen Einführung. Gut, wenn wir so an Projekte rangehen, jetzt kommt für den einen Teil der Leute der etwas exoterische Teil,
wenn wir so an Projekte rangehen, dann gehen wir nicht her und sagen, da gibt es ein bisschen Technik, von A nach B, und wie macht man das so, sondern das betrachten wir immer mal gerne ein bisschen größer. Also es gibt so ein Denkmodell, das heißt nicht Corbit, sondern Corbit, ich schreibe es hier aber gerade ein bisschen anders als auf der Folie,
und das ist, wenn Sie so wollen, hat das innen so etwas wie ein Reifegradmodell. Das sagt Ihnen also zu verschiedenen Themen, auf welcher Stufe Ihrer Entwicklung befinden Sie sich eigentlich, und sind Sie dann doch am Anfang oder eher am Ende. Ich zeige da gleich ein Beispiel zu, wir geben immer ganz gerne die Beispiele aus dem Thema Anforderungsmanagement
und Projektmanagement, so wenn die Runde führ her, habe ich nur das Anforderungsmanagement. Und jetzt werden Sie es kaum glauben, Sie sind ja irgendwie groß geworden in dieser Welt, also auch bei Ihnen hat eine menschliche Entwicklung stattgefunden, aber alle, die die Kinder beobachten, wissen, dass Kinder weniger können und im Laufe der Zeit immer mehr können, und irgendwann fangen sie an zu pubertieren, und das ist so die erste Phase,
wo ich in diesem Denkmodell anfange mit Ihnen zu denken oder zu diskutieren. Und wenn Sie das so sehen, ist das eine Entwicklung, die nach oben inoffen ist und immer schöner und immer größer wird natürlich, aber bei der Entwicklungsmodell, die sich dahinter liegt, geht es nicht darum, jetzt herauszukriegen, Sie sind ein bestimmter Typ, eine Schublade aufmachen und Sie reinstecken,
sondern dieses Modell hat eine Spiralenform und Sie können zu verschiedenen Themen auf verschiedenen Ebenen stehen. Und das beurteilt nicht Ihre kognitive Denkleistung, also ganz wichtig, mich interessiert gar nicht, wie schlau Sie sind, sondern wie Sie zu bestimmten Dingen des Lebens stehen.
Und wenn man jetzt sagt, Einstein, also den kennen wir schon, die Eltern noch dahin kennen ihn ja noch, aber die Einstein ist, also kognitiv wollen wir glaube ich darüber zu reden, dass der mehr drauf hat, also zumindest als ich, ich weiß nicht, wie Sie das für sich selber beurteilen, aber wenn Sie den sozusagen in diesem Denkmodell von dem Graves mal betrachten würden,
ist er relativ auf einer niedrigen Ebene, weil er hat ein schräges Bild von Frauen, er hat ein schräges Bild von Zusammenarbeit, er hat ein schräges Bild von Umgang mit Menschen. Und deswegen, wenn Sie mit so einem zusammenarbeiten, da müssen Sie dem einen Raum geben, wo er sich entfalten kann, aber wo er andere nicht stört.
Und das ist eine der Künste und wenn Sie auf Ihrer Seite und wir hatten auf unserer Seite einen dabei und es gibt auf der Kundenseite genauso Typen, dann wird es schwierig. Also wenn Sie die an die Softwareentwickler anlassen, das sind ganz sensible Leute und wenn so eine Gruppe dauernd gestört wird durch komische Sprüche in den Anführungszeiten
von pubertierenden Menschen, also irgendwas, was ungefähr auf der Ebene stattfindet, dann werden Sie merken, die Gruppe performt nicht. Die beschäftigt sich nur mit dem Kinderkram, der so von außen an getragen wird. Wenn Sie denken, alles esoterischer Kram, also einer der Jünger von dem Herrn Graves, das war der Don Beck, der hat dieses Modell benutzt, um in Südafrika sozusagen dieses Land mitzuentwickeln.
Also der Mandela hat ihn quasi geholt und dann haben sie sich zusammen etwas überlegt und wenn sie sich überlegen, es gibt ja diesen Film auch, wo Mandela dann an der weißen Sportart teilnimmt und sein Land wird zufällig Weltmeister und er darf den Pokal übergeben. Also es hat eine ganze Menge mehr bewirkt
und der war nicht so auf den Trip, wo er gesagt hat, naja, jetzt haben wir die eine Hautfarbe durch die andere ausgetauscht, jetzt müssen auch noch die Mercedes wechseln und das ist alles geregelt, sondern der hat ja so grundlegend andere Gedanken und der war vielleicht auch ein bisschen inspiriert von diesem Don Beck und wie gesagt, der am Ende war davon inspiriert. Wenn Sie hier hinschauen, kann man das natürlich auch übertragen,
also wenn Sie sich an die guten alten Tage der Programmierung erinnern können, wo Sie machen konnten, was Sie wollten, wo Sie bis heute schon dreimal gehört, also wo Sie einfach mal so schnell so ein Programm ausgehauen haben, nicht getestet und man freut sich dann damit unter Mut, wo Sie Lorbeinerden. Also ohne Regeln an allen Noten vorbei haben Sie Software entwickelt.
Dann kam so die nächste Entwicklungsstufe, da hat man Sie dann irgendwann so in die Regeln eingebunden, also wenn ich das mal platt sagen darf, also man hat Sie so mit Regeln zugeschissen, dass Sie nichts anderes mehr tun konnten als Regeln befolgen und das ist dann eine schwierige Geschichte. Aber wenn Sie an das Vorgehen der Bundesbehörden denken, so die erste Version,
also das hat man noch verstanden so 1987 Informatikstudium, das war ungefähr das, was er da erklärt hat und wenn Sie dann immer gegen QQ, das wird ja immer größer und größer und größer und am Ende des Tages machen Sie so viele Dokumente, da wird Ihnen schwindelig. Und aus dieser Epoche heraus haben sich dann ein paar überlegt, es musste auch schöner, schneller und besser gehen
und dann kam hier so die Scrum Area. Und wenn Sie das Ding konsequent zu Ende spinnen, also werden an des Tages auch, das ist jetzt in meiner Sprache, integrale Elemente in dem Projektmanagement auftauchen, was auch mal das jetzt heißt, aber gehen Sie davon aus, Projektmanagement ist am Ende des Tages jetzt nicht zu Ende, weil gerade ein paar Agile rumlaufen, sondern es wird andere Aspekte geben
und wenn dieser auch mal durchs Dorf getrieben ist, dann wird man auch die Nächstes auch durchs Dorf treiben. Ich habe heute Morgen im Vortrag teilgenommen, da hat jemand Vorgehensmodell Scrum verwechselt mit oder gemischt mit seinem Design vorgehen.
Also er hat über Domain Design gesprochen und hat irgendwie gesagt, das ist ein bisschen schade, leidet unter Scrum oder unter Agile und ich meine, nein, das leidet nicht darunter. Also wenn, dann hat die Vorgehensweise einen Mangel, aber sie schadet nicht, weil es ein Vorgehensmodell gibt, wie man Projekte steuert. Und das ist das, was Sie dringend und zwingend in meiner Welt auseinanderhalten müssen.
Scrum ist etwas, was speziell ist aus dem agilen Umfeld, eine Forschung, wie man Projekte abwickelt. Und Scrum ist unterspezifiziert, das können Sie ungefähr vergleichen mit den 10 Geboten oder mit der amerikanischen Unabhängigkeitserklärung. Da kommt man mit 300 Wörtern oder 6 Seiten aus. Und wenn Sie das Formulär der Bundesbehörden nehmen, dann ist das eher so,
und ich mache jetzt einen Witz von Franz Josef Strauß, dann ist das eher so wie die EU-Ausfuhrbestimmung von Karamellbonbons. Mit 32.756 Wörtern haben Sie das alles geregelt. Und das ist die Frage, wollen Sie das, macht das Spaß? Aber was man hier immer nicht vergessen darf, wenn Sie auf die Ebene wollen,
da müssen Sie selber gewissenmaß entwickelt sein, aber die Leute, die das sozusagen auf die Ebene gehoben haben, also wenn immer Sie auch aus dem Scrum-Umfeld lesen, also die Leute waren schon gut. Die haben jetzt dann nur gesagt, ich will besser werden. Schöner, schneller, besser, weiter, das ist so die Maxime gewesen.
Und die haben keinen Bock mehr gehabt, 30.000 Seiten Dokumente zu schreiben, nur weil sie in 4 Wochen mal ein bisschen Software ausliefern wollten. Also da steckt eine andere Denkweise hinter. Und meiner Meinung nach wird diese Denkweise irgendwann sehr populär. Und dann werden auch diese Zahlen anders. Also wenn Sie heute dahingucken, also jeder sagt Ihnen, wie erfolgreich Scrum-Projekte sind. Und ich denke, na ja, warte mal alle, bis die da aus der Kneipe rauskommen,
die sonst immer Tegenfußball spielen, dann ziehen sie ein FC Köhntrikot an. Dann werden die Projekte genauso laufen wie die anderen Projekte auch. Und dann werden die Zahlen sich auch verschieben. Also da ist ein bisschen was zu tun und deswegen auch bei uns ein bisschen Organisation zu entwickeln. Und wie angesprochen, aus dem COVID heraus, mal so eine Idee.
Also wie reif ist eigentlich Ihr Prozess zum Thema Anwendungsentwicklung? Also da sehen Sie, ist es schon mal ein wiederholbarer Prozess? Haben Sie sowas wie Software, Projektmanagement? Und die Frage müssen Sie mal in der Mutter neben stellen. Also wer von Ihnen macht Projektmanagement in der Firma?
Einer, toll. Aber Sie alle entwickeln Software? Okay, einer nicht. Wer entwickelt Software von Ihnen? Wie wird das gesteuert? Das ist der letzte Verbliebene, der programmiert, okay.
Für wen? Für Sie oder für die Firma? Ja, was machen die anderen? Also Sie haben vorhin vier, fünf Leute aufgezeigt, was ich gefragt habe. Aber wer programmiert? Bei Ihnen ist das was?
Ja, okay. Ich komme ich darauf zurück. Ja, was machen die anderen? Also wie läuft das bei Ihnen? Gibt es irgendjemand, der Ihnen sagt, pass mal auf, hier ist Geld? Da gibt es eine Anforderung, da ist ein paar Werkzeuge. Und jetzt, sieh mal zu, dass Software rauskommt.
Das ist jetzt nicht Ihr Ernst, oder? Da bin ich hier auf der... Ist man auf der angesagtesten Veranstaltung zu Linux? Oder hat man sowas?
Und dann ist natürlich weniger... Ja, aber in irgendeiner Art wird es offensichtlich gemanagt.
Also es ist nur eine Frage der Organisation. Und dass das Team sich selbst managt, das bei den meisten Teams, die ich in Deutschland gesehen habe, war das noch nicht der Fall. Aber wird sich noch entwickeln, da bin ich ganz sicher. Und wer das nicht glaubt, es gibt mindestens ein Orchester, das ohne Dirigent auskommt. Da entscheidet immer die Gruppe,
was bei der nächsten Aufführung, also wer das sozusagen inszeniert und dirigiert. Und die haben eine Absprache dann, also wenn das zufällig der Geiger ist, dann weiß ich nicht, dann trampelt der mal auf und dann fangen sie alle gleichzeitig an. Aber die kommunizieren in einer Art und Weise, dass erstens immer der für das Stück der Beste ist, sozusagen auch der Macher oder der Dirigent ist, in Anführungszeichen.
Und die anderen spielen das in einer Spielregel. Und das kann sich bei der nächsten Aufnahme oder beim nächsten Konzert auch wieder völlig ändern. Gut, und hier sehen Sie so, dass man so entscheiden kann, naja, wie gut ist denn Ihr Prozess? Und das, was ich gerade gemacht habe, ist so, ich weiß, wenn man jetzt nur das Projektmanagement abgreift, dann ist immer wichtig, also man muss total zertifiziert sein. Und ich habe einen Haufen von diesen Dingern gemacht.
Und dann kommen Sie in diese Firma und dann fragen Sie, habt Ihr ein Projekthandbuch? Wer von Euch hat ein Projekthandbuch? Also jetzt zeigt gar keiner mehr auf. Bei dem Kunden ist es so, natürlich haben Sie ja eins. Und dann guckt man rein und dann ist das von 1993, 97, 2013. Dann guckt man sich das genauer an.
Also die Hälfte ist firmenspezifischer Krempel, Gremium hier, Gremium dort, Verantwortlichkeiten. Und die andere Hälfte ist etwas abgeschrieben, was ich 1986 in der Vorlesung zur Softwareengineering gehört habe. Ja, und wenn Sie die Familie Balzat kennen, da gibt es ja Heidi und, aber ich habe das von dem Mann gelesen, aber Balzat ist der Name, dann ist das das, was da steht.
Und wenn Sie zur GPM gehen, ist das das erste Buch, das Sie überhaupt rausgebracht haben, der Projektmanager. Da steht schon alles drin. Und das wird Ihnen als Handbuch verkauft. Ja, und wenn Sie heute gucken, GPM, die sind bei der Kompetenzbaseline 4.0, was jetzt 3.0 ein bisschen geändert ist, aber die sind auf Level 3. Und da dreht Ihnen einer etwas an, wo man sagt,
Projektleiter müssen sozusagen so ein Level 1, ein halb davon kennen oder können. Ja, also die Welt hat sich verändert. Und dann ist es aber immer den Leuten wichtig, dass sie total zertifiziert sind und am besten ihre ganze Bude ist zertifiziert. Total akokoloos. Ja, also wenn Sie dann solche Antworten kriegen, ist das total akokoloos.
Gut, um das ein bisschen einzuordnen, ein Modell, das ich eigentlich nicht so gerne verwende, ist das von dem Stacy. Der sagt so, auf der einen Seite gibt es Technologie, auf der anderen Seite gibt es Anforderungen. Und je nachdem, wie weit Sie hier außen sind, wird ein Projekt immer schnell chaotisch. Es wird einfach nur komplex. Es ist simpel, weil Sie zum monatlichen Mal einen Webstore entwickeln.
Und wenn Sie das 99-mal gut hingekriegt haben, dann kann man schon annehmen, dass das 100. Mal auch irgendwie klappt. Und unser Ding ist so ein bisschen in der Mitte. Also es ist schon ein bisschen kompliziert. Technologisch, na ja, also es ist jetzt, also technologisch hier, also es ist jetzt nicht der Burner.
Also alles, was ich heute Morgen gehört habe, war einfach 20 Jahre später und aktueller. Und die Anforderungen sind auch relativ klar. Also das, was da ist, soll da wieder laufen. Und der Fehler, der da ist, muss da auch sein, ja. Gut, ich vergebe das Modell deswegen nicht so gerne, obwohl es in der agilen Welt ziemlich bekannt und gerne verwendet wird.
Hier fehlt eine Dimension. Und das ist der Mensch. Wir haben es zu tun mit einer IT-Abteilung. Die IT-Abteilung selber ist gut im Umgang von Produktion, also Hardware, oder das heißt ja auch nicht mehr Hardware, aber irgendwie Blech und alles, was oben drauf ist. Aber in dem Moment, wo es Richtung Anwendungsentwicklung geht, haben die immer liefern lassen.
Und in Anführungszeichen, so sieht es auch aus. Und die nächste Geschichte ist hinter dem meinem Kunden der IT-Abteilung steckt ja noch mal ein Kunde, der diese Anwendung am Ende des Tages benutzt. Gut, und um mal eine Dose Mitleid bei Ihnen zu bekommen. Also erzählen Sie sich mal in diesem Kontext vor. Da gibt es ja dieses Cano-Zufriedenheitsmodell.
Wie wollen Sie jemanden glücklich und zufrieden machen, der nur will, dass alles, inklusive der Fehler, einfach weiter läuft. Faktisch keine Chance. Wir haben keinen Knopf dringenäht, der die Sache schöner, schneller, bunter macht. Alle Knöpfe, die vorher da waren, sind jetzt auch da. Es ist keine Funktion reingekommen. Es ist einfach nur unten drunter Blech ausgetauscht.
Und die einzige Chance, die Sie halbwegs haben, ist, das neue System tute schneller. Und jetzt etwas, was bei dem Kunden anderen nicht sehr gerne hört. Ich sage immer, Sie arbeiten jetzt mit einem handelsüblichen PC und der ist schneller als alles Blech, was Sie in beiden Werken zusammen auf dem Hof stehen haben.
Und das ist so. Am Ende des Tages ist das ein handelsüblicher PC. Es arbeiten in jedem Werk maximal 150 Leute damit. Also in so einer gewöhnlichen Morgenschicht kommen Sie so bestenfalls auf 50 Leute. Also dann ist es ein guter Tag. Und die kommen nicht gleich. Also die kommen morgens alle gleich ein bisschen hin. Verteilen ihre Arbeit gläubig so einen Tag.
Also da reicht so ein handelsüblicher PC. Wo es nicht mehr handelsüblich ist, ist das Blech, das dahinter steht. Also wenn Sie mal an Sicherung denken und so weiter, da stecken Sie nicht nur zwei Terabyte USB-Blätter rein und dann schieben Sie mal irgendwas rüber. Also da steht dann größere Säue hinter und das wechseln Sie gerade. Also wie gesagt, Performance können wir vielleicht begeistern. Und das einzige, was den Kunden wirklich begeistert ist, dass wir zu den
25 Prozent der Projekte gehören, die einfach vernünftig ins Ziel kommen. Sie kennen ja das, die Untersuchungen. 25 Prozent der Projekte kommen einfach in Zeit ins Ziel und in Budget und in Specification. Und die anderen 75 Prozent mehr oder weniger nicht. Und wir gehören zu den 25 Prozent. Und wenn Sie sich vorstellen, der Kunde hat fünf Projekte und wir sind schon die 25 Prozent.
Da geht das jetzt gerade mit dem Grundrechnarten schief, aber gibt es ja auch so einen Spur. 8 von 5 können die Grundrechnarten nicht. Gut, das Ding ist relativ einfach zu strukturieren. Also natürlich gibt es ja so Schnittstellen, die über Files bedient werden. Natürlich gibt es da schon so ein paar Frixi mit sowas wie Pentaho. Wer von Ihnen kennt so Etel Tools?
Also mit Pentaho und Java am Ende des Tages. So Daten abgreifen, also schon ganz modern. Aber am Ende des Tages gibt es eine Datenbank und da tauchen entweder hier Files auf oder Einträge in eine Datenbank. Das Ganze ist einfach strukturiert über eine 4GL Programmiersprache, die vom Datenbankhersteller kommt.
Dann gibt es sowas wie Embedded SQL für C. Hat ja zumindest die länger am Markt agierenden, also ragelt ja ganz vergleichbare Dinge. Dann gibt es noch einen Haufen C. Und die Dinger hier unten drunter haben nochmal was damit zu tun. Man hat auch schon damals so an Libris gedacht. Und wer glaubt, dass so die Architektur war,
wir trennen das schön streng miteinander, ist es so. Also nachdem wir verstanden haben, wie sie es unter VMS bestimmt hier hinkriegen, ist es so, die gehen beim Bilden der Applikation zum Teil zweimal über den Bild der Libris, weil dann auch sichergestellt ist, dass alle Deklarationen, die man so braucht, auch irgendwie dazu gekommen sind. Also ganz
schräges Zeug. Ja, das hat einfach ein bisschen Stress gemacht. Aber wir haben das bereinigt. Und da gibt es das, was Sie so als Shell-Skripte bezeichnen würden, die so verschiedenen Zwecken dienen. Also manche bauen die Anwendung, manche lassen sie laufen und manche dieser Skripte sind einfach da,
um, naja, dem Datemakesystem muss man ja auch mal eine Sicherung entlocken. Und das ist so die Art von Kategorie. Und so einfach, wie das hier steht, kann man das natürlich beschreiben, aber man kann das natürlich auch komplizierter darstellen. Ja, also vertrieblich würde ich jetzt anders reden. Das ist natürlich eine total schwierige Geschichte. Können Sie sich ja vorstellen. Ja, und so ein paar Fakten, also für die, die es interessiert. Also die Idee ist so 2013 geboren.
Da habe ich jetzt mal den Dokument hingeschrieben. Die Idee wurde aber eigentlich nicht weiterverfolgt. Also der, der damals Abteilungsleiter war, hatte überhaupt keine Neigung dazu, das zu tun. Ich selber konnte mir das auch nicht vorstellen. Ich habe eher gedacht, die gehen zu irgendeinem Großen wie Siemens und dann wird das da geregelt.
In Summe waren das jetzt so viele Tage. Spannend für uns war, wir haben lange überlegt, wie organisieren wir uns. Also machen wir so Kannenbahnen, weil das doch eher eine Aufgabe in dem Projekt ist. Machen wir lieber Scrum, machen wir so oder so. Und dann hatten wir noch die besondere Herausforderung. Aus dem Kernentwickler-Team, also alle Programmierer,
Designer, VMS-Junix-Fachleute, da sitzen keine zwei Leute am selben Standort. Und jetzt, ja, überlegen Sie sich mal, wie wir uns jetzt an ein Projekt abwickeln. Und wir haben uns dann für eine Mischung aus Scrum und Kannenbahnen entschieden. Und am Ende des Tages ist es so, dass
wir kein Daily gemacht haben, sondern wir haben ein Weekly gemacht. Und wir haben uns auch nicht regelmäßig sonst wie getroffen. Wir haben dann so Veranstaltungen gehabt wie so im Monthly. Da waren wir ein oder zwei Tage zusammen. Und was wir noch hatten, war so Co-Working. Also der eine ist zum anderen gefahren, die haben einfach zusammengearbeitet. Und wenn ich überhaupt irgendwas aus dem
Projekt mitnehme, dann würde ich dieses Co-Working forcieren nach vorne hin. Also, dass Leute häufiger beieinander sind. Gut, also dann haben wir noch so ein paar Software-Werkzeuge. Hab ich ja schon ein bisschen angedeutet. Werkzeuge, also ich denke, ich kenne sie alle. Also geht es jetzt hier, ohne den geht es ja nicht. Die Bagger in ein bisschen Source Code Verwaltung. Wir selber haben uns auf Box eingestellt. So ganz modern. Eine Mail an so ein
eine Mail an ein bestimmtes Post vorgeschickt. Und zack war so ein Ticket da. Und man konnte mit der Ticketnummer dann auch bei den Mails immer hantieren. Und dann konnte man das kommentieren. Und das ist deswegen so revolutionär. Weil bei dem Kunden dürfen sie jede Auffälligkeit erst mal so eintippern. Und dann müssen sie alles zusammensuchen. Also da geht auch Zeit drauf. Gut, am Ende des Tages
waren es 15.000 Falls. Und ich sagte ja schon mal, also die Migration hat deutliche Vorteile. Also nicht nur auf der Kostenseite. Also wir sind quasi mit der Migration habs so teuer, wie der Kunde mit jeder Kauflösung gewesen wäre. Aber wenn sie eine neue Software haben, dann müssen sie ja alles anpassen. Angefangen,
die als letztes, aber Prozesse, Daten, Aufgaben. Und bei denen, wenn Sie mal annehmen, das sind ein paar, die rufen ihn auf der Flur so was zu, wie 228. Haben Sie eine Idee, was die mir damit sagen wollen? Bis zur Altersteilzeit.
Der Abteilungsleiter der vorher da war, hat immer gesagt, die Leute dieser Firma haben Angst vor der Altersteilzeit. Weil die gliedert sich ja so in einem passiven Teil und einem passiven Teil. Warum haben die Angst? Und dann sagt er, die haben nicht immer Angst, sondern die haben nur vor dem aktiven
Teil Angst. Also das heißt, da müssen sie wieder was tun. Okay. Gut. Wenn man mal in die Richtung kommt, was haben wir denn für Überraschungen erlebt oder wo musste man drauf achten? Dann ist es so, dass am Ende des Tages wir die kleinsten Probleme
innerhalb der Datenbankumstellung hatten. Also da hat sich von einem Release zu dem nächsten natürlich viel getan. Aber da man keinen dieser Feature genutzt hat, ist das völlig irrelevant. Also die können Funktionen liefern, wie sie wollen, der Datenbankhersteller. Interessiert keinen Menschen am Ende des Tages. Aber die Eigenschaften, die da sind und sich verändert haben, die müssen sie irgendwie nachbilden.
Und es ist halt so, wenn Sie an ANSI SQL denken, da geben sich die Datenbankhersteller immer mehr Mühe, ANSI SQL kompatibler zu werden. Außer sie sind der viel Mühe, ANSI kompatibler zu werden oder so zu werden wie der Große. Und bei der Geschichte tauchen also Sachen auf, dass
Strings, die irgendwie konkretiniert werden oder Quatsch, Konkretin ist eine andere Geschichte. Strings, die eine bestimmte Länge in der Datenbank haben, die sie auf den Bildschirm bringen und die Länge ist dort kleiner, die werden im alten System ganz klassisch abgetrennt und sie merken nichts davon. Sie wundern sich dafür ein paar Zeichen. Okay, soll das in die neue Version, ohne
die Einstellung zu verändern, sagt einfach gleich mal Fehler. Also da steigt die Software richtig so mit so Bob. Bob was hoch auf den Bildschirm, in den Betrieb, Englisch ist da keine Fremdsprache, auch keine Option. Und da steht dann irgendetwas Hässliches von dem Datenbanksystem auf Englisch. Gut, das kann man
über Variablen steuern und es ist halt auch so, warum auch immer Leute so was machen, die sagen Spalte, gleich und es liegt hier eine Menge. Das Gleiche ist falsch. Also man muss da sicherstellen, dass da nur einer rauskommt. Also müsste man irgendwie so First One hinschreiben. Oder man schreibt hier innen, dann ist die Welt auch wieder in Ordnung. Und das waren so die Kleinigkeiten und in Summe
waren das die kleineren Teile. Und weil das so wenig waren, waren die auch von Handlösbar. Bei der Anzahl Fals, die Sie gerade gesehen haben, können Sie sich vorstellen, wir haben nicht 17.000 Fals aufgemacht und haben 26.855 Vorkommnisse von irgendwelchen Variablen, die zwar deklariert, aber nicht initialisiert waren, von Handlös
irgendwie nachgeschoben. Also da ist dann immer mit Perl über alle Software gegangen und hat dann erstens alle diese Dinge beseitigt und im nächsten Schritt auch alle Fehler, die wir eingebaut haben, sind so quasi auf diese Art und Weise auch wieder bereinigt worden. Der erste Spondetal war ja,
da kriegen Sie einen Herzinfarkt auch heute noch. Wenn Sie einfach mal sagen, Compiler, alles was Sie auffällt, lasst einfach mal zu und hau mal raus. Sie kriegen heute immer noch nicht die Anwendung durchkompiliert. Wir haben damals gesagt, wir lassen das alles drin, bis zu dem Zeitpunkt, wo wir entscheiden, dass es Warnungen gibt, die Sie vernachlässigen können.
Also der Compiler haut auch etwas raus, was da heißt, da gibt es eine Variable, die wird deklariert, aber nicht verwendet. Da können Sie sicher sein, das richtet jetzt keinen Schaden an, wenn Sie die Compilerwarnung mal abschalten. Das ist so eine Geschichte. Aber wenn dann so Dinge hochkommen, wie Datentypen passen nicht zueinander oder irgendwelche Vormittag gegen gerade ein bisschen schief, dann macht es
schon Sinn, da auch mal näher hinzugucken. Deswegen eine Klassifizierung. Also Warnungen, die meiner Meinung nach harmlos sind, die vielleicht harmlos sind, aber die ganz sicher nicht harmlos sind. Und wir haben uns von oben nach unten durchgearbeitet. Wir haben die, die ganz sicher nicht harmlos sind, auch als Erstes
bearbeitet.
Die Exception E, wo dann also quasi definiert, aber niemals verwendet. Das heißt, die Transaktionen, wenn die eine Exception überhaupt nicht haben, völlig leer sind.
Ich war da, da war ich so hoch, da hat mein Betäubungsmangel gesagt, da muss ich irgendwas merken, da drauf, die Augenbrauen sind dann ungefähr da oben. Und dabei so, oh, oh, da ist die Datenbank aufgehoben. Ja, die Datenbank kommt schon damit zu Recht, dass Programmierer nicht wissen, was Transaktionen sind oder sich um Exception nicht kümmern.
Aber die Administratoren wundern sich dann immer, warum Datenbestände inkonsistent werden. Also ich habe mal für die deutsche Bundesregierung in Tansania so ein Steuersystem auditiert. Und die haben sich vor Ort alle gewundert, warum die Daten nicht konsistent sind. Also es war eher normal. Und wenn Sie ein bisschen hinschauen,
also auch da, selbe Sache, einfach nicht verstanden, was Transaktionen sind. Einfach nicht verstanden, was Oracle und der Transaktion versteht. Und dann kann das schon mal passieren. Wenn Sie das falsch einstellen, also das ist bei den Transaktionen, wenn Sie das nicht richtig einstellen, dann sind die Transaktionen nicht serialisierbar. Und dann lassen Sie parallel Effekte zu. Und das können Sie ja einstellen, wie viel Sie davon haben wollen.
Aber der default sagt ja schon, einen Effekt lasse ich mindestens zu. Und der trat alle nasenlang auf. Gut, mal ein bisschen was zu dem, was uns so geärgert hat als erster Schritt. Also wir haben natürlich eine ganz andere Konzepte. Also Sie müssen sich vorstellen, das ist ein Betriebssystem. Das kommt aus einer bestimmten Zeit. Das hatte Vorstellung von irgendwas.
Das erste lästige ist halt die Version Ihren Files. Also das, was Unix ist, langsamer wieder lernt. Und Windows freut sich auch schon, dass es kann. Also da hängen die einfach in Simikolon 1 dann bei der ersten Version. Und bei der nächsten hängen sie einfach in Simikolon 2 dran. Und so entstehen Version und Version und Version. Und das ist auf der einen Seite ganz nützlich, weil wenn Sie aus Versehen mal etwas abspeichern, dann haben Sie immer mindestens noch die
dritte Version. Das ist aber totale Kacke, wenn Sie einen File erzeugen, das über die ganze Anwendung hinweg gleich heißt. Und das Sie dann einem Drucker mit auf den Weg geben. Da ist immer nur ein Fall da, dass Sie dem Drucker quasi in Unix einen Fall da, dass Sie ihn mit auf den Weg geben. Und da kommt dann halt so ganz komischen Effekten. Na ja, und was macht man halt? Also man muss den Fallnamen
bei der Gestaltung des Fallnames im Programm darauf achten, dass der eindeutig wird. Wir haben uns jetzt mal entschieden bis auf die Millisekunde runter. Aber wenn Sie jetzt den Fall nicht mehr in handelsüblichem BC haben oder in fünf Jahren handelsüblich anders definiert ist, dann wird die Millisekunde wohl nicht mehr reichen. Genau, dann steht ein Sleep da hinter.
Und 100, damit ich noch wieder tunen kann. Erst auf 75, dann auf 50, dann auf 25 und dann war was richtig. Ja, also Sie sehen, also das ist dann kein Knaller, aber da müssen Sie irgendwie damit umgehen. Und am Ende des Tages ist es sogar so, dass Sie alle Routinen gefunden haben, wo dieser Unsinn passiert, bis auf die eine und die produziert eine Datei.
Die macht aus dem 6.8. eine Datei. 608 steht im Namen drin. Und jeder, der am 6.8. eine Datei macht, steht 608 drin. Aber der erste, der sie macht, dem gehört sie. Der hatte bestimmte Rechte daran und die anderen dürfen nichts. Das heißt, also Drucke kommen einfach haufenweise oder kamen haufenweise nicht raus, bis man das mal ein bisschen geändert hat. Sie alle
kennen Umgebungsvariabeln in Unix. Also ich sage mal mindestens auf einer Ebene, man loggt sich an und dann wird das für einen gesetzt. Auf der Ebene ist es oder Ihnen gefällt das nicht und Sie sagen auf Export Variable gleich Wert. Dann ist das Neugesetz für die Umgebungen, die es sind, wenn Sie die verlassen, zurückgehen. Naja, dann gilt beim nächsten Login das, was
in Ihrer Shell oder Login oder Profile definiert ist. Gilt das halt wieder. Aber das Betriebssystem kann Variabeln auf vier Ebenen. Also das kann das ein bisschen für Systemweit setzen und so weiter und da müssen Sie jetzt überlegen, boah, wie kriegen wir das denn in den Griff? Und es ist total
schwierig, auch wenn ich das so locker erzähle. Wenn die Software nur von drei dieser vier Gebrauch gemacht hätte, hätten wir uns ein Ast gehoben. Gott sei Dank macht sie nur von zwei der vier Gebrauch. Das heißt also, es wird etwas persönlich für jemanden gesetzt und es wird etwas systemweit gesetzt. Und das Systemweit
ersetzen kann man ganz klassisch regeln, indem man einfach einen Environment-File definiert und dann guckt man immer rein, was steht da drin und was gilt gerade für mich. Ja, also darüber ist das dann lösbar gewesen, dass also die in der Lage sind, Umgebungsvariabeln auf vier Ebenen zu definieren. Und unser Glück war, dass sie es nur auf zwei tun. Es gibt auch eine Stelle im Source Code, die sagt,
wenn hier einer mit sozusagen Job-Ebene handelt, dann wird es kriminell. Original Zitat aus dem Source Code. Aber Glück gehabt, wirklich kriminell. Symbols sind auch nochmal so ein Special-Ding. Also wenn ich jetzt sage, das ist wie ein Alias in Unix oder in der Shell, dann trifft es das zu 75%. Also legen wir nahe
bei, aber vom Prinzip her können sie bestimmte Dinge gar nicht zur Ausführung bringen in der Umgebung, wenn sie nicht vorher ein Symbol definiert haben und sich Gedanken machen, wie kriege ich da auch Parameter hin. Also irgendwie einen Skript starten und drei Parameter hintereinander wegkippen. Das geht ja nicht so. Also das wollen die auch nicht so. Die arbeiten dann ganz anders.
Und wirklich lustig wird es dann bei so Sachen wie, also wenn Sie jetzt in Kontakt denken, stellen Sie was ein, dann läuft das nach den Regeln, die Sie vorhin angegeben haben. Jeden Tag, jede Minute, am ersten an des Monats, einmal im Quartal. Bei denen ist das aber so, da gibt es so ein Cueing-System, das haben Sie quasi mit dem System gleich mitgekauft, gar nicht
zusätzlich gekauft. Und dem sagen Sie immer, hey, du Cueing-System, ich hätte hier mal eine Hintergrundprozess, nimm den mal an. Und das regelt man auch über einen, in Anführungszeichen, einen Shell-Skript. Und das Shell-Skript macht das dann und sagt hier, System, hast du das Ding? Und bei dem Aufruf von dem Betriebssystem, wo drin steht,
führt dieses Skript aus, kann man gleich mit angeben und das tust du dann in einer Stunde wieder. Also egal wie lange du brauchst, aber wenn du fertig bist, eine Stunde später machst du das wieder. Ja, also das muss man sowieso als Unix-Mann ja erstmal verstehen, denn nur Conn und Ad und Contab unser Zeug kennt. Also auf diese Art und Weise schieben die Dinge
quasi in den Hintergrund. Und dieses Cueing-System hat aber ganz nette, charmante Vorteile. Das kümmert sich um Fehler. Dem können Sie sagen, du lässt nur einen Auftrag zu einer Zeit zu. Also du nimmst zwar alle an, aber arbeitest ein nach dem anderen ab. Stellen Sie sich das mal unter Unix vor, wie Sie sicherstellen wollen, dass nur ein Prozess zu einer Zeit etwas tut. Also entweder geben Sie Geld für ein Fremdsystem aus, wo Sie die Dinge
eingeben oder Sie zaubern in Ihren Skripten um, dass Sie merken, ich bin nochmal aktiv, also tue ich jetzt mal nichts. Dann gibt es immer zwei Reaktionen. Das eine ist ich warte, bis ich drankomme oder ich höre ganz auf. Und diese Geschichte mit dem Warten, bis ich weit rankomme, die wird dann immer schwieriger zu implementieren und irgendwann macht es dir ein anderes System einzukaufen.
In Form ist es relativ egal, ob Sie große oder kleine Buchstaben verwenden. Das können Sie ja mal in Unix probieren. In der Shell, also da macht das durchaus Sinn. Und das, was der Kollege heute Morgen sagte, mit der gemischten Schreibweise, groß, klein und ob ihm das gefallen hat oder nicht, ist mal relativ egal. In dem
System, in dem alten, aber in dem neuen System ist es total wichtig, das zu unterscheiden. Und Sie müssen halt mit etwas wie Shell arbeiten oder mit Dingen, die man in der Shell tun kann. Und das ist halt so eine Sprache, die ist damals digital entwickelt worden. Da so viele VMS kennen, wissen Sie ja alle, digital war mal eine ganz gute
Firma auf dem Wege, vielleicht sogar IBM zu beholen. Die haben viele revolutionäre Ideen gehabt. Aber dummerweise hat der Firmenchef 1997 so einen Spruch gemacht. Möglicherweise kennen Sie ein paar von Ihnen. Der hat 1977 schon mal erwähnt, dass er sich kaum vorstellen kann, dass eines Tages Leute sich Computer nach Hause auf den Schreibtisch
stellen. Und wenn Sie das als Firmenchef von sich geben und die Vision heißen, diese kleinen Dinger werden nicht kleine und stehen zu Hause herum, dann können Sie sich erklären, warum die Firma über Compaq jetzt nicht bei HP gelandet ist und gerade dabei ist, bei HP wieder aussortiert werden. Da gibt es so ein paar Freaks, die jetzt sozusagen so einen VMS Revival machen.
Oder so einen digital Revival, keine Ahnung. Die wollen das einfach am Leben halten. Aber ich kann Ihnen sagen, wenn die Firma Oracle sich entscheidet, zukünftig dieses Betriebssystem nicht mehr zu unterstützen, dann ist die Bude tot. Also die sind einfach abhängig von Software, die drum herum ist. Und da Oracle mit der größte Datenbank-Hashle am Markt ist, werden die
nicht umhinkommen, also mit denen irgendwie zu kooperieren und dafür Sorge zu tragen, dass es Produkte wie diese gibt. Und ich meine, das ist jetzt aber kein Geheimnis. Also wenn Sie heute ein Produkt entwickeln und das kann nur so einen ganz desizierten Markt bedienen, dann ist Ihre Perspektive nicht sonderlich groß, außer es braucht jedes Jahr einer ein Stück, das so eine Milliarde kostet, dann kommt man auch über die Runden.
Aber wenn das ein Massenprodukt wird, dann wird es schwierig. Gut, Meld ist kein Thema gewesen. Würde ja unter Unix auch gehen, aber diese Mählerei wollten die nicht mehr. Die wollen halt Warnungen an Nagios, über Nagios in die weite Welt verteilen. Hat halt den unangenehmen Effekt, die lassen sich heute Lockfile zuschicken, wo alles drin steht, was so schief laufen könnte.
Und jetzt kriegen sie eine hässliche Warnung, wo drin steht, auf dem System, in der Ecke hast du ein Problem. Und dann klappert man sich dahin, da geht ein bestimmtes Direktor hin, da muss man das Lockfile da abgreifen. Es gibt halt noch so ein paar hässliche Dinge, auf die man achten muss. Also man kann sich ja schon vorstellen, dass es bestimmte Bild-in-Funktion irgendwie gibt, also so Funktionen,
die einem aus dem String heraus bestimmte Teile herausholen. Das ist jetzt alles keine Sensation, aber die müssen sie alle finden, irgendwie bewerten und sich dafür eine Lösung überlegen. Ja, und genauso ist es halt mit so anderen Hand-Darm-Library-Routinen, also wo sie im Source-Code vielleicht etwas verwenden,
was ich übrigens gar nicht kennt. Und ganz lustig wird es, dass es in der Ecke eine Library gibt, die ganz groß ankündigt, hier werden so die Standard-C-Sachen verpackt. Und man empfiehlt ihnen zum Beispiel das Standard-Io, die Standard-Io .h, nicht vom Betriebssystem zu nehmen,
nicht aus einer speziellen Form Essecke zu nehmen, sondern aus der Ecke zu nehmen. Ja, das müssen sie ja als Unix mal erstmal begreifen, dass es sozusagen viele Studios gibt, wo sie sich bedienen können. Und am Ende des Tages sind wir darüber auch einmal gestolpert. Also es gab dann immer so komische Hinweise, dass
sich unser Programm oder unser Compiler auf sich beschwert, da stimmt was mit den Parametern bei der Standard- Funktion nicht. Ja, und so kommt man dann schon irgendwie auch drauf. Aber am Ende des Tages ist es auch hier so, da haben wir ziemlich Glück gehabt. Also nach diesen Dingen kann man ja mit Inklud suchen, man zählt die durch. Wenn man weiß, welche Dinge da inkludiert werden, guckt man sich in einem Handbuch an,
was für Funktionen werden angeboten, wie oft ich da auch in die auf. Wenn man das mal raus hat, kann man sich immer noch die Frage stellen, also wie setze ich sowas in Unix oder in neuem C um. Das kann man irgendwie bewerten, gewichten und am Ende des Tages ist es nur C an. Also jetzt verstehen Sie vielleicht auch warum. Ich denke, das war bestenfalls ein kompliziertes Projekt und nicht unbedingt ein komplexes Projekt.
Gut, und bei der C-Programmierung selber, also der Kunde denkt, dass das 3264 mit der größte Hammer war. Wir glauben das nicht. Wir glauben, dass einfach schon die Geschichte mit dem Standard-C schwierig genug war. Und wenn Sie unbedingt ein Papier lesen wollen, dann lesen Sie mal von der Firma Oracle eins,
also wenn Sie über Google versuchen, nach migriere C-Programme 3264 mit, dann kommt von Oracle was hoch. Wenn Sie das am Ende des Tages genau durchlesen, dann ist bei dem ersten Punkt Feierabend. Weil die sagen, ganz klar, also ihr müsst euch um Pointer kümmern, ihr müsst euch um Long kümmern
und das kriegt man aber heute schon raus, wenn man Lind, Wellgrind, irgend sowas, schlaues Benutzer, kriegt man die schnell alle genannt. Am Ende ist es auch so und die gehen dann auf Basis von diesen Dingen nur noch weiter hinweise. Also sie sagen dann, also wenn ihr Strukturen definiert, Structs, wo diese Dinge verwendet werden, damit die nicht irgendwo verwenden, sondern zieht die nach oben an den Anfang.
Gibt es irgendeine schlaue Erklärung auch in dem Handbuch? Das erklären Sie quasi, also eine meiner Rollen war
Projektleiter. Jetzt erklären Sie gerade Projektleiter, was das Dev-Team gemacht hat. Okay. Also da ist vom Prinzip her alles geregelt. Wenn Sie sich um die Longs und Pointer kümmern, dann haben Sie viel im Griff. Wir haben das Glück gehabt,
jedenfalls an ganz vielen Stellen, haben die diese Datentypen selber nicht verwendet. Also die haben im Source Code nicht gesagt, ich will jetzt was vom Typ Long, sondern die haben entschieden, ich will etwas vom Typ I unterstrich Long oder etwas vom Typ X unterstrich Long. Und wenn Sie C als Programmiersprache können, haben Sie vielleicht eine Idee,
was da woanders deklariert war. Also die I Longs waren vom Prinzip her die Integer. Und die X Long waren tatsächlich irgendwie die Longs. Und für uns hat das nur bedeutet, dass wir in ausgezeichneten Files die Definition anpassen mussten. Also die Software, die von 1990 bis 1995 entwickelt worden ist,
hat das zumindest alles immer schön brav irgendwo hingeschrieben. Und man musste nur an zentraler Stelle die Dinge verändern. Und schon ging es immer einen kleinen Schritt mehr. Nochmal Glück gehabt. Ansonsten werden Sie da, also brauchen Sie wieder Programme. Also bei uns unser Physiker hätte wieder ein paar Programme schreiben müssen und wir hätten das wieder systematisch verändert.
Gut, und hier unten haben wir nur mal ein paar Fehlermelden aufgeschrieben. Also bei uns sind auch Dokumente entstanden. Manche auch mit dem Fortschritt in dem Projekt. Es gibt ein Migrationspapier, auch zu dem C-Programm. Da sehen Sie, dass der Physiker irgendwann die Sprache gewechselt hat. Aber wir haben die Sprache auch schon dokumentiert und haben gesagt, die findest du ungefähr da an all den Stellen.
Haben wir so verändert. Und im Source Code selber haben wir eine Spur hinterlassen, dass das im Rahmen der Migration unter bestimmten Namen passiert ist. Und allein mit diesen Geschichten, also so Compiler Warnings und dann auch so ein paar Standard-Tools, die C einfach kennt. Also in meiner Welt sind wir damit ziemlich gut ausgekommen. Wir haben natürlich ein paar Abstütze gehabt, wo wir den Deeper-Gang geschmissen haben.
Wir haben heute noch einen Fehler. Da suchen wir uns schon seit drei Tagen dran und sehen nicht, wo er passiert. Aber ich gebe die Hoffnung nicht auf. Noch haben wir jeden Fehler gefunden. Gut. Es gibt sowas, wo ich sage, dass VMS in jeder Hinsicht großzügiger als UNIX ist. Und das Großzügige
möchte ich jetzt gerade mal kurz erklären. Also das erste Beispiel ist vielleicht das in der Mitte und in Farbe. Da kommt aus der Anwendung heraus ein String, der heißt XY Add, irgendein Verzeichnis, Doppelpunkt, irgendein Skript. Das Add-Zeichen ist ein VMS-Zeichen dafür, dass Sie
eine DCL-Prozedur ausführen wollen. Also der Start an eine Shell-Skript in die A-Sprache. Und der zusammengebaute String, das ist irgendein String-Cut, String-Copy, das nicht ordnungsgemäß ausgeführt wird, baut zu viel zusammen. Baut hier etwas hin, was da nicht hingehört.
Wenn man das an VMS übergibt, dann sagt VMS, also mit den ersten beiden Sachen kann ich nichts anfangen, aber mit dem Rest mache ich mal was. Und das heißt, also mit dem Rest, da läuft einfach das Skript und das funktioniert. Und das machen Sie mal in UNIX. Tippen Sie also mal sowas ein, so ein XY, dann Ihr
Verzeichnis, dann Ihr Skript. Dann kriegen Sie eine blöde Fehlermeldung, da wo Sie gerade stehen und darunter gibt es keine XY, geschweige denn ein Verzeichnis, geschweige denn also das heißt, da ist VMS, das meine ich mit großzügig. Wir haben am Anfang ziemlich damit zu tun gehabt, dass VMS
oder damals unterwegs C die Kompilierung und der ganze Prozess dahinter offensichtlich funktioniert hat, dass Variablen zwar deklariert werden, aber nicht automatisch initialisiert werden. Und automatisch initialisiert werden. VMS
erkennt den Datentyp und weiß, was das für eine Initialisierung braucht. Also ein numerischer Wert kriegt die 0, beim String kriegen Sie einen Erstring und da müssen Sie sich als Programmierer nicht umkümmern. Es ist aber, wenn Sie jetzt neumodig C spielen, müssen Sie dummerweise die Dinger initialisieren. Sonst müssen Sie mit Abstützen rechnen.
Das war so die erste große Menge von Abstützen, die wir hatten. Dann definieren Sie einen RE der Länge 32 und im Source Code greifen Sie auf die 64. Komponente von diesem RE zu. Das heißt, Sie lesen in Ihrem Unix-C-Programm einfach aus irgendeinem Stückchen Speicher etwas raus. Das geht noch gut, weil Sie ja nicht reinschreiben wollen,
aber Lesen geht zumindest noch ganz gut. Und da steht irgendein Schott in Ihrer Variabel und Sie wundern sich auf dem Bildschirm, wo kommt das her? Ja. Und VMS kriegt das irgendwie hin, dass da nichts Schlimmes steht. Da steht nur ein Haufen Nullen drin. Und diese Eigenschaft hat sich das Programm aber zunutze gemacht, weil Sie
wenden darauf dann so logische Operatoren an, so Bitweise, um quasi zu entscheiden, ob in einem Prozessschritt etwas getan werden darf oder nicht. Und wenn es getan wird, ob dann auch immer Papier rauskommen muss oder nicht. Und wenn Sie einen Haufen Nullen haben und darauf irgendeinen Bitmuster anwenden, dann kriegt man dem schon beigebracht, dass das Bitmuster jetzt so
aussehen soll wie, ja bitte mit Druck. Wenn Sie aber irgendwas aus dem Speicher rauslesen und darauf ein Bitmuster anwenden, dann haben Sie immer noch irgendwas. Wie der Kollege, der da geredet hat, gesagt hat, also das ist Kacke und selbst wenn Sie es hin und her schieben, bleibt es Kacke. Und das hat einen sehr unangenehmen
Effekt geführt. Also im Sinne von, da tut die Anwendung nicht so, wie sie soll. Also ein Fehler, der quasi durch uns reingekommen ist. Also wenn der jetzt schon immer drin gewesen wäre und auch sichtbar gewesen wäre, hätte ich sehr erfolgreich migrieren. Das war ja die Vermisse. Gut. Und auf Funktionsprototypen. Wie sagte der VMS Gubu,
also ich bin überrascht, wie wenig Funktionsprototypen Sie geschrieben haben und wie gut es dafür trotzdem geklappt hat. Und am Ende hat er das gesagt, aber leiden wir darunter. Also es hat so einen Haufen Parameter-Probleme gegeben, wo die Typen nicht gestimmt haben, wo Reihenfolgen nicht gestimmt haben, wo es zu viele waren oder zu wenig waren. Und das können Sie alles der Reihe nach finden. Aber Gott sei Dank waren nicht
so viele drin, dass wir es in der Zeit nicht hätten schaffen können. Gut. Und es gibt noch viele andere Späße, wo also so Sachen in VMS dann einfach großzügig gehändelt worden sind, zu einem vernünftigen Ergebnis geführt haben. Aber in Juniqs leider nicht. Und die haben wir alle nicht automatisch vereinigt, sondern der Reihe nach
systematisch von Hand. Wo tritt es auf? Wo tritt es noch auf? Mach die drei Files auf, behäbe das Problem. Gut. Und wenn man jetzt fragt, wo steht das Projekt? Also ich sagte es gerade schon. Das Projekt ist in den ersten beiden Wochen im Auguste in den Betrieb gegangen. Also in dem einen Werk läuft das ja schon zwei Wochen
ohne größere Störungen. In dem anderen jetzt seit einer Woche ohne Störung. Und wenn man Störungen mal ein bisschen genauer definiert oder präziser geschaut, also jetzt nicht dieses japanische Konzept da verwendet, ich weiß nicht ob Sie das kennen. Wasabi haben Sie schon mal bestimmt gesehen oder gekauft, diese grünen Nüsschen oder das Honing Sushi da,
dieser Creme. Das meine ich nicht, sondern dieses Wabijsaby. Und was es wie auf Deutsch heißt, wie das perfekte liegt im Imperfekten. Und deswegen wird jetzt auch ein Absturz toleriert. Also wir haben einen Absturz programmiert, den es vorher nicht gab, man hat aber festgestellt,
wenn man auf der Maske ein paar Daten weniger eingibt, dann kriegt man es nicht zum Abstürzen und deswegen gibt es einen Workaround und deswegen gibt es nichts Produktionsverhindernes. Aber wir haben schon noch ein bisschen was zu tun und gerade auf der Betriebsseite ist noch was zu tun und wenn man das in Summe zusammenfasst, neben all diesen
von irgendwas nach irgendwo hin Erfahrungen. Also es macht zur Abwechslung mal einen Sinn, mal mit dem Plan zu starten und es macht weiterhin Sinn, dem Plan aber ganz dynamisch
anzupassen. Also wir haben einen Projektbein gehabt, der hat vorgesehen, dass wir im Juni Integrations-Tests machen und im Mai spielen wir den letzten Funktionstest. Wir haben die mit unserer Art und Weise der Vorgehensweise, also Scrum-Bahn, im Prinzip war die im Dezember fertig und stand da. Und wir haben nur noch immer darauf gewartet, dass jetzt die Tests
kommen. Und dummerweise war es halt so, dass wir kurz vor dem vorletzten Test noch einen Haufen Probleme gefunden haben und die aber dann mit Pulse-Krypten noch mal beseitigt haben, dann selber einen Regressionstest gemacht haben und dann im Betrieb gegangen sind. Und auch wenn das hier immer so locker drauf stand, also wir haben gezählt und dann
haben wir bewertet. Am Ende des Tages ist es so, aber stören sich nicht vor, dass es einfach ist, sich einen Kopfdrucker zu machen, dass ein System auf einmal Umgebungsvariabeln auf vier Ebenen kennt. Und das wollen Sie jetzt einführen oder das System erzeugt Dateien in irgendeiner Schreibweise, die das andere System manchmal lustig findet und manchmal nicht. Also hört sich alles trivial an, ist am Ende alles gelöst
worden, aber bedarf einer gewissen Denkarbeit. Gut, wenn Sie sich weiter mit mir austauschen wollen, geht das jetzt noch oder später auch mal gerne per E-Mail oder ich habe jetzt noch drei Minuten. Also ich habe gesehen, ich habe noch fünf Minuten, aber jetzt haben Sie die Gelegenheit drei Minuten in den Kommentar loszuwerden, was zu fragen, Ergänzungen.
Ja, also kann man, aber dazu muss ich kurz mal zurückgehen gehen? Auf irgendeiner Folie? Also die Idee ist ja mal in der munteren Laune entstanden, aber es
hat 2015 ein Proof-of-Concept gegeben. Da konnte ich also in 80 Tagen lang einen ganz detizierten Ausschnitt umstellen und beweisen, dass ich das kann. Und bei der Gelegenheit habe ich den Source Code natürlich von unten gesehen. Und da ist mir aufgefallen, es hat so ehre Versuche gegeben, diesen VMS Code auch schon unter Unix lauffähig zu kriegen. Dummerweise ist es halt so, dass manchmal nur da steht und wenn du mit Unix, also zur
Compiler-Direktiven, wenn du jetzt unter Unix bist, dann macht das, was da steht. Und das, was Sie hier sehen, stand da auch manchmal nur. Also gar nicht implementiert. Und dann haben Sie manchmal Unterschiede zwischen SunOS, Scenics, IBM, irgendwas. Also da sind fünf, sechs Unix-Varianten erwähnt worden. SCO als Unix. Kennt noch einer SCO? Also ich war
gut. Also das ist so, also wenn Sie mich fragen, warum konnte ich das? Ich hätte 80 Tage, also ich habe 20 Tage Zeit gehabt, mir ein Konzept zu überlegen. Wie geht
man das Thema an? Ich habe zusätzlich 80 Tage bekommen, durch Software von innen, von außen zu sehen, zu beweisen, dass ich es kann. Und dann habe ich nochmal 1.400 Tage gesehen, wenn ich nichts tun durfte. Und deswegen ist es am Ende so schätzbar. Und Datenbankmigration habe ich so viele gemacht mit Daten usw. Also
da gehe ich alles Szenarien durch und am Ende sind es dann auch pauschale Aufschläge. Also ich bewerte den Kunden, wie gut glaube ich, dass er Software entwickeln kann, wie gut glaube ich, dass er Projektmanagement kann, wie gut kann er bestimmt andere Dinge. Und das ist einfach nur eine Frage, ob 10, 20, 30 Prozent Aufschlag für Kundenbetreuung drauf ist, ein Risikoaufschlag. Also da
können Sie sich das also vorstellen. Und jeder, der die Studie gelesen hat, der weiß, Raumfahrprojekte werden immer neunmal teurer als geplant. IT-Projekte werden immer zweimal teurer als geplant. Gut. Also da kann ich ja vielleicht in Faktor 2 draufrechnen, dann stimmt es ja.
Also wäre für mich nicht entscheidend gewesen, um das zu managen, aber
natürlich ist es hilfreich in dem Kundendialog. Da ich den beim Kunden seit 2012 umspringe, weiß ich, was sozusagen da Instandhaltung heißt. Und ich weiß, da hängen viele Zettel dran und ohne einen Arbeitsauftrag macht in dem Wert keiner was. Also ich verstehe nicht das Werk und ich verstehe vom Prinzip her auch nicht, was Sie genau da machen. Aber ich verstehe in
groben Zügen, was Sie tun und wie die Module zusammenhängen. Also das reicht dann mal in jedem Fall. Aber um die Anwendung zu beleuchten, da muss man schon mal auf einer Datenbank-Ebene, da komme ich her, ich bin gebürtiger Datenbinkler. Dann kommt man hin und wieder mal an C vorbei. Da braucht man einen, der einem erklärt, was steht da gerade und was
bedeutet das. Und da habe ich das Glück gehabt, dass wir im Team in exzellenten Formes sind. Also genau genommen haben wir zwei. Aber in der Phase war einer dabei, der mir gesagt hat, und das würde ich jetzt mal so verstehen und das mal so und das mal so. Also da sind wir die Dinge auch systematisch durchgegangen. Und das ist die Phase, die Sie vorneweg machen müssen. Wenn jetzt ein Kunde zu Ihnen kommt und sagt, hier
ist eine Anwendung oder er kommt zu mir, hier ist eine Anwendung, was kostet das zu migrieren, da würde ich nicht loslaufen und schätzen. Ich kenne die Anwendung noch nicht, ich kenne die Anwendung an die Fremdsysteme nicht. Die Anwendung ist seit 1995 in Betrieb und sie sind alle miteinander, inklusive meiner Person, nicht in der Lage zu sagen, ob die Executables, die alle in einem Excel-Verzeichnis rumliegen, ob die alle gebraucht werden. Es gibt für alles Bildskripte, aber es
gibt nicht für alles Testfilete, die da mal hinführen. Also kann man annehmen, wird nicht gebraucht. Aber Sie wissen, wie es ist. Es kommt die Quartalsgrenze, es kommt die Halbjahresgrenze, es kommt die Jahresgrenze, es kommt eine Anforderung von irgendeiner Aufsichtsbehörde und schupf, wird was gebraucht. Aber das kann ich Ihnen gerne sagen, dass das da ganz klar klappt.
Das wird schwierig, also da muss man an das System und man muss sich mit den Details beschäftigen. Jetzt kriege ich einen freundschaftlichen Hinweis.
Also zwei der ehemaligen Programmierer sitzen jetzt beim Datenbanker im Support. Also den kann ich lieber sagen, also eure Jugendhunde wird ja gerade in die Gegenwart gehoben, aber es gibt relativ wenig von den Menschen, die da noch aktiv sind, die auch über die Jahre hinweg nicht so viel in dem Umfeld gemacht haben, also sie haben ihr Wissen auch verloren zum Teil.
Manche von denen waren auch damals erst in den 25ern, die leben also noch und arbeiten noch. Gut, ich werde jetzt aufgefordert, einmal zwei wechseln, ich bedanke mich für Ihre Aufmerksamkeit und für den Input, den Sie noch zusätzlich gegeben haben. Dankeschön.