Ich arbeite mit einem Team von Entwicklern zusammen, die die Wahl haben, welche Hardware und Software sie ausführen. Wir sind der Meinung, dass wir in diesem Szenario eine Vielzahl von Zielsystemen sehen können, bevor wir jemals einen Test durchführen. Wir haben die Erfahrung gemacht, dass wir kurz nach Einführung des Problems eine Reihe seltsamer Probleme in verschiedenen Browsern und Betriebssystemen feststellen. Aber das ist nur die Erfahrung einer Gruppe.
Diese Vielzahl von Systemen ist für unsere Infrastruktur- und Sicherheitsteams schwierig, daher tritt sie häufig als Problem auf.
Ist es vorteilhafter, in einem Entwicklerteam homogene oder heterogene Entwicklungsumgebungen zu haben?
Antworten:
Ein Vorteil besteht darin, dass Sie frühzeitig im Entwicklungsprozess auf plattformübergreifende Kompatibilitäts- und Divergenzprobleme stoßen und diese lösen müssen. Jeder ist es gewohnt, mit solchen Schraubenschlüsseln und Hindernissen umzugehen.
Sie sehen auch den Nachteil einer solchen Divergenz: Die Umgebung ist aufgrund dieser Divergenzen schwieriger einzurichten, zu warten, zu sichern und zu entwickeln. Jeder muss früh und häufig an Divergenzproblemen arbeiten. Das Loslassen des Chaos-Affen zu Beginn kann eine erhebliche Ablenkung von Fortschritten sein.
Nach meiner Erfahrung sind Divergenzprobleme die Mühe nicht wert, es sei denn, Sie arbeiten ganz spezifisch an einem Produkt, das unbedingt plattformübergreifend sein muss. Aber das ist ein Urteil, das verschiedene Teams für sich selbst fällen müssen. Ich bevorzuge es, in meinen Projektteams zumindest ein Minimum an Gleichheit zu haben - aber die Realität ist, dass dies eher ein Wunsch ist als etwas, das ich durchsetzen kann. Einige Leute haben und benutzen Windows, andere MacOS, andere Linux. Multiplizieren Sie diese Zeiten mit allen Tools, die Entwickler möglicherweise verwenden möchten.
Sie können einige Kernprojektstandards wie Python 3.5, PostgreSQL 9.5+, gulp-basierte Asset-Pipeline, Git, Github, neu basierte Zweige usw. festlegen, an die sich jeder anpassen muss. Dies hilft, die Divergenz zu verringern, und somit die Zeit / Mühe, die erforderlich ist, um sie aufzunehmen und zu streiten. Je mehr Unternehmen und Lock-Step Ihre Organisation ist, desto mehr Standardisierung und Gemeinsamkeit können Sie bestehen. Entwickler neigen jedoch dazu, die metaphorischen, nicht hassbaren Katzen zu sein. Daher ist es oft das Beste, was Sie praktisch tun können, wenn Sie die Divergenz "auf ein langweiliges Brüllen beschränken".
quelle