Since this post accompanies a talk in German, it is written in German, too.
Es gibt grundsätzlich zwei Arten, um Funktionalität wiederzuverwenden: Systematisch und Ad-Hoc. Systematische Wiederverwendung steht im Lehrbuch und umfasst die Erstellung von wiederverwendbaren Artefakten (Klassen, Komponenten, Services, usw.) die an einer Stelle im Code gepflegt, und von vielen Stellen genutzt werden. Ad-Hoc-Wiederverwendung steht nicht im Lehrbuch, kennt aber trotzdem jeder: Quelltext wird einfach überall dorthin kopiert, wo die Funktionalität benötigt wird.
Ad-Hoc Wiederverwendung ist aus guten Gründen verpönt, z.B. müssen Bug-Fixes in allen Kopien durchgeführt werden. Trotzdem beobachten wir Ad-Hoc Reuse in der Praxis im großen Stil, insbesondere zwischen verschiedenen Anwendungen. Tatsächlich gibt es dafür oft gute Gründe, meistens in Form von Schwächen in der Organisation, die systematische Wiederverwendung verhindert oder erschwert.
In dieser Keynote möchte ich unterschiedliche Fälle von Ad-Hoc-Reuse aus verschiedenen Bereichen der Praxis vorstellen (u.a. eingebettete Software und betriebliche Informationssysteme). Ich werde jeweils auf die Ursachen eingehen und vorstellen wie die Organisation damit umgegangen ist: Von Fällen, in denen ad-hoc in systematische Wiederverwendung überführt wurde, bis zu Beispielen, in denen Ad-Hoc Wiederverwendung beibehalten, aber kontrolliert gewartet wird.