Ein Kollege von mir hatte den Eindruck, dass unsere Softwareabteilung hoch entwickelt war, da wir sowohl einen Build-Server mit kontinuierlicher Integration als auch eine Versionskontrollsoftware verwendeten.
Nein, ich hasse es, es zu sagen, aber das ist wahr. Bei den letzten beiden Arbeiten (einer Abteilung einer Bank und einer Finanzgesellschaft) war ich derjenige, der das Versionskontrollsystem implementiert hat. Eine Reihe von Orten (insbesondere Nicht-Software-Shops) verstehen nicht, warum dies für eine langfristige Entwicklung wirklich notwendig ist. Das Team beginnt normalerweise mit ein oder zwei Personen und wächst dann, wenn auch schmerzhaft. Mit einer oder zwei Personen kommt man (nicht gut) ohne aus, weil man fast ständig miteinander kommunizieren kann.
Continuous Build ist ein ganz anderer Fall. Wenn ich raten müsste, würde ich wetten, dass fast 90% der Orte, an denen die Entwicklung durchgeführt wird, keine CI-Lösung haben. Ich gehe zu Konferenzen und die meisten Leute sind erstaunt, dass es eine andere Organisation als MS oder Google gibt. Was ich herausgefunden habe, ist, dass das Management nicht den geringen Geldbetrag ausgeben möchte, um es zum Laufen zu bringen, obwohl es viel Zeit sparen kann.
Die größten Gründe, die ich dafür gefunden habe, sind:
Die Führungskräfte sind in der gleichen Organisation durch die Reihen aufgestiegen. Sie haben es nie benutzt und brauchten es nicht. Warum sollten sie es jetzt ändern? Einige, die ich gefunden habe, haben nur Angst vor Veränderungen. Etwas Neues ist beängstigend, und es würde verhindern, dass sie ihren alten Compiler abstauben und unseren jüngeren in Notzeiten helfen. Zu anderen Zeiten (und häufiger) verfügen sie über immer knappe Budgets und müssen entscheiden, wo sie Geld ausgeben. Für uns ist die Implementierung ein offensichtlicher Bedarf, aber das liegt daran, dass wir sie bereits verwendet haben. Wir kennen die Vorteile, sie nicht.
Manager sind keine IT-Mitarbeiter, und alles, was sie hier tun, ist, dass Sie Geld für etwas ausgeben möchten, das zuvor nicht benötigt wurde.
Die meisten Argumente, die ich von Leuten gehört habe, drehen sich um Best Practices usw. und diese sind wahr, aber was die meisten Entwickler nicht verstehen, ist, dass Sie in diesem Szenario eine finanzielle Situation angeben müssen. Mit dieser Menge Geld, die Sie ausgeben werden, sparen wir X Zeit und Sie benötigen Zahlen, um sie zu sichern. Dies ist nicht immer wahr, aber es war meine Erfahrung in der Vergangenheit.