Der Not-invented-here-Effekt

Entwickler bauen gern selbst. Das ist verständlich. Eigenen Code kann ich gestalten, verstehen und kontrollieren. Fremde Systeme sind häufig unvollkommen, schlecht dokumentiert oder an den falschen Stellen unflexibel.

Daraus entsteht leicht die Überzeugung, eine eigene Lösung sei grundsätzlich sauberer. Dabei unterschätze ich nicht selten:

  • Wartung,
  • Sonderfälle,
  • Sicherheitsprobleme,
  • langfristige Kompatibilität,
  • Dokumentation,
  • Support,
  • und die Kosten der vermeintlich kleinen Zusatzfunktion.

Manchmal ist eigener Code richtig. Manchmal ist eine vorhandene Lösung trotz ihrer Unvollkommenheit wirtschaftlich und technisch vernünftiger.

Die Frage sollte nicht lauten:

Könnte ich das besser bauen?

Meistens lautet die Antwort darauf ohnehin Ja – zumindest in meiner Vorstellung. Die bessere Frage ist:

Ist genau diese Komponente ein sinnvoller Ort für unsere begrenzte Entwicklungszeit?