Der Roman. Über Entwickler, Digital Disruption und das Überleben im Datenzeitalter
E-Book, Deutsch, 376 Seiten
ISBN: 978-3-96010-397-4
Verlag: O'Reilly
Format: EPUB
Kopierschutz: 6 - ePub Watermark
- Roman, der "Projekt Phoenix" um die Perspektive der Entwickler ergänzt
- Wall Street Journal-Bestseller in den USA
- fesselnde Story über die Herausforderungen moderner Softwareentwicklung in Zeiten der digitalen Transformation
Parts Unlimited – ein milliardenschweres Unternehmen der Automobilbranche – steht kurz davor, aus dem Markt verdrängt zu werden.
Nach einer folgenschweren Panne bei der Lohn- und Gehaltsabrechnung wird Maxine, eine leitende Softwareentwicklerin, unverschuldet in das berüchtigte Projekt Phoenix strafversetzt. Dort verzweifelt sie fast an einem bürokratischen Monsterapparat mit endlosen Meetings und hochkomplizierten Regeln – bis sie von firmeninternen Rebellen angeworben wird, die die bestehende Ordnung umstürzen wollen: Damit Entwicklerinnen und Entwickler wieder echte Freude an ihrer Arbeit haben.
Die kluge und kämpferische Maxine und ihre rebellischen Kolleginnen und Kollegen rufen Projekt Unicorn ins Leben und setzen dabei auf die "Fünf Ideale". Damit verändern sie grundlegend, wie die Business- und Technologiebereiche des Unternehmens zusammenarbeiten – und geraten in das Fadenkreuz einflussreicher und gefährlicher Gegner. Gelingt es ihnen, das Überleben von Parts Unlimited in einem Wettrennen gegen die Zeit zu sichern?
Packend beschreibt Gene Kim, Autor des Bestsellers "Projekt Phoenix", die Herausforderungen, denen sich Unternehmen – und alle, die in ihnen arbeiten – im Zeitalter von Digital Disruption stellen müssen: in der Softwareentwicklung und als lernende Organisation. Sie werden sich in diesem Roman wiederfinden – und die fesselnde Story wird Sie unterhalten und Ihnen viele Denkanstöße geben.
Weitere Infos & Material
KAPITEL 2
Freitag, 5. September
Maxine checkt ihre Aufgabenliste und schüttelt langsam und frustriert den Kopf. Sie ist jetzt seit zwei Tagen hier und entschlossen, einen Phoenix-Build auf ihrem Laptop durchzuführen, so wie es jeder neue Entwickler tun sollte. Das ist ihre aktuelle Mission. Aber laut ihrer Liste gibt es über 100 fehlende Items, und niemand scheint zu wissen, wo sie zu finden sind. Sie hat noch nichts von dieser Liste erledigt. Abgesehen von der Aktualisierung und dem Versand ihres Lebenslaufs. Viele Freunde haben ihr sofort geantwortet und versprochen, sich nach offenen Stellen umzusehen, die für sie interessant sein könnten. Maxine hat ihren Guide Josh nach all den Detailangaben gefragt, die ihr für einen Build fehlen, aber er konnte ihr nicht weiterhelfen. Normalerweise weiß ein Build-Team solche Dinge, aber die Details sind entweder veraltet oder fehlen ganz, das Wissen ist über die gesamte Organisation verstreut. Sie ist frustriert, jede Abzweigung, die sie nimmt, führt in eine Sackgasse. Keine Herausforderung, die ihr Spaß macht. Was sie tut, da ist sie sich ziemlich sicher, ist eher das genaue Gegenteil von Spaß. Im Herzen ist sie Softwareingenieurin und liebt Herausforderungen und Problemlösungen. Sie wurde mitten im wohl wichtigsten Projekt in der Geschichte des Unternehmens ins Exil geschickt. Und irgendwo existiert Code – ziemlich sicher Millionen von Codezeilen, die von Hunderten von Entwicklern über fast drei Jahre hinweg geschrieben wurden. Aber sie kann keine einzige Zeile davon finden. Maxine liebt das Codieren und beherrscht es hervorragend. Aber sie weiß, dass es noch etwas Wichtigeres gibt als Code: die Systeme, die es Entwicklern ermöglichen, produktiv zu sein, sodass sie schnell und sicher hochwertigen Code schreiben und sich von all den Dingen befreien können, die sie daran hindern, wichtige Geschäftsprobleme zu lösen. Systeme, die hier völlig zu fehlen scheinen. Maxine ist eine der Besten in ihrem Metier, aber nach vier Tagen hat sie noch immer fast nichts vorzuweisen. Einfach endloses Herumklicken, Dokumente lesen, Tickets öffnen, Meetings mit Menschen planen, um die Informationen zu bekommen, die sie benötigt, gefangen in der schlimmsten Schnitzeljagd aller Zeiten. Für einen Moment fragt sich Maxine, ob sie die einzige Person ist, die dieses Problem hat. Aber sie sieht überall um sich herum Entwickler, die sich abmühen, sodass sie all ihre Selbstzweifel schnell zur Seite schiebt. Maxine weiß, dass sie ein erstaunliches Kung Fu besitzt. Im Lauf ihrer Karriere musste sie schon oft Probleme bewältigen, die ihr hoffnungslos und unüberwindbar erschienen. Oft mitten in der Nacht. Manchmal ohne Zugriff auf Dokumentation oder Quellcode. Eines ihrer berühmtesten Kunststücke ist immer noch bekannt als der »Maxine Post-Holiday Save«, bei dem am Freitag nach Weihnachten in den Filialen alle Vor-Ort-Systeme, mit denen Umtauschaktionen und Rückerstattungen abgewickelt wurden, spektakulär abstürzten. Dieser Tag ist einer der geschäftigsten Einkaufstage des Jahres, an dem die Menschen in die Läden strömen, um Geschenke ihrer Lieben zurückzugeben, damit sie sich stattdessen die Produkte besorgen können, die sie wirklich haben wollen. Mit ihrem Team arbeitete Maxine bis in die frühen Morgenstunden des Samstags daran, einen Multi-Threading-Deadlock im ODBC-Treiber eines Datenbankanbieters zu beheben. Sie musste die Vendor-Library manuell disassemblieren und dann einen Binär-Patch generieren. Von Hand. Alle hatten behauptet, das sei nicht machbar. Aber zum Erstaunen aller Kollegen, die bereits weit über sieben Stunden an der Behebung dieses Ausfalls gearbeitet hatten, schaffte sie es. Das Professional Services Team des Datenbankanbieters bot ihr voller Bewunderung sofort eine Stelle an, die sie höflich ablehnte. Nach und nach entstanden weitere Legenden über sie. Sie ist klassisch als Entwicklerin ausgebildet und hat in ihrer Laufbahn Software geschrieben, um Panoramabilder zu stitchen, hat Chip-Layout-Algorithmen für CAD/CAM-Anwendungen sowie Backend-Server für hochskalierende Multiuser-Games entworfen und in jüngster Zeit die Bestell-, Nachschub- und Planungsprozesse entwickelt, um das Zusammenspiel Tausender von Lieferanten in einem Produktionszeitplan für MRP-Systeme zu orchestrieren. Sie lebt routinemäßig in der Welt der NP-vollständigen Probleme, die so schwierig sind, dass sie nicht in Polynomialzeit gelöst werden können. Sie liebt die Website Papers We Love, auf der sie immer mal wieder in ihren akademischen Lieblingsarbeiten aus Mathematik und Informatik schmökert. Aber sie sah ihre Arbeit nie bloß als Schreiben von Anwendungscode – als etwas, das ausschließlich vor der Bereitstellung passiert. In der Produktion, wenn Theorie auf Realität trifft, hat sie Middleware-Server gefixt, die verrücktspielten, überlastete Nachrichtenbusse, intermittierende Ausfälle in RAID-Disk-Arrays und Core-Switches, die irgendwie immer wieder in den Halbduplexmodus umschalteten. Sie hat technische Komponenten wieder in Ordnung gebracht, die sich mitten in der Nacht quasi »übergaben« und praktisch jede erreichbare Festplatte und jeden Logserver zumüllten, sodass die Teams nicht mehr herausfinden konnten, was eigentlich vor sich ging. Sie leitete dabei die Anstrengungen zur systematischen Isolierung, Diagnose und Wiederherstellung dieser Dienste mit der Intuition jahrzehntelanger Erfahrung aus unzähligen »Schlachten« in Produktivumgebungen. Sie hat Stacktraces auf Anwendungsservern entziffert, die buchstäblich in Flammen standen, und sich in einem Wettlauf gegen die Zeit bemüht, sie vernünftig zu sichern, bevor das Wasser aus den Sprinklern, die Halonlöscher und die Notstromabschaltungen alles zerstörten. Aber tief drinnen ist sie Entwicklerin. Sie ist eine Entwicklerin, die funktionale Programmierung liebt, weil sie weiß, dass pure Funktionen und Zusammensetzbarkeit die besseren Denkwerkzeuge sind. Sie verzichtet auf imperative Programmierung zugunsten deklarativer Denkweisen. Sie lehnt mit gesundem Respekt Zustandsveränderungen und nicht referentielle Transparenz ab. Sie bevorzugt die Lambda-Kalkulation gegenüber Turingmaschinen wegen ihrer mathematischen Reinheit. Sie liebt LISPs, weil sie Code als Daten betrachtet und umgekehrt. Aber sie besitzt nicht nur ein Talent für theoretische Betrachtungen – sie liebt es auch, sich die Hände schmutzig zu machen, Geschäftswerte in Bereichen zu heben, an die zuvor niemand gedacht hat, oder per Strangler Pattern jahrzehntealten monolithischen Code zu zerlegen und ihn sicher, souverän und oft brillant zu ersetzen. Sie ist immer noch die einzige Person, die alle Shortcuts kennt – von vi bis zu den neuesten und mächtigsten Editoren. Aber sie schämt sich auch nicht, zuzugeben, dass sie noch immer fast jede Kommandozeilenoption für Git nachschlagen muss – Git kann einfach beängstigend schwierig sein! Welches andere Tool verwendet SHA-1-Hashes als Teil seiner Benutzeroberfläche? Und doch sitzt sie, so begabt sie auch sein mag, mit all ihren über Jahrzehnte verfeinerten Kniffen und Fähigkeiten, plötzlich mitten im Phoenix-Projekt und schafft es selbst nach zwei Tagen nicht, einen Phoenix-Build hinzubekommen. Sie hat inzwischen herausgefunden, wo sich zwei der vier Quellcode-Repositories befinden, und drei Installationsprogramme für einige der proprietären Compiler und die Versionsverwaltung ausfindig gemacht. Aber immer noch wartet sie auf Lizenzschlüssel für die Versionsverwaltung und weiß nicht, wen sie um die Lizenzen für die beiden anderen Build-Tools bitten soll. Sie braucht Anmeldedaten für drei Netzwerkfreigaben und fünf SharePoints, und niemand weiß, wo die zehn mysteriösen Konfigurationsdateien zu bekommen sind, von denen in der Dokumentation die Rede ist. Die E-Mail, die sie dem Verfasser der Docs geschickt hat, kam zurück. Er arbeitet schon lange nicht mehr bei Parts Unlimited. Sie steckt fest. Niemand antwortet wirklich zügig auf ihre E-Mails, ihre Tickets oder Sprachnachrichten. Sie hat Randy gebeten, ihr dabei zu helfen, ihre Anfragen zu eskalieren, aber alle zuständigen Kollegen antworten, dass es ein paar Tage dauern wird, weil sie so beschäftigt sind. Natürlich akzeptiert Maxine niemals ein einfaches »Nein« als Antwort. Sie hat es sich zur Aufgabe gemacht, alles zu tun, was nötig ist, um einen Build zu erstellen. Sie hat fast alle, die ihr irgendetwas versprochen haben, in persona aufgetrieben. Sie hat herausgefunden, an welchem Arbeitsplatz sie sitzen, und hat sie genervt, praktisch an ihren Schreibtischen gezeltet – bereit, so lange zu bleiben, bis sie ihr endlich weiterhelfen. Manchmal bekam sie, was sie brauchte: eine URL, ein SharePoint-Dokument, einen Lizenzschlüssel, eine Konfigurationsdatei. Aber meistens hatte die Person, die sie aufgetrieben hatte, doch nicht das, wonach sie suchte – und die Kollegen mussten jemand...