Saya tidak sepenuhnya setuju dengan jawaban maple_shaft, tetapi tidak ada cukup ruang di komentar untuk mengatakan seluruh bagian saya! ;-)
Saya setuju bahwa setiap pengembang dapat dan harus menjadi arsitek, tetapi itu tidak berarti bahwa setiap pengembang harus bertanggung jawab atas arsitektur seluruh produk atau sistem. Lebih lanjut, saya tidak berpikir Anda bisa melukis setiap tim arsitektur dengan sikat luas yang sama, dan ketika dilakukan dengan tepat tim arsitektur dapat memberikan nilai besar untuk keseluruhan proses pengembangan produk. Kesalahpahamannya adalah bahwa arsitek harus menentukan setiap aspek dari desain sistem. Sebagai gantinya mereka harus fokus pada desain tingkat yang lebih tinggi, dan menyerahkan detail implementasi kepada tim pengembangan mereka. Namun itu tidak berarti bahwa pengembang tidak boleh terlibat dalam proses perencanaan dan desain sejak awal.
Semakin besar dan semakin modular dan semakin kompleks suatu produk, semakin besar kemungkinan Anda akan menemukan berbagai bagian produk yang ditangani oleh tim pengembangan yang berbeda. Tim semacam itu tidak perlu memahami sistem secara keseluruhan asalkan mereka memiliki pemahaman penuh tentang bagian-bagian dari sistem yang menjadi tanggung jawab mereka. Seringkali tim tambahan ini dibawa sebagai subkontraktor untuk tujuan spesifik mengembangkan modul dalam bidang teknologi tertentu yang mungkin tidak dimiliki oleh arsitek atau tim lain. Bakat khusus saya terletak pada pengembangan API, dan saya belum melihat API berfaktor baik yang dikembangkan sepenuhnya secara organik tanpa menjadi kekacauan sepenuhnya dalam hal kegunaan, atau yang tidak mengharuskan seseorang untuk menonjol karena orang yang memastikan ada tingkat keseragaman antara berbagai aspek API. Saya dapat melanjutkan untuk mendaftar banyak contoh dan alasan, tetapi saya tidak berpikir bahwa situasi semacam ini adalah menara gading BS yang mungkin banyak orang pikirkan. Sayangnya, ada banyak tempat, khususnya di bidang pertahanan, medis, dan sektor keuangan di mana paranoia korporat menghasilkan pengembangan produk yang tidak ditentukan dengan baik dan bahkan lebih buruk dari jenis yang saya yakin maple_shaft paling peduli. Ini adalah hal-hal yang saya percaya memberi arsitek sedikit nama buruk yang tidak layak (secara umum). Sayangnya, ada banyak tempat, khususnya di bidang pertahanan, medis, dan sektor keuangan di mana paranoia korporat menghasilkan pengembangan produk yang tidak ditentukan dengan baik dan bahkan lebih buruk dari jenis yang saya yakin maple_shaft paling peduli. Ini adalah hal-hal yang saya percaya memberi arsitek sedikit nama buruk yang tidak layak (secara umum). Sayangnya, ada banyak tempat, khususnya di bidang pertahanan, medis, dan sektor keuangan di mana paranoia korporat menghasilkan pengembangan produk yang tidak ditentukan dengan baik dan bahkan lebih buruk dari jenis yang saya yakin maple_shaft paling peduli. Ini adalah hal-hal yang saya percaya memberi arsitek sedikit nama buruk yang tidak layak (secara umum).
Jadi di mana jalan tengah yang dicari OP? Jawabannya semua ada hubungannya dengan membuka saluran komunikasi. Arsitek perlu menyerahkan spesifikasi yang menggambarkan desain mereka secara cukup rinci untuk memastikan tim pengembangan akan memahami di mana batas-batasnya. Cerita dan Skenario Fitur dalam arti luas, di mana semuanya dianggap sebagai kotak hitam. Arsitek kemudian perlu memastikan bahwa tim memiliki akses ke waktu arsitek untuk mengkonfirmasi asumsi, dan untuk memiliki pertanyaan yang dijawab tentang spesifikasi yang tampak terlalu luas, atau tidak jelas. Setelah itu, ini benar-benar tentang memastikan bahwa masing-masing tim disadarkan tentang apa yang sedang dikerjakan oleh tim lain, dan bahwa mereka tahu siapa yang harus bekerja sama dengan tim lain untuk memastikan setiap bagian dari sistem akan bermain dengan baik dengan bagian lainnya. Tim-tim ini saling bertemu secara langsung. Setelah sistem dirancang pada tingkat terluas, arsitek harus benar-benar menjadi orang-orang yang dituju oleh tim ketika mereka membutuhkan pemeriksaan kewarasan, dan untuk memastikan bahwa "visi" produk tetap terjaga. Mereka juga harus ikut serta dalam proses integrasi apa pun yang diperlukan, dan memberikan "penutup udara" yang sangat dibutuhkan untuk tim pengembangan dari para manajer, pelanggan, dan pemegang saham lainnya, sambil tetap memastikan berbagai orang ini dapat berkumpul bersama untuk bekerja di antara mereka bagaimana hal-hal seharusnya bekerja.
Arsitek IMHO harus menjadi fasilitator & komunikator pertama dan terutama, dan desainer kedua. Seperti apa tingkat spesifikasinya? Saya pikir arsitek terbaik adalah mereka yang bertanya kepada tim mereka tentang tingkat detail yang diinginkan tim, dan di antara mereka menemukan keseimbangan yang berfungsi. Tim yang berbeda mungkin memiliki persyaratan berbeda dalam hal jumlah dokumentasi atau arahan yang diperlukan. Tim senior mungkin menemukan diagram yang digambar secara kasar dan obrolan cepat mungkin cukup untuk memulai, sementara tim yang diisi dengan pengembang yang relatif junior mungkin memerlukan sedikit lebih banyak untuk membuatnya berjalan. Di atas segalanya, arsitek perlu mendorong pengembang untuk menggunakan bakat desain mereka sendiri untuk mendapatkan hasil akhir terbaik dari masing-masing tim.