Marketing Atau Product Manager PROGRAMNYA BELUM JADI PAK Kemarin itu baru tampilannya saja kemudian itu simulasi JANJINYA KAN MINGGU INI Dan kita sudah membuat iklan terkait dengan ini
bisa ssh ke produksi Bagaimana kalau ada yang tidak sengaja mematikan proses dan semua koneksi drop? “Tapi saya akan berhati-hati...” Di dunia ideal Anda bisa berhati-hati. Kenyataannya, human error terjadi. Manusia bisa mengantuk dan bisa patah hati. Moodnya bisa turun tiba-tiba dan dia bisa kehilangan konsentrasi.
path, lebih kepada manajemen. Release Engineer bisa juga tim contact person. Release Engineer menentukan (dan terkadang cherry pick) fitur apa yang akan dimasukkan ke produksi Release Manager memiliki akses ke produksi, bersama tim devops Tidak semua fitur akan dirilis Release Manager Tim produk sepakat: jika secara engineering tidak matang, rilis tidak dilakukan! Release Manager tidak dapat disalahkan dari fitur yang terlambat. Itu merupakan tanggung jawab developer mengapa tidak memenuhi standar rilis.
path, lebih kepada manajemen. Release Engineer bisa juga tim contact person. Release Engineer menentukan (dan terkadang cherry pick) fitur apa yang akan dimasukkan ke produksi Release Manager memiliki akses ke produksi, bersama tim devops Tidak semua fitur akan dirilis Release Manager Tim produk sepakat: jika secara engineering tidak matang, rilis tidak dilakukan! Release Manager tidak dapat disalahkan dari fitur yang terlambat. Itu merupakan tanggung jawab developer mengapa tidak memenuhi standar rilis.
dan tukang kayu (DEVELOPER) bilang lemnya salah dan bisa malah merusak kursi (PRODUCT DEFECT / UNTESTED), apakah Anda (PRODUCT MANAGER) akan tetap menduduki kursi itu? “Tapi saya perlu kursi itu besok!” “Ya tapi kursinya belum jadi!” What would you do?
Saat dalam 50% waktu tidak recapai 50% progress, komunikasikan ke tim Product! KPI Developer bukanlah menyelesaikan secepat-cepatnya, tetapi menyelesaikan sebuah hal dengan tingkat kesulitan yang dirasa pantas dalam waktu yang telah dinegosiasikan.
/ melarang rilis sesuai standar yang akan dibuat (e.g.: unit test > 70%, changelog jelas, sudah smoke test dan negative test, etc.) KPI Release Manager adalah jika dia mengizinkan rilis yang tidak memenuhi standar, dan melarang rilis yang memenuhi standar rilis. Bug, etc, diserahkan ke developer dan pager duty (ditentukan kemudian) Karena Release Manager tidak bertanggung jawab atas kode yang hidup di produksi.
RE PM Mengatur Jadwal Rilis NO NO YES Mengizinkan Rilis NO YES NO Melakukan Rilis YES (izin dari RE) YES NO Memperbaiki bug YES YES (hanya jika RE merangkap dev) NO Menentukan fitur yang perlu dirilis NO NO YES
kita hanya batasi masalah ke yang berubah saja Tapi tetap ingat dependency graph modul! Apa yang tidak Anda ubah berpotensi merusak jika ada dependency ke sana. E.g. A butuh B. Anda mengubah B. A berpotensi rusak.
to release and hotfix Rilis tak boleh sulit. Harus ada 1 cara yang jelas. Umumnya, rilis menggunakan 1 tombol di CI (Jenkins/Go/etc) atau menggunakan Hubot, atau menggunakan Ansible, atau Chef.
review? Ingat, semua kode langsung alive di staging. Sprint review menampilkan progres dari staging, bukan production. Rilis di hari jumat selalu nightmare. Kalo ada masalah, begadang! Rilis pagi vs malam: Malam traffic sepi, tapi prone to error kalau mengantuk / terjadi apa-apa. Pagi / siang hanya untuk team yang mature (e.g.: unit test >80%), karena kalo ada masalah, digebukin customer.
akan merilis. Di-rolling saja. Yang merilis belum tentu release manager. Release manager memberikan izin dan prosedur rilis. Release manager TIDAK bertanggung jawab atas kerusakan karena rilis.
adalah orang-orang yang siap menangani masalah ketika ada masalah di produksi Pager duty HANYA 1 minggu dalam 3 bulan. (Direkomendasikan agar tidak mengganggu hidup / tidak membuat stres)
yang di-page tapi tidak bisa menyelesaikan masalah, mungkin karena masalahnya terlalu berat, atau domain masalahnya berbeda sekali. Pertimbangkan untuk mengizinkan orang-orang bekerja cross-module (mengerjakan modul yang berbeda) agar ini tidak ditemukan.
Pager •Yang saat itu terkena page harus menyelesaikan masalahnya Selesaikan •Jika tidak bisa, eskalasi. •Libatkan orang sesedikit mungkin, tapi tetap verbose Tulis Post Mortem •Dokumentasikan masalahnya dengan baik
masalah terjadi, fokus kepada menyelesaikan masalahnya. Mungkin Anda akan melihat kode yang jelek dan bergumam WTF siapa yang nulis ini. That’s fine, tetapi jangan lupa setiap downtime adalah kerugian. Btw, Amazon rugi 794 juta rupiah per downtime per menitnya (2013). http://www.forbes.com/sites/kellyclay/2013/08/19/amazon- com-goes-down-loses-66240-per-minute/#16fff62f3c2a
yang dilakukan sehingga masalahnya selesai? Penyebab • Kenapa masalah itu bisa terjadi? Mitigasi • Bagaimana agar ini tidak terjadi lagi? • Andai terjadi lagi, bagaimana agar dapat dilakukan dengan cepat?
hotfix dan fitur. Hotfix merupakan perubahan yang dilakukan untuk mengatasi masalah yang tadinya tidak muncul di production. Semakin sedikit semakin baik. Hotfix != request yang berubah di tengah. Release Manager tetap berperan di sini. Release Manager tidak perlu mengawasi hotfix apa yang masuk, tetapi Release Manager perlu memberikan acuan hotfix apa yang boleh masuk.
sini banyak engineer backend dan frontend, jadi skenario dipilih untuk masalah BE dan FE. Dibutuhkan setidaknya: - 2 orang pager duty (harus punya motor). Disarankan backend dan - 1 orang untuk eskalasi - 1 orang utusan rilis Siapapun dapat merangkap apapun.
new feature. You will be recognized. And you can proudly say to your spouse, “Hi dear, i make this.” Also of course you can impress your next employer with this :p
program yang ditulis oleh Netflix, yang sengaja melakukan kerusakan di production. Kenapa? Karena Netflix memiliki sistem yang self- healing. Kita bisa lakukan hal serupa. Bayangkan fire- drilling https://www.youtube.com/watch?v=UuTowptYlrM CATATAN: INI TARUH AKHUIR SAJA SETELAH SIMULASI