Читать книгу Projekt Unicorn - Gene Kim - Страница 15
KAPITEL 4 Donnerstag, 11. September
ОглавлениеAm nächsten Morgen fühlt sich Maxine nach den zahlreichen gestrigen Erfolgen immer noch siegestrunken. Aber wie Kurt vorhergesagt hat, drehen alle am Rad. Bei allen herrschen Schock und Fassungslosigkeit, weil der Launch weder abgesagt noch verschoben wird. Stattdessen soll das Phoenix-Projekt morgen um fünf Uhr nachmittags freigeschaltet werden.
Als ob Captain Kirk auf Warp-Geschwindigkeit gehen will, obwohl Scotty ihm klarmacht, dass dann die Dilithiumkristalle in die Luft fliegen. Heute also keine langweiligen Statusbesprechungen. Stattdessen fühlt sich jedes Meeting wie ein waschechter Shitstorm an – mit Menschen am Rande der Panik. Ein Treffen entwickelte sich schnell zu einem chaotischen Tumult voller Fragen, Einwänden und Äußerungen schockierter Ungläubigkeit. Alle tippten wütend auf ihren Smartphones und Laptops, und ein Drittel der Teilnehmer im Raum telefonierte. Es war wie in einem alten Film aus den 1940er-Jahren, in dem die Reporter aus dem Gerichtssaal zu den Münztelefonen oder zurück in ihre Büros rennen und verzweifelt versuchen, die letzten Neuigkeiten als erste zu verkünden.
Maxine dreht sich zu ihrem Nachbarn und ruft laut: »Wurde Phoenix bisher jemals in die Produktivumgebung deployt?«
»Nein«, brüllt er zurück.
»Gibt es schon ein Release-Team?«, fragt Maxine.
»Nein. Chris, Kirsten und Bill stellen heute ein offizielles Release-Team zusammen, aber ich habe keine Ahnung, wer da die Verantwortung übernehmen wird«, antwortet er und mimt ein ängstliches, nervöses Fingernägelkauen.
Maxine schaut ihn an, sprachlos.
Sie ergötzt sich normalerweise nicht an den Problemen anderer, aber es ist tausendmal aufregender, dem ganzen Aufruhr rund um Phoenix zuzusehen, als darauf zu warten, dass sich irgendwer um ihre Tickets kümmert. Sie stöhnt, als ihr dämmert, dass sich angesichts dieser Krise niemand mehr um ihre Tickets kümmern wird.
Später am Morgen gibt Chris bekannt, dass William, der QA-Direktor, das Release-Team leiten wird. Sein Ziel: alles in einen freigebbaren Zustand zu bringen und sich mit Operations zu koordinieren, die ebenfalls überrumpelt wurde.
Armer Kerl. Ihr ist klar, dass sie alle in großen Schwierigkeiten stecken. Die Phoenix-Entwickler können nicht einmal ihren eigenen Code mergen, ohne dass Teile davon unberücksichtigt bleiben oder den ganzen Build sprengen. Auf ein erfolgreiches Deployment in die Produktivumgebung zu hoffen, scheint gnadenlos optimistisch zu sein. Oder einfach nur total verrückt, denkt sie.
»William, wann trifft sich Ihr Release-Team?«, fragt Maxine ihn, als er an ihr vorbeijoggt. Sie rennt mit, um auf gleicher Höhe zu bleiben. »Kann ich helfen?«
»Das erste Treffen findet in einer Stunde statt. Wir brauchen jede Hilfe, die wir bekommen können«, antwortet er, ohne auch nur einen Moment innezuhalten. Maxine ist hocherfreut. Endlich eine Chance, ihre Fähigkeiten und Erfahrungen tatsächlich einzusetzen.
Das wird ein interessantes Treffen. Maxine hat gesehen, wie Dev und Ops mit Phoenix umgehen. Statt sich wie ein einziges Team zu verhalten, benehmen sie sich eher wie souveräne Staaten, die sich am Rande eines Kriegs bewegen und deren Diplomaten versuchen, ein löchriges Friedensabkommen zusammenzuschustern unter Einbeziehung des ganzen Programms an beschwichtigenden Botschaften, Protokollen und offiziellen Formalitäten. Selbst die Planung eines Treffens zwischen diesen beiden Gruppen erfordert einen vorgeschalteten Gipfel, bei dem Anwälte anwesend sein müssen.
Trotzdem ist sie begeistert, jetzt mit im Spiel zu sein. Auf eine perverse Art und Weise ist dies der größte Spaß, den sie bisher beim Phoenix-Projekt hatte. Sie merkt, dass ihr Grinsen von einem Ohr bis zum anderen reicht. Macht mich das zu einem schlechten Menschen?, fragt sie sich. Sie grinst wieder: Es ist ihr egal.
Obwohl sie versucht, zeitig da zu sein, kommt Maxine zu spät im War Room an. Die Sitzung wurde zweimal in andere Räume verlegt, weil die Teilnehmerzahl zu groß wurde.
Drinnen sind es 15 Grad wärmer als im Flur, und die Luft riecht abgestanden. Fast 50 Personen sind in einem Raum zusammengepfercht, der nur für die Hälfte ausgelegt ist. Sie sieht Chris, Kirsten, William und eine Reihe leitender Entwickler und Manager. Kurt, der neben William sitzt, winkt ihr zu.
Auf der anderen Seite des Tischs sitzt Bill Palmer, umgeben von einer Phalanx unbekannter Gesichter. Sie merkt, dass an ihnen etwas … anders ist.
Der größte von ihnen, links von Bill, hält die Arme verschränkt, schaut mürrisch und unzufrieden und schüttelt ungläubig den Kopf. »Ich fasse es nicht! Sie wollen mir wirklich sagen, dass Sie nicht wissen, wie viele Windows-Server Sie zusätzlich zu der Handvoll Linux-Server benötigen … Sagen Sie mir doch bitte, wie viel genau eine ›Handvoll Server‹ sein soll? Ist das eine metrische oder eine angelsächsische Einheit? Und wo wir schon dabei sind: Brauchen Sie auch irgendwelche Kumquat-Kisten oder vielleicht einen Tandem-Server?«
Ihm zur Seite sitzen eine Frau und ein jüngerer Mann. Die Art und Weise, wie sie kichern, erinnert Maxine an Crabbe und Goyle, die beiden bösartigen Schläger und besten Kumpels von Malfoy, Harry Potters Rivalen aus dem Hause Slytherin.
»Ähh …«, beginnt einer der Dev-Manager. »Es gibt tatsächlich eine Komponente, die nur auf Kumquat-Servern läuft. Und zwar eine Erweiterung des Message Bus. Aber es ist nur eine kleine Modifikation. Sollte keine Probleme verursachen und auch nur vernachlässigbar Last hinzufügen …«
Maxine hört ein Stöhnen im ganzen Raum – und nicht nur von den Slytherin-Typen auf der gegenüberliegenden Seite des Tischs. Der jüngere Mann, der neben dem Riesen sitzt, den Maxine für sich bereits als Big Malfoy bezeichnet, seufzt. »Technisch gesehen, ist mit Kumquats nichts verkehrt – wir haben mehr als ein Jahrzehnt Erfahrung damit, sie unter Produktionslast zu betreiben, und wir verstehen ihre Eigenschaften ziemlich gut. Das Problem ist, dass ein Reboot dieses Clusters fast acht Stunden dauert. Wir müssen also sehr vorsichtig sein mit allem, was einen Neustart zur Folge haben könnte, wie beispielsweise Sicherheitspatches. Ich mache mir Sorgen, dass bestimmte Änderungen mehrere Neustarts erfordern, was locker einen Tag Ausfallzeit bedeuten könnte … oder dass überhaupt nicht mehr hochgefahren werden kann …«
Das sind alles Leute von Ops, wie Maxine feststellt. Kein Wunder, dass sie sie bisher noch nicht gesehen hat.
»Wes, glauben Sie mir, wir haben vor diesem Szenario genauso viel Angst wie Sie«, antwortet der Dev-Manager von der anderen Seite des Tischs. »Wir haben drei Jahre lang versucht, diese Anwendung auf eine andere Plattform zu migrieren, aber immer musste das hinter irgendetwas Wichtigerem zurückstehen.«
»Ja, bei euch Entwicklern haben immer die Features Vorrang, aber ihr kümmert euch nie um die technischen Schulden, die ihr damit verursacht … so ein Bockmist«, kommentiert Big Malfoy und gestikuliert verärgert.
Bill sagt zu Big Malfoy, ohne auch nur den Kopf zu drehen: »Halt die Klappe, Wes. Arbeite am Problem. Bleib konzentriert.«
»Ja, ja, ja. Verstanden, Boss«, knurrt Wes (Big Malfoy). »Eine Handvoll Linux-Server, eine Handvoll Windows-Server und ein Kumquat-Server. Verstanden. Und wer kann jetzt ›eine Handvoll‹ definieren?«
Maxine beobachtet, wie die Dev-Manager ihre Köpfe zusammenstecken und die Leistungsanforderungen all ihrer Komponenten auflisten. Es ist klar, dass sie sich auf ihr Bauchgefühl verlassen und es keine durchdachte Kapazitätsplanung gibt.
Maxine dämmert langsam, dass dieses Release wesentlich gefährdeter ist, als sie gedacht hat. Die Entwickler haben immer noch nicht ihren gesamten Code zusammengeführt. Und sie haben die Produktionsumgebung, die die Anwendung benötigt, nicht definiert – eine benötigte Umgebung mit Begriffen wie »Handvoll« zu beschreiben, reicht definitiv nicht aus.
Sie erhebt ihre Stimme und fragt: »Wie viele Transaktionen pro Sekunde erwarten wir bei der Anzeige von Produkten und bei Bestellungen? Und wie viele Transaktionen pro Sekunde können die aktuellen Builds im Moment bewältigen? Daraus können wir ableiten, wie viele Server wir für die horizontal skalierbaren Komponenten brauchen, und auch, wie weit wir bei den vertikal skalierten Komponenten wie der Datenbank noch vom Ziel entfernt sind.«
Der Raum verstummt. Alle wenden sich Maxine zu. Sie scheinen über diese Frage, die der gesunde Menschenverstand nahelegt, erstaunt zu sein. Die Frau, die links von Wes sitzt, sagt: »Danke! Das ist genau das, was wir wissen müssen!«
Maxine nickt und zwinkert ihr zu.
Chris steht auf. »Dies ist das publikumswirksamste Release in der Geschichte unseres Unternehmens. Das Marketing hat alle Register gezogen und wird fast eine Million Dollar in die Hand nehmen, um den Start von Phoenix zu promoten. Die Filialleiter haben die Anweisung erhalten, allen Kunden vorzuschlagen, die App herunterzuladen und am Samstag auf die Website zu gehen – es gibt sogar interne Wettbewerbe, um zu sehen, welche Filialen die meisten neuen Kundenregistrierungen per App generieren. Sie beackern die gesamte Branchen- und Wirtschaftspresse. Sie versuchen, entweder Sarah oder Steve in alle Nachrichtensendungen zu bringen – sogar in Good Morning America.
Hier sind die besten Berechnungen, die ich vom Marketing bekommen konnte«, fährt Chris fort und blättert in seinem Notebook. »Erwarten Sie einen Ansturm von bis zu einer Million Besuchern auf der Website und über die Apps von Parts Unlimited. Wenn alles gut geht, sollten wir darauf vorbereitet sein, mindestens 200 Bestellungen pro Sekunde abzuwickeln.«
Maxine hört aus dem ganzen Raum Gemurmel und Flüche.
Wes lässt seinen Blick suchend durch den Raum schweifen und wendet sich schließlich, ohne jeden Anflug von Heiterkeit, an Chris. »Okay, das ist gut zu wissen.« Er zeigt Richtung Maxine: »Unsere kluge Systemarchitektin hat gerade gefragt, wie viele Transaktionen Phoenix im Moment bewältigen kann. Und?«
Chris schaut zu William, der einen Ausdruck hervorholt. »Frisch aus dem Drucker heute Morgen. In unseren Tests verarbeitet Phoenix derzeit etwa fünf Transaktionen pro Sekunde. Alles, was darüber hinausgeht, führt dazu, dass die Datenbankclients aufgrund von Zeitüberschreitungen abstürzen, einschließlich der mobilen Anwendungen … Ich glaube, uns fehlen noch ein paar Datenbankindizes, aber wir haben noch nicht herausgefunden, wo genau …«
William schaut hoch. »Das ist sehr, sehr schlecht, Chris.«
Wes wirkt für einen kurzen Moment fassungslos. Und wendet sich dann unverblümt und mit leicht belegter Stimme an Chris: »Wir werden es nicht schaffen, oder?«
Niemand sagt etwas. Schließlich fragt Bill: »Wes, was brauchst du an Unterstützung?«
»… ich kann es dir im Moment nicht einmal genau sagen«, antwortet er. »Vielleicht geben wir den Teams einfach etwas Rückendeckung, damit sie weiter fokussiert bleiben können.«
In diesem Moment hört Maxine eine laute Stimme aus Richtung Tür. »Um das Überleben von Parts Unlimited zu sichern, müssen wir es schaffen, also werden wir es auch schaffen.«
Oh nein, denkt Maxine. Es ist Sarah Moulton.
Sie trägt einen hellen, teuer aussehenden gelben Anzug, und ihr Gesicht strahlt dermaßen, dass Maxine sich fragt, wie das überhaupt möglich ist. Die Leuchtstoffröhren im Büro lassen Gesichter normalerweise gräulich und farblos wirken. Maxine mutmaßt, dass Sarah ihrem Make-up möglicherweise Radium beimischt, um sich selbst wie eine Nachttischuhr aus den 1950er-Jahren zum Leuchten zu bringen. Sarah hat einen gewissen gefährlichen Glamour an sich, und jeder im Raum scheint davon gebannt zu sein.
»Wir bewegen uns in einem schrumpfenden Markt, in dem uns erbitterte Konkurrenten Marktanteile wegnehmen«, stellt Sarah fest. »Ganz zu schweigen von Tech-Giganten wie Amazon und 20 neuen Start-ups, die die ganze Branche aufmischen. Wie Steve schon im Townhall-Meeting erklärte, hatten wir drei Jahre Zeit, uns darauf vorzubereiten. Jetzt ist es für uns an der Zeit, in den Krieg zu ziehen und das zu verteidigen, was uns rechtmäßig gehört.«
Sie schaut sich im Raum um und sucht nach Anzeichen von Widerstand oder Rebellion. »Das ist die Strategie, für die sich die Führungskräfte dieses Unternehmens entschieden haben. Hat jemand ein Problem damit?«, stellt sie herausfordernd in den Raum.
Unglaublich, aber Maxine hört sich selbst lachen. Entsetzt hält sie ihren Mund zu. Reiß dich zusammen, Maxine! Schnell versucht sie, ein unschuldiges Gesicht zu machen – wie ein Schüler, der bei irgendeinem Vergehen erwischt wurde. Seit wann interessiert es dich, was Verantwortliche über dich denken?, fragt sie sich.
Seitdem Chris mich gewarnt hat, mich bedeckt zu halten, erkennt sie. Maxine zwingt sich, Sarah mit einer möglichst ausdruckslosen Vulkanier-Miene anzuschauen, die nur kühle, leidenschaftslose Logik ausstrahlt.
»Etwas scheint daran komisch zu sein … äh, Verzeihung, und wer sind Sie?«, fragt Sarah und sieht Maxine frostig an.
»Maxine«, antwortet sie ruhig. »Ich habe gelacht, weil Sie darüber gesprochen haben, warum Sie Phoenix für wichtig halten. Aber in diesem Raum versuchen wir gerade einmal, herauszufinden, wie wir Phoenix überhaupt bereitstellen können.«
»Was nicht besonders gut läuft«, murmelt Wes mit nervösem Lachen.
»Ich sehe, dass einige von Ihnen nicht wirklich an unsere Mission glauben«, stellt Sarah fest, alle im Raum taxierend. »Nun, wie ich bereits beim Townhall-Meeting erwähnt habe, sind die Fähigkeiten, die uns bis hierher gebracht haben, nicht unbedingt die gleichen, die uns dorthin bringen, wo wir hinwollen. Als Führungsteam müssen wir herausfinden, ob wir noch die richtigen Leute an Bord haben. Ich werde auf jeden Fall Steve informieren. Ich weiß, dass ihm dieses Release persönlich sehr am Herzen liegt.«
Als er Steves Namen hört, schaut Chris Maxine ungläubig an und bedeckt dann sein Gesicht mit beiden Händen. Dich zurückzuhalten, hast du ja hervorragend hinbekommen, sagt Maxine zu sich selbst.
»Okay, Sarah, das reicht«, sagt Bill, während er aufsteht. »Informieren wir Steve über diese Probleme und überlassen wir es dem Team, herauszufinden, wie das Release durchgeführt werden kann. Wir sind hier nur im Weg.«
»Ja, Steve muss davon erfahren«, sagt sie. Sarah dreht sich um, schaut dann aber zurück zu Maxine: »Ich mag es, dass Sie sagen, was Sie denken.
Falls Sie irgendwann in dieser Woche Zeit haben, sollten wir zusammen zu Mittag essen. Ich würde Sie gern besser kennenlernen.«
Was zum … – Maxine versteinert wie ein Reh, das ins Scheinwerferlicht gerät.
»Als Frauen müssen wir doch zusammenhalten, oder?«, ergänzt Sarah mit einem Augenzwinkern.
Mit einem erstarrten Lächeln antwortet Maxine: »Äh … danke – ja … gerne.« Sofort hasst sie sich selbst, beschämt darüber, dass so viele Menschen sie so unverblümt lügen hören.
»Okay, also abgemacht«, reagiert Sarah mit einem warmen Lächeln. »Und falls Sie Unterstützung brauchen, jederzeit gerne.« Sie schaut auf ihr Telefon und sagt: »Das ist Steve. Er will irgendetwas von mir. Ich lasse Sie jetzt in Ruhe. Denken Sie daran, wir alle müssen optimistisch sein.«
Als Sarah weg ist, atmet Maxine ganz langsam aus und kann nicht ganz glauben, was gerade passiert ist. Sie weiß, wie wichtig es ist, ein großes Netzwerk zu haben, damit man über Kontakte verfügt, die einem helfen können, wenn wichtige Dinge zu erledigen sind. Aber sie ist nicht übermäßig darauf aus, mit Sarah vernetzt zu sein, egal wie einflussreich sie ist. Maxine ist ausgesprochen wählerisch, wenn es darum geht, mit wem sie sich einlässt.
Die nächste Stunde verbringt Maxine damit, zwischen den verschiedenen Gruppen hin- und herzuspringen, während das riesige Release-Team zu verstehen versucht, was genau zur Sicherstellung des Phoenix-Launchs gebraucht wird. Es gibt mindestens zwölf verschiedene Technologie-Stacks, die bereitgestellt werden müssen, mehr, als Maxine während ihrer Nachforschungen zum Build-Prozess vermutet hatte.
Sie wusste von den verschiedenen Applikationsservern unter Windows und Linux und den Frontend-Anwendungen, die im Web laufen, aber sie hatte die beiden mobilen Anwendungen (eine für das iPhone und eine für Android) nicht mit in ihre Überlegungen einbezogen. Und alle zusammen greifen auf mindestens zehn verschiedene Backend-Systeme aus dem gesamten Unternehmen zu, bei denen überall Änderungen erforderlich sind, um für Phoenix gerüstet zu sein.
Sie hatte auch übersehen, dass sich die Anzahl der beteiligten Teams mehr als verdoppelt, wenn man die Teams von Operations in die Zählung miteinbezieht, denn damit all diese Anwendungen in einer Produktivumgebung laufen, sind auch die ganzen Gruppen unverzichtbar, die für Serveradministration, Virtualisierung, Cloud, Speicher und Netzwerke zuständig sind.
All das erinnert Maxine daran, dass Bereitstellungen in einer Produktionsumgebung zu den komplexesten Prozessen einer Technologieorganisation gehören, weil sie immens viel Koordination zwischen unterschiedlichsten Teilbereichen erfordern. Und bei Phoenix geht es nicht um irgendein beliebiges Deployment – Phoenix soll die Interaktion des Unternehmens mit seinen Kunden komplett umkrempeln.
Je mehr Maxine mitbekommt, desto schlechter fühlt sie sich. Es scheint unmöglich, dass bei so vielen unterschiedlichen Komponenten beim ersten Mal alles richtig funktionieren wird. Allein um ihre eigene Entwicklungsumgebung einzurichten, musste Maxine eine Unzahl von Tickets öffnen, und sie war damit bisher immer noch nicht erfolgreich. Sie schätzt, dass für die Bereitstellung von Phoenix Hunderte oder vielleicht sogar Tausende von Tickets geöffnet werden müssen.
Die Projektleiterin in der Gruppe, mit der sie gerade zusammensitzt, fragt: »Brauchen wir nicht auch eine Reihe von Änderungen an der Firewall? Nicht nur für den externen Verkehr. Ich glaube, dass einige dieser Systeme noch nie miteinander kommunizieren mussten …«
Maxine hebt eine Augenbraue. Sie hört allgemeines Stöhnen in der Gruppe. »Oh, großartig. Die Firewall-Teams brauchen in der Regel mindestens vier Wochen, um Änderungswünsche umzusetzen«, berichtet eine Frau namens Patty. »Meint irgendjemand, unser Änderungsmanagement sei langsam? Wir sind Geschwindigkeitsweltmeister im Vergleich zur IT-Security.«
Plötzlich hört Maxine hinter sich eine Tür aufgehen, und Patty schaut hoch. »Wenn man vom Teufel spricht. Hier ist John, unser Chief Information Security Officer. Das wird lustig …«, sagt sie.
John ist Ende 30. Er hat etwa zehn Kilo Übergewicht, aber dennoch schlabbern seine Klamotten. Wie in einem alten Western wird John von zwei Personen flankiert – einem männlichen und einem weiblichen Engineer, die ihr vage bekannt vorkommen. »Endlich habe ich euch alle gefunden«, spöttelt John und schaut sich um, als wäre er ein Sheriff, der eine Gruppe von Gesetzlosen gejagt hat. »Ich bin hier wegen dieses verrückten Plans, die Phoenix-Anwendung bereitzustellen. Dieses Deployment wird nur über meine Leiche stattfinden.«
Die Frau hinter John wirkt plötzlich verlegen – so, als hätte sie das von John schon mal gehört. Dieser fährt fort: »Das Phoenix-Projekt enthält Millionen Zeilen neuen Codes, und wir können ein Deployment nicht verantworten, solange mein Team die Anwendung nicht auf Schwachstellen getestet hat. Wir kommen gerade aus einer sehr, sehr interessanten Sitzung mit den Auditoren, und glauben Sie mir, sie werden es nicht sehr freundlich aufnehmen, wenn wir etwas in die Produktivumgebung deployen, das unsere Compliance gefährdet.
Ich weiß aus ziemlich guter Quelle, dass der CIO und der VP of IT Operations gerade wegen einiger nicht länger tolerierbaren Compliance-Verletzungen gefeuert wurden«, fährt John fort. »Lassen Sie sich das eine Warnung sein: Die Einhaltung der Regeln ist nicht nur eine moralische Verpflichtung oder ergibt sich aus vertraglichen Bestimmungen, sie ist auch gesetzlich vorgeschrieben.«
Maxine fragt sich, wie oft John diese Zeile geprobt hat. Ein wirklich guter Satz, räumt sie ein.
Aus dem vorderen Bereich des Raums mischt sich Kirsten ein: »Wie Sie wissen, kam die Entscheidung, Phoenix zu launchen, direkt von ganz oben – vom CEO Steve Masters und Sarah Moulton, Senior VP für das Einzelhandelsgeschäft. Tatsächlich war Sarah gerade hier, um uns genau daran zu erinnern. Die Bereitstellung soll morgen um 17 Uhr beginnen, damit alles live ist, wenn die Geschäfte am Samstagmorgen öffnen.«
»Jedenfalls glauben Sie das, Kirsten«, sagt John. »Ich werde umgehend mit Steve darüber reden. Seien Sie versichert, dass ich diesen Wahnsinn beenden werde.«
Er wendet sich an Wes. »Sie waren bei der Besprechung mit den Auditoren dabei – erklären Sie den anderen, wie ernst die Situation ist und dass die Bereitstellung keinesfalls morgen erfolgen kann!«
Wes antwortet schnell: »Nein – lassen Sie mich aus dem Spiel, John. Der Zug ist abgefahren, und wir kriegen den Geist nicht zurück in die Flasche. Das Einzige, was wir noch tun können, ist, zu verhindern, dass diese Rakete noch auf der Startrampe explodiert und uns alle killt. Verzeihen Sie die Metapher«, sagt er mit einem lauten Lachen und schaut sich im Raum nach Unterstützung um.
»Oder war das ein Vergleich?«, fragt Wes plötzlich leicht irritiert.
Die Frau hinter John kommentiert trocken: »Es ist eine Metapher, Wes. Wenn Sie sagen, dass etwas ›ein Haufen Mist ist‹, dann ist das eine Metapher. Wenn Sie sagen, dass etwas ›wie ein Haufen Mist ist‹, dann ist das ein Vergleich.«
»Danke, Shannon«, sagt er mit einem breiten Lächeln. »Das habe ich schon immer verwechselt.«
John blickt Shannon an und sagt dann wütend zu Wes: »Ich lasse Sie nichtaus dem Spiel, Wes. Es ist Ihre moralische Verantwortung, dieses Release zu stoppen!« Dann wendet er sich an alle. »Es ist Ihre gemeinsame moralische Verantwortung, diese Veröffentlichung zu stoppen! Sie alle wissen, wo ich stehe – wie ich bereits gesagt habe, diese Bereitstellung wird nur über meine Leiche erfolgen.«
Wes murmelt: »Die Hoffnung stirbt zuletzt.«
Maxine hört ein nervöses Kichern, als John und seine Truppe den Raum verlassen. Kirsten steht auf und sieht aus, als wäre ihr etwas unbehaglich zumute. »Nun, ich möchte kurz darauf hinweisen, dass wir die Verpflichtung eingegangen sind, Phoenix am Freitag zu launchen. Aber falls jemand von Ihnen das Gefühl hat, dass er eine, äh, moralische Verpflichtung hat, sich nicht an dieser Bereitstellung zu beteiligen, lassen Sie es mich bitte wissen.«
Wes gluckst. »Kirsten, dieses Release durchzuführen, ist mit ziemlicher Sicherheit das Dümmste, was ich in meiner ganzen Laufbahn erlebt habe – aber um das Team zu unterstützen, verspreche ich, dass wir alle unser Bestes geben werden.« Mit einem Anflug von Erschöpfung und Resignation fährt er fort: »Lasst es uns einfach hinter uns bringen.«
Maxine schaut sich um und denkt über das plötzliche surreale Auftauchen von zuerst Sarah und dann John nach. Es erinnert sie an Redshirts von John Scalzi und Wil Wheaton, ein lustiges Buch, das lose auf einem Star-Trek-ähnlichen Universum basiert. Die Parodie ist aus der Perspektive eines Redshirts, eines Rothemds, geschrieben, einem der namenlosen niederrangigen Charaktere, die normalerweise im Hintergrund der Serienfolgen umherwandern und die schnell lernen, dass jedwede Interaktion mit einem der Brückenoffiziere eine schlechte Nachricht ist. Wer auserwählt wird, mit den Offizieren auf den Planeten hinuntergebeamt zu werden, ist dazu verdammt, auf bizarre Weise zu sterben: durch einen Alteran-Blutwurm oder ein Virus, das den Verstand zerfrisst, durch Fleisch fressende Pflanzen oder einen klingonischen Disruptor-Strahl. Im Buch montieren die Rothemden überall Sensoren, um gewarnt zu werden, sobald die Brückenoffiziere – die Äquivalente zu den Originalfiguren wie Captain Kirk oder Commander Spock – in die unteren Decks kommen, damit sie sich verstecken können.
Es entmutigt sie, dass die Führungskräfte von Parts Unlimited, die Brückenoffiziere, so sehr von der täglichen Arbeit der »Rothemden«, die in den unteren IT-Decks arbeiten, abgekoppelt sind. Es war nicht hilfreich, dass Sarah alle daran erinnert hat, dass die »Rettung des Universums« von Phoenix abhängt. Und es war ebenfalls nicht sonderlich hilfreich, dass John an ihren »moralischen Sinn für Korrektheit« appelliert hat.
Wir alle wissen, dass die Bedrohung, der das Unternehmen ausgesetzt ist, real ist, denkt sie. Die Aufgabe der Brückencrew besteht darin, die Durchführbarkeit der Unternehmensstrategie zu gewährleisten, und nicht darin, sie an die Strategie zu erinnern oder alle zu Tode zu mikromanagen. Die Brückenoffiziere sollten dafür sorgen, dass alle anderen ihre Arbeit erledigen können.
Wie ist es bloß so weit gekommen?
Maxine schleppt sich, ein Sandwich in der Hand, an ihren Schreibtisch zurück, erschöpft von den endlosen Phoenix-Release-Meetings, umgeben von all den anderen, die auf ähnliche Weise in den Wirbel um den Launch hineingezogen werden. Merkwürdigerweise sieht sie auch einige Menschen glücklich an ihren Schreibtischen arbeiten, als wäre es ein ganz normaler Tag.
Neugierig fragt sie einen von ihnen, warum er so gelassen wirkt. Er antwortet mit leicht erstauntem Blick: »Ich bin Entwickler – ich arbeite an Features. Ich übergebe sie an QA und Ops zum Testen und zur Bereitstellung. Dann arbeite ich an den Features für die nächste Version. Damit habe ich genug zu tun.«
Maxine dreht sich um, abgeschreckt von dem, was er gesagt hat. Sie hat in ihrer Karriere Tests und Deployments nie so einfach an andere abgegeben. Wie kann man etwas von Wert schaffen, wenn man keine Rückmeldung darüber bekommt, wie es verwendet wird?, fragt sie sich.
Zurück an ihrem Schreibtisch, sieht sie Kurt, bewaffnet mit einem schwarzen Dreiringordner. Als er sie sieht, strahlt er sie mit einem breiten Lächeln an. »Ich habe ein Geschenk für Sie!«
Es ist ein 80-seitiges Dokument voller Registerreiter. Schon das Überfliegen der Abschnittsüberschriften lässt ihr Herz höher schlagen – es sind die sorgfältig zusammengestellten Anleitungen für Phoenix-Builds, komplett mit Links zu Dokumenten, Lizenzschlüsseln, Schritt-für-Schritt-Anleitungen und sogar Links zu einem Haufen Videos. Eines davon trägt den Titel »Wie du uberjar in unserem (sehr) verrückten, verkorksten Produktionswebcluster zum Laufen bringst (8 Min.)«, ein anderes heißt »Wie du deine Anwendungen überwachen kannst – trotz unserer Ops-Gruppen (12 Min.)«.
Sie sieht 20-stellige hexadezimale Zeichenfolgen von Aktivierungscodes und Lizenzschlüsseln. Sie sieht Benutzernamen und temporäre Kennwörter für Netzwerkfreigaben. Und das Beste ist, dass es eine Verbindung zu einem vierknotigen VM-Cluster mit administrativem Zugriff gibt! Das bedeutet, dass Maxine endlich machen kann, was immer sie will, ohne ein weiteres Support-Ticket öffnen zu müssen!
Sie ist sprachlos. Sie spürt, dass ihr Tränen in die Augen steigen. Wegen Lizenzschlüsseln?
Sie fragt sich für einen Moment, ob sie jegliche Perspektive verloren hat. Aber nachdem sie sich dermaßen im Phoenix-Projekt festgefahren hat, kommt es für sie ganz unerwartet und ist zugleich so unglaublich willkommen, dass sich endlich jemand um ihre Anforderungen kümmert.
Maxine erinnert es an einen Tag, an dem sie zusammen mit ihrer Familie als Freiwillige neu angekommene Flüchtlingsfamilien unterstützt hat. Sie hat nicht vergessen, wie ihre damals zehn und acht Jahre alten Kinder reagierten, als ganze Familien weinten, weil sie mit Essen, Seife und Waschmittel versorgt wurden.
Es gibt nichts Lohnenderes, als jemandem etwas geben zu können, der wirklich Hilfe braucht. Jetzt hat sie selbst Unterstützung gebraucht, und sie hat sie bekommen.
Beschwingt durchblättert Maxine das Dokument. Sie sieht eine lange Liste von Schlüsseln, die in der Windows-Registry hinzugefügt werden müssen. »Keine Sorge, Maxine«, sagt Kurt und ignoriert höflich ihre emotionale Reaktion. »Sie finden die elektronische Version davon in Ihrem Posteingang, sodass Sie alles kopieren und einfügen können.«
Mit einem Augenzwinkern fügt er hinzu: »Und es gibt einen Link zu einer Wiki-Seite, auf der Sie weitere Hinweise einbauen können, falls wir etwas übersehen haben. Es gibt eine Reihe von Menschen, die Ihre Arbeit wirklich schätzen. Wir versuchen seit Monaten, das Rätsel um den Phoenix-Build zu knacken! Aber wir konnten uns nie fulltime darum kümmern. Ihre Hinweise haben uns geholfen, endlich alle Teile zusammenzufügen. Das hat uns monatelange Arbeit erspart!«
Maxine runzelt die Stirn. Sie hat keine Ahnung, wovon Kurt eigentlich spricht, aber es ist ihr auch egal. »Vielen Dank! Ich kann Ihnen gar nicht sagen, wie viel mir das bedeutet. Wie kann ich mich dafür jemals revanchieren?«
»Ist doch nur, um einer hart arbeitenden Engineer zu helfen, die versucht, anderen Engineers dabei zu helfen, produktiv zu sein«, sagt Kurt lachend. Aber mit ernstem Gesichtsausdruck fügt er hinzu: »Wenn Sie die Leute kennenlernen wollen, die all das trotz erheblicher Widrigkeiten und großer Hindernisse, die normalerweise solche Spitzenleistungen verhindern, möglich gemacht haben, kommen Sie heute Abend um fünf in die Dockside Bar. Wir treffen uns dort jeden Donnerstag.«
»Warten Sie, Moment mal«, sagt Maxine und wird plötzlich misstrauisch. »Wenn das alles funktioniert, warum benutzt es dann keiner?«
»Das ist eine großartige Frage, auf die es einige sehr überraschende Antworten gibt«, sagt Kurt. »Die kurze Version lautet, dass die ›offizielle Build-Mannschaft‹ das Vorgehen nicht wirklich autorisiert hat. Sie scheinen unsere Bemühungen als Belästigung oder, schlimmer noch, als Konkurrenz zu betrachten – was am Vorabend der größten und potenziell riskantesten Anwendungseinführung in der Geschichte des Unternehmens ein bisschen merkwürdig ist, oder?
Aber wenn Ihnen unser Ergebnis gefällt, können Sie es auf jeden Fall gerne mit jedem teilen, der es brauchen kann. Heute Abend kann ich Ihnen mehr dazu erzählen. Es wäre schön, wenn Sie um fünf Uhr kommen könnten – es gibt eine Menge Leute, die Sie unbedingt kennenlernen möchten«, sagt er. »Und viel Glück mit dem Build!«
Maxine öffnet ein Terminalfenster auf ihrem Laptop und beginnt, den Anweisungen zu folgen, die Kurt ihr gegeben hat. Ihre Aufregung wächst, als sie erkennt, dass es sich hier tatsächlich um eine funktionierende Entwicklungsumgebung handeln könnte.
Sie fühlt sich ausgelassen, als sie sich erfolgreich einloggen und »make« in eine Kommandozeile tippen kann, was eine Fülle von fröhlichen Ausgaben auf ihren Bildschirm zaubert.
Sie ist begeistert, als sie sieht, wie Dateien kompiliert, Binärdateien verlinkt, Programme kopiert, Build-Tools installiert und ausgeführt werden – die Bildschirmausgabe geht weiter und weiter und weiter …
Erstaunlicherweise läuft der Build für die nächsten 10 Minuten … 15 Minuten … 30 Minuten … sie ist erleichtert, dass es ohne Fehler weitergeht, aber sie beginnt, sich Sorgen über den Umfang des Phoenix-Builds zu machen. Er ist riesig.
45 Minuten später kann sie den Gang zur Toilette nicht mehr aufschieben; bis dahin war ihre Angst größer gewesen, in der Zeit möglicherweise etwas zu verpassen. Jetzt rast sie hin und zurück und ist erleichtert, dass der Build nicht hängt und immer noch endlosen Output in ihrem Terminalfenster erzeugt.
Sie scrollt zurück, um zu sehen, ob sie irgendetwas Interessantes verpasst hat. Sie beschließt, die nächste Besprechung des Release-Teams zu schwänzen, damit sie weiterhin den laufenden Build beobachten kann, was sich ein wenig verantwortungslos anfühlt – andererseits weiß sie, dass ein ordentlicher Build-Prozess der Schlüssel für funktionierende Deploy- und Release-Abläufe ist. Und vielleicht steht sie mithilfe ihrer mysteriösen Wohltäter kurz davor, ihren Kampf um den Phoenix-Build endlich zu gewinnen.
Der Output des Builds wirkt hypnotisch auf sie und ist aufschlussreich, denn sie sieht einige Komponenten zum ersten Mal. Da gibt es Java-JAR-Dateien, .NET-Binärdateien, Python- und Ruby- sowie Unmengen an Bash-Skripten.
Moment, sind da gerade eine Remote-Shell und ein Installer aufgepoppt? Bevor sie herausfinden kann, was es ist, sind die Fenster auch schon wieder verschwunden. Maxines Ehrfurcht vor und Sorge über die Größe und Vielfältigkeit von Phoenix wächst.
Sie ist gerade dabei, weiter zurückzuscrollen, als sie sieht, dass von irgendwoher Eclipse heruntergeladen wird. Kann das wirklich sein?, fragt sie sich. 20 Minuten später hätte sie schwören können, dass sie einen Install-Shield-Installer gesehen hat, aber sie merkt, dass sie langsam müde wird und sich die Dinge vielleicht nur einbildet.
Nach einer weiteren Stunde, in der sie den Build-Output verfolgt, bekommt sie tatsächlich Probleme, sich weiter auf den Bildschirm zu konzentrieren. Aber sie kann definitiv die unterschiedlichen Charaktere und Tech-Stacks der Teams erkennen, die mit dem Projekt zu tun haben. Sie hatte keine Ahnung, dass es so viele sind.
Das ist verrückt, denkt sie. Es kann doch gar nicht so viele Teams geben, die an Phoenix arbeiten, oder? Und sie fragt sich, wie eine einzelne Person das System als Ganzes verstehen kann, insbesondere wenn es aus so vielen verschiedenen Technologie-Stacks aufgebaut ist.
Maxine ist normalerweise kein großer Fan von starrer Standardisierung, aber es sollte auch nicht jeder einfach das benutzen können, was ihm gerade im Moment besonders gut gefällt. Jede Entscheidung ist gleichzeitig eine Verpflichtung, bestimmte Systeme oder Tools auf Jahre oder sogar Jahrzehnte hinaus zu unterstützen – Entscheidungen, die weit über ein einziges Team hinauswirken.
Wie die meisten Entwickler ist sie sehr abergläubisch und befürchtet, dass der Build scheitern könnte, wenn sie ihn nicht die ganze Zeit beobachtet. Fast drei Stunden nach dem Start des Builds stoppt plötzlich die scrollende Ausgabe im Build-Fenster. Ihr Herz rutscht in die Hose, als sie liest:
builder: ERROR: missing file: credentials.yaml
Verdammt! Sie vermutet, dass sie irgendwelche Anmeldedaten braucht, die sie nicht hat.
Sie schreibt Kurt, und der antwortet sofort:
Oh, ja. Dazu müssen Sie ein Ticket öffnen, um Ihr Log-in mit Ihrem Active-Directory-Konto zu verknüpfen. Nur Susan kann das anstoßen. Kontaktinformationen kommen.
Anstatt Susan eine E-Mail zu schicken, geht Maxine direkt zu ihr und erfährt, dass die fehlende Datei ein kryptografisches Zertifikat enthält, das von irgendeinem weit entfernt arbeitenden Sicherheitsteam stammt. Susan durchsucht Jahre an E-Mail-Kommunikation, um herauszufinden, wie man Ersatz bekommt. Als sie endlich etwas findet, fotografiert Maxine die E-Mail-Adresse.
Sie ist so kurz davor, den ersten Phoenix-Build erfolgreich abzuschließen!