Ini terutama masalah komunikasi, tetapi Anda dapat membuat kesalahan lebih kecil kemungkinannya dengan beberapa langkah teknis dan organisasi sederhana. Pertama, Anda harus memberikan dokumentasi yang baik dan berkualitas tinggi dari semua entri dalam file konfigurasi Anda, serta beberapa contoh yang mudah diakses atau file konfigurasi "default". Contoh file dapat secara otomatis digunakan untuk setiap lingkungan, karena tidak dimaksudkan untuk diubah oleh tim prod langsung.
Selanjutnya, dengan setiap rilis baru, berikan changelog, tempat perubahan penting didokumentasikan. Perubahan pada konfigurasi yang dapat mencegah sistem bekerja ketika mereka hilang selalu penting, jadi pastikan informasinya ada di sana.
Sebagai contoh, katakanlah tim dev menambahkan beberapa pasangan nilai kunci ke application.properties di lingkungan mereka. Apa cara terbaik untuk merekam kunci-kunci baru ini, sehingga ketika penyebaran terjadi di tim ops mereka tahu persis kunci mana yang harus ditambahkan, sehingga risiko memulai layanan baru dan melihatnya gagal karena kunci yang hilang diminimalkan?
Cara terbaik untuk mengurangi risiko gagal adalah menghindari mengubah aplikasi Anda dengan cara yang memerlukan kunci baru, sehingga aplikasi harus kompatibel dengan file konfigurasi lama jika memungkinkan. Seringkali, aplikasi Anda dapat berperilaku dengan cara yang masuk akal dengan memberikan nilai default bawaan untuk kunci baru untuk kasus mereka hilang.
Namun, jika itu tidak mungkin, sistem Anda harus membuatnya semudah mungkin bagi tim prod untuk mencari tahu mengapa layanan baru gagal untuk memulai ketika kunci hilang. Harus ada pesan kesalahan yang jelas, mengatakan persis yang kunci hilang di mana file , dan jika perlu di mana untuk menemukan informasi tentang kunci hilang, atau petunjuk atau contoh tentang entri yang berarti untuk kunci ini.
Jika konfigurasinya kompleks, dan formatnya berubah dengan cara pengeditan manual menjadi rawan kesalahan, Anda mungkin juga mempertimbangkan untuk menyediakan alat untuk mengedit konfigurasi dan untuk migrasi ke versi yang lebih baru.
Sebagai contoh, saya menggunakan browser web Firefox, dan dengan setiap rilis baru (yang saya dapatkan secara otomatis), hal-hal tertentu ditambahkan ke konfigurasi lokal yang dapat diperiksa pada halaman "about: config". Ini sebanding dengan konfigurasi di lingkungan "produksi" Anda. Karena seluruh konfigurasi dijaga agar tetap kompatibel, saya tidak perlu menambahkan kunci baru ke konfigurasi secara manual hanya karena ada rilis baru dari browser. Dan untuk kasus saya ingin mengubah sesuatu di sana (mungkin entri baru yang bukan bagian dari versi sebelumnya), saya juga menggunakan menu Tools / Options, atau halaman "about: config", dan dapat menemukan entri plus beberapa jenis dokumentasi. Jadi saya sarankan mencoba menerapkan sistem Anda dengan cara yang sebanding.