Saya bekerja dengan tim pengembang yang diberi pilihan untuk hardware dan software apa yang mereka jalankan. Perasaan kami adalah bahwa skenario ini memungkinkan kami melihat berbagai sistem target sebelum melakukan tes. Pengalaman kami adalah bahwa kami menemukan sejumlah masalah aneh di berbagai browser dan sistem operasi segera setelah pengenalan masalah. Tapi itu hanya pengalaman satu kelompok.
Variasi sistem ini sulit bagi tim infrastruktur dan keamanan kami, sehingga sering muncul sebagai titik penghambat.
Apakah lebih menguntungkan untuk memiliki lingkungan pengembangan yang homogen atau heterogen pada tim pengembang?
Jawaban:
Satu keuntungan adalah bahwa Anda menemukan, dan harus menyelesaikan, kompatibilitas lintas-platform dan masalah divergensi di awal proses pengembangan. Semua orang terbiasa berurusan dengan kunci pas dan rintangan monyet.
Anda juga melihat sisi negatif dari divergensi tersebut: Lingkungan lebih sulit untuk diatur, dipelihara, diamankan, dan dikembangkan karena divergensi tersebut. Setiap orang harus mengerjakan masalah divergensi sejak dini dan sering. Mengatur Chaos Monkey longgar pada awalnya bisa menjadi gangguan yang cukup besar dari membuat kemajuan.
Dalam pengalaman saya, kerepotan divergensi tidak sepadan dengan usaha kecuali Anda sangat khusus bekerja pada produk yang harus lintas platform. Tapi, itu adalah panggilan penilaian tim yang berbeda harus membuat untuk diri mereka sendiri. Saya lebih suka setidaknya memiliki sedikit kesamaan dalam tim-tim proyek saya — tetapi kenyataannya adalah keinginan daripada sesuatu yang dapat saya terapkan. Beberapa orang memiliki & menggunakan Windows, yang lain macOS, yang lain beberapa rasa Linux. Kalikan itu kali semua alat pengembang mungkin ingin menggunakan.
Anda dapat meletakkan beberapa standar proyek inti seperti Python 3.5, PostgreSQL 9.5+, pipa aset berbasis gulp, git, Github, cabang rebased, ... yang harus dipatuhi setiap orang. Ini membantu memotong divergensi, sehingga waktu / upaya yang diperlukan untuk mengakomodasi dan mengatasi itu. Semakin korporat dan mengunci langkah organisasi Anda, semakin banyak standardisasi dan kesamaan yang dapat Anda tekankan. Namun, pengembang cenderung menjadi kucing metaforis yang tidak bisa diajak bicara. Jadi menjaga divergensi "menjadi suara yang membosankan" sering kali merupakan yang terbaik yang dapat Anda lakukan secara praktis.
sumber