Ich frage mich immer mal wieder, warum es so schwierig ist, dass Entwickler einfach mal bereits vorhandene Softwaremodule verwenden anstelle alles neu zu schreiben. Man erzählt sich, dass es vor meiner Zeit in unserer Firma alleine 10 verschiedene Taschenrechner-Implementierungen in den verschiedenen PC-Produkten gab. Ale sahen unterschiedlich aus und hatten jeweils ein paar besondere Features.
Ich habe keine Ahnung, ob das stimmt, aber ich glaube das sofort.

Das Verhalten ist so schlimm, dass man dem sogar einen eigenen Namen gegeben hat, als sei es eine Krankheit: "not invented here"-Syndrom.

Hat es etwas mit den besonderern Eigenschaften eines Entwicklers zu tun (die Eigenschaften "des" Entwicklers sind ein interessantes Thema, dem werde ich mal nachgehen)? Immer das Beste erreichen zu wollen, anstelle eines Kompromisses?

Komischerweise pflichtet jeder bei, wenn man abstrakt von Wiederverwendung spricht: es spart Kosten, der Code ist getestet und muss nur von einem gewartet werden.

Andererseits erlebe ich gerade auch in meiner unmittelbaren Nähe, dass "ganz neue Werkzeuge" entwickelt werden, die vorhandenen in bestimmten Funktionen sehr ähnlich sind. Aber es ist eben nicht ganz genau das gleiche. Man müsste ja einen Kompromiss eingehen oder sich abstimmen oder in das andere Tool einarbeiten oder …

Ich habe selber erlebt, wie schwer es war sich bei einem Projekt von der technisch besten Lösung zu verabschieden: die Projektleitung entschied auf ein technisch minderwertiges System zu setzen, das aber schon da war. Was habe ich mich damals geärgert… Ich denke heute immer noch, dass wir die technisch schlechtere Lösung wählten, aber die Kunden sind mit dem Ergebnis sehr zufrieden. Sie sind geradezu begeistert. Der Grund liegt darin, dass wesentliche Teile der neuen Ideen umgesetzt wurden: innovative Ideen, die unseren Kunden jede Menge Geld einbringen können. und das auf der alten Basis… Das war für mich sehr lehrreich.