@Com Subvie
Erstmal nur zum Thema "Schnittstellen einer Komponente" ändern, zum Rest später, weil mir momentan etwas die Zeit für eine komplette Antwort fehlt:
In unserer Firma wird fast ausschließlich firmeneigene Software und kaum Standardsoftware eingesetzt (wenn man mal von SAP für REWE absieht, ich spreche jetzt natürlich nicht von Textverarbeitung, etc.). Wir haben etwa 200 Programmierer, es gibt etwa 50 verschiedene DLLs, die wahrscheinlich von etwa 10 verschiedenen Teams entwickelt wurden und gewartet werden, darunter solche "Kernkomponenten", wie Security-Prüfungen, Datumsmodule, Schreibroutinen mit RPC-Aufrufen, etc. !
Ich weiß nicht, ob Du Dir vorstellen kannst, wie schnell sich DLLs ändern, weil Team A eine Weiterentwicklung benötigt, Team Z aber die Änderung nicht in Programm XY aus irgendwelchen Gründen nicht mitpflegen kann, gleichzeitig aber das Programm ABC des gleichen Teams ebenfalls die neue Version dieser Kernkomponente benötigt ?
Da ist nichts mit einer gleichzeitigen Anpassung aller betroffenen Systeme, vor allem nicht in einem Betrieb von über 30.000 Mitarbeitern, wo ich leider schonmal auf die Bedürfnisse von Direktor Gedöhnsrat reagieren muß, auch wenn die Planung anders aussah.
Zum Rest später etwas, möglicherweise erst morgen.