Esi UCLM
StartseiteAnsichtAntifragile Software

Antifragile Software

Antifragile Software von David Vallejo. Professor ESI UCLM

Antifragile Software

von David Vallejo Fernandez (Universitätsprofessor).

Taleb erzählt in seinem Buch AntifragilDass Dinge werden in drei Säulen eingeteilt: spröde, robust und antifragil. Zerbrechliche Dinge lieben die Ruhe und gehen leicht zu Bruch, wie ein feines Kristallglas bei einer Silvesterfeier. Die robusten oder widerstandsfähigen Dinge halten Schocks stand, wenn Turbulenzen auftreten, und behalten ihren Status bei, wie das kleine Unternehmen, das diversifiziert und einen großen Kundenstamm pflegt. Antifragile Dinge gehen weiter als robuste Dinge und profitieren sogar von Unsicherheit, Risiko oder Volatilität, genau wie Mutter Natur. Taleb bietet ein sehr anschauliches Beispiel, das sich auf die griechische Mythologie stützt, um den Unterschied zwischen diesen drei Eigenschaften zu verstehen. Damokles ist ein zerbrechlicher Charakter, denn es ist nur eine Frage der Zeit, bis das Pferdehaar, das das Schwert über seinem Kopf hält, bricht und sein Leben beendet. Der Phönixvogel ist ein robustes Geschöpf, weil er in der Lage ist, aus seiner Asche wiedergeboren zu werden, wenn er stirbt. Die Hydra, ein mythologisches Wesen in Form einer Schlange mit vielen Köpfen, profitierte von negativen Situationen, da jedes Mal, wenn ein Kopf abgeschnitten wurde, zwei neue geboren wurden.

interessant reflektieren diese Klassifizierung im Kontext von Software. Softwareentwicklung ist ein komplexer Prozess, bei dem die Anzahl bestehender Abhängigkeiten hoch, manchmal sogar schwer zu erkennen ist und das Auftreten eines Fehlers oder Bugs nichtlineare Reaktionen hervorrufen kann. Leider fällt es uns Menschen schwer, Nichtlinearität zu verstehen, da wir dazu neigen, in linearen Begriffen zu denken. Wenn die Manifestation eines Fehlers in einem Computersystem seine Funktionalität um 10 % verringert, könnte das Auftreten von zwei Fehlern, unabhängig davon, ob sie zusammenhängen oder nicht, einen viel größeren oder viel geringeren Effekt als den doppelten ursprünglichen Effekt haben (d. h , das Doppelte von 10 %).

El fragile Software, wie Damokles, lebt das Warten auf ein Scheitern, das unweigerlich eintreten wird. Fragile Software ist der Feind der Zeit. So wie die Staatsverschuldung eines Landes dieses in Verhandlungen mit seinen Partnern schwächt, werden die Zinsen einer technisch verschuldeten Software langfristig höhere Wartungskosten verursachen. Die Entropie der Software wird mit zunehmender Komplexität ihrer Wartung zunehmen, was sich auf ein anfängliches Design auswirkt, das schließlich geändert werden muss. 

El robuste Software, andererseits ist so konzipiert, dass es dem Lauf der Zeit standhalten und gleichzeitig angemessen auf das Vorhandensein von Fehlern reagieren muss. Testen und Code-Debugging sind die wichtigsten Techniken zur Erhöhung der Software-Robustheit. Dijkstra erklärte, wenn das Debuggen der Prozess des Entfernens von Fehlern aus Software ist, dann muss das Programmieren der Prozess sein, sie einzuführen. Fehlerfreier Code existiert nicht. Wir können nicht vorhersagen, wann sie sich mit unerwünschten Folgen manifestieren werden. Robust ist manchmal nicht robust genug, und es ist sehr schwierig, wenn nicht sogar unmöglich, die Wahrscheinlichkeit und die Auswirkungen eines möglichen Softwarefehlers abzuschätzen. Risikomanagement vermittelt ein falsches Sicherheitsgefühl.


In Anbetracht der Natur der Antifragilität, der Erstellung von antifragiler Software von der Einführung von Stressoren oder Zufallselementen profitieren würden. Die Philosophie der früh loslassen, oft loslassen, populär gemacht von Eric S. Raymond in seinem Aufsatz Die Kathedrale und der Basar und inspiriert vom Linux-Kernel-Entwicklungsmodell, passt zu dieser Idee. Nicht alle Software-Kathedralen muss perfekt orchestriert aufgebaut werden. Der Basar ist dynamisch, geschäftig, ständig im Wandel und voller Händler mit unterschiedlichen Ansätzen und individuellen Zielen. Benutzer von Anfang an zu haben, erhöht den Fortschritt einer Entwicklung, die schrittweise durch eine zufällige Verwendung der Software gestaltet wird, und verbessert die Qualität des Endergebnisses. Diese Philosophie, die das Risiko ausschließt, Software zu erstellen, die am Ende niemand verwendet, ist eines der Prinzipien des Open Source. Software Open-Source- es entwickelt sich dank der kollaborativen Bemühungen seiner Programmierer weiter und besteht den Test der Zeit, solange es seinen Benutzern weiterhin einen echten Mehrwert bietet.

G. Moreau: Herkules und die Hydra von Lerna (1876)
Teilen mit:
Bewerten Sie diesen Artikel