TL; DR, bagaimana Anda membuktikan devops, khususnya otomatisasi penyebaran, meningkatkan tingkat kegagalan perubahan?
Kita semua mencoba menangkap metrik pada 'kegagalan penyebaran' menggunakan sarana saat ini (kebanyakan manual). Sayangnya, 'kegagalan' jarang terjadi, bukan? Karena ketika ada masalah, tim datang bersama (biasanya dengan heroik) untuk memperbaiki masalah (biasanya izin, konfigurasi yang terlewat, Anda tahu latihannya). Jadi ... ketika kita bertanya bagaimana penyebarannya, jawabannya adalah "itu berhasil."
Tapi, secara intuitif kita semua tahu itu tidak baik. Laporan State of Devops 2017 mengatakan bahwa ada sekitar 31-45% " tingkat perubahan kegagalan. " Sementara itu secara intuitif terdengar benar, apakah mereka dilacak sebagai insiden? Tidak Karena mereka diperbaiki dengan sangat cepat, biasanya selama validasi. Jauh lebih jarang untuk benar-benar menghentikan penyebaran.
Jadi, dibutuhkan disiplin untuk melaporkan tingkat kegagalan secara akurat. Kami tidak bersemangat untuk melaporkan seperti itu karena kami ingin segala sesuatunya berfungsi dan kami melakukan apa yang diperlukan untuk mewujudkannya.
Jadi, bagaimana Anda membuktikan devops, khususnya penyebaran otomatisasi, meningkatkan tingkat kegagalan perubahan?
(PS mencoba memberi tag ini dengan "# devops-kapabilitas-model")
Jawaban:
Teknik yang kami gunakan di masa lalu dalam situasi yang sama adalah untuk mendapatkan "komitmen manajemen" yang menerapkan aturan-aturan ini kepada setiap anggota tim:
Akses untuk melakukan pembaruan ke area penyebaran target (yaitu produksi) terbatas pada sistem otomatis terpilih, yang memiliki jalur audit yang sesuai (= logging) dari segala jenis pembaruan ke area yang mereka kelola.
Pembaruan manual ke area penyebaran target, untuk alasan apa pun, tidak lagi diizinkan oleh anggota tim biasa (id pengguna) yang dulu dapat (berwenang) melakukan pembaruan ini. Sebaliknya, ID pengguna BARU (tambahan) akan dibuat yang akan memiliki semua izin yang diperlukan untuk (masih) melakukan pembaruan manual tersebut, kapan pun diperlukan. Tetapi untuk benar-benar dapat menggunakan ID pengguna baru tersebut (= melakukan login dengan mereka), anggota tim yang ingin melakukan login dengan ID pengguna baru tersebut harus melakukan "beberapa" langkah tambahan untuk mendapatkan akses ke kata sandi untuk Id pengguna baru tersebut. Idealnya langkah tambahan ini juga otomatis (gunakan imajinasi Anda sendiri seperti apa bentuknya), tetapi jika ada yang gagal: hubungi saja (= eMail, panggil, dll.) Penjaga pintu dari kata sandi yang diperlukan, termasuk "masalah yang mereka miliki untuk diperbaiki "
Dengan prosedur ini, semua yang tersisa untuk dilakukan adalah meninjau secara berkala masing-masing laporan / alasan mengapa diperlukan untuk menggunakan ID pengguna khusus tersebut, dan mengajukan pertanyaan " Apakah ada yang dapat dilakukan untuk mengotomatisasi lebih lanjut ini, untuk lebih lanjut mengurangi perlunya login khusus seperti itu? "
Perbarui :
Kutip dari komentar ekstra Anda di bawah jawaban ini:
Benar itu menambah penghalang tambahan, tapi saya tidak yakin itu "buatan". Karena ini, setahu saya, satu-satunya cara untuk mengetahui hal-hal yang tidak akan pernah diberitahukan oleh anggota tim Anda, karena alasan seperti:
sumber
Masalah yang diperbaiki dengan cepat masih menjadi masalah. Jika Anda tidak melaporkannya seperti itu, itu masalah.
Jika tujuan Anda sebenarnya agar semuanya berjalan lancar, maka Anda harus jujur tentang kegagalan sehingga Anda dapat mencegahnya di masa depan. Kedengarannya seperti tim di sini berbohong (mungkin untuk diri mereka sendiri, tentu manajemen) tentang kegagalan karena tujuan mereka adalah untuk memiliki hal-hal muncul untuk dapat bekerja.
Ini adalah hal yang berbeda. Sebagai contoh, ambil lelucon lama bahwa QA menghasilkan bug - "kode saya baik-baik saja sampai QA memilikinya, dan kemudian mereka membuat semua bug ini!". Bug ada di sana selama ini, tetapi pengembang tidak tahu tentang mereka. Sasaran tim operasi haruslah keandalan yang sebenarnya , dan mereka harus diberi insentif seperti itu oleh manajemen mereka. Itu berarti bahwa jika mereka menempatkan lebih banyak pemantauan di tempat yang mengarah pada penemuan masalah baru, mereka harus diberi penghargaan, tidak dihukum karena penurunan berikutnya dalam metrik keandalan.
Jika Anda mencoba memotivasi perubahan dalam organisasi Anda, maka Anda seharusnya tidak mencoba untuk membuktikan apa pun, tetapi berikan bukti dari apa yang dikatakan organisasi lain tentang transisi mereka sendiri. Jika Anda mencoba mengukur proses yang sudah Anda miliki dan menjustifikasi keberlanjutannya, maka Anda harus melacak metrik keandalan standar, seperti mean time to repair (MTTR).
Tetapi prinsip-prinsip devops bukan hanya tentang meningkatkan keandalan. Bahkan rekayasa keandalan situs tidak hanya tentang peningkatan keandalan. Sebaliknya, Anda ingin mencapai tingkat keandalan yang sesuai - sesuatu yang menguntungkan bisnis tetapi tidak menghambat pengembangan. Dan itu memunculkan motivator sejati dalam devops, yaitu memberdayakan perubahan . Anda ingin agar bisnis merespons lebih cepat terhadap rangsangan pasar, yang terjadi dengan mengurangi gesekan pengembang, meningkatkan tingkat penyebaran, mengotomatiskan proses manual, dll. Sambil tetap dalam batas keandalan yang dapat diterima. Ini berarti Anda perlu mengukur keandalan, tetapi Anda juga perlu mengukur kecepatan, karena tujuan Anda adalah meningkatkan yang terakhir sambil menjaga yang sebelumnya relatif statis.
sumber