- Organisasi dengan sekitar 45 engineer menghentikan roadmap, desain, dan rapat selama seminggu tiap kuartal untuk menjalankan ‘pekan Fixit’, dengan fokus menyelesaikan bug kecil dan masalah produktivitas
- Pada Fixit kali ini, 189 bug diperbaiki, 40 orang berpartisipasi, dengan median 4 issue per orang dan maksimum 12 bug yang ditutup
- Motivasi dan semangat tim ditingkatkan lewat aturan penyelesaian dalam 2 hari, sistem poin dan leaderboard, serta hadiah kaus
- Pemanfaatan alat AI mempercepat penelusuran kode dan usulan perbaikan, sekaligus mengurangi beban perpindahan konteks
- Fixit dinilai berkontribusi pada peningkatan kualitas produk dan kekompakan tim, serta menghidupkan kembali kesenangan menyelesaikan masalah kecil
Konsep dan cara kerja Fixit
- Fixit adalah pekan perbaikan bug intensif yang berlangsung selama satu minggu tiap kuartal, dengan menghentikan sepenuhnya pekerjaan roadmap, desain, dan rapat reguler
- Para engineer memperbaiki error kecil atau faktor penurun produktivitas yang selama ini mengganggu pengguna dan developer
- Contoh: pesan error yang tidak jelas selama 2 tahun, glitch saat scroll dan zoom dipakai bersamaan, keterlambatan CI akibat pengujian yang lambat
- Ada dua aturan
- Tidak ada bug yang boleh memakan waktu lebih dari 2 hari
- Pekerjaan difokuskan pada peningkatan bagi pengguna akhir atau produktivitas developer
- Mereka menjalankan sistem poin dan leaderboard untuk memvisualisasikan partisipasi, dan memberikan hadiah kaus untuk berbagai kategori seperti ‘perbaikan bug pertama’ dan ‘perbaikan bug paling menjengkelkan’
Hasil Fixit
- Hasil Fixit kali ini
- 189 bug diperbaiki, 40 orang berpartisipasi, median 4 per orang, maksimum 12
- Contoh utama
- Permintaan fitur Perfetto yang didaftarkan pada 2021 di issue ini diimplementasikan hanya dalam satu hari, sehingga meningkatkan pengalaman pengguna
- Perbaikan GitHub Action mengurangi jumlah klik yang dibutuhkan developer UI untuk mengakses build
- Penyediaan versi terintegrasi SDK mempermudah integrasi ke proyek, dan diimplementasikan dalam sekitar 1 jam
Dampak Fixit
-
Dari sisi produk: detail dan kematangan
- Ciri produk yang baik adalah perhatian pada detail dan konsistensi
- Fixit menjadi kesempatan untuk meningkatkan kualitas produk satu tingkat lebih tinggi dengan menghilangkan gangguan kecil yang mungkin tidak selalu disadari langsung oleh pengguna
-
Dari sisi individu: kepuasan yang berpusat pada eksekusi
- Ini menghadirkan kembali rasa pencapaian instan seperti di awal karier: “menemukan masalah → memperbaiki → merilis”
- Selama Fixit, fokus beralih dari ‘apa yang akan dibuat’ ke ‘bagaimana cara memperbaikinya’, sehingga rasa pencapaian terakumulasi dalam siklus singkat
-
Dari sisi tim: semangat dan kolaborasi yang lebih kuat
- Empat puluh orang di dua zona waktu memperbaiki bug secara bersamaan, sehingga energi seluruh organisasi meningkat
- Terjadi interaksi aktif di ruang chat, seperti berbagi perbaikan secara real-time, mengunggah tangkapan layar, dan menampilkan demo
- Setiap pagi mereka membagikan jumlah perbaikan, jumlah peserta, dan peringkat leaderboard untuk memperkuat motivasi
- Empat puluh orang di dua zona waktu memperbaiki bug secara bersamaan, sehingga energi seluruh organisasi meningkat
Syarat agar Fixit berjalan sukses
-
Persiapan sebelumnya
- Sepanjang tahun, bug diberi tag “good fixit candidate”, lalu pada pekan sebelum Fixit diklasifikasikan menjadi kecil, sedang, besar (0,5 · 1 · 2 hari)
- Berdasarkan ukuran, tiap bug diberi 1 · 2 · 4 poin, lalu disusun daftar bug prioritas
- Proses persiapan ini adalah faktor kunci untuk mencegah kekacauan di hari pertama
-
Aturan batas 2 hari
- Di masa lalu pernah ada bug yang ternyata lebih kompleks dari perkiraan dan menghabiskan seluruh pekan Fixit
- Setelah itu diperkenalkan prinsip menghentikan pekerjaan dan memindahkannya ke backlog bila melewati 2 hari, dengan tujuan menjaga rasa pencapaian secara berkelanjutan
-
Skala peserta
- Pada tahap awal dengan 7 orang, hasil tetap ada tetapi belum cukup membangun resonansi di seluruh organisasi
- Di kisaran 40 orang, massa kritis terbentuk, sehingga energi kolektif dan rasa tenggelam dalam pekerjaan mencapai puncak
-
Gamifikasi
- Poin dibuat lebih untuk kesenangan daripada akurasi (1/2/4 poin)
- Pencapaian diakui secara luas: perbaikan pertama, bug paling menjengkelkan, dan kategori lainnya
- Dipisahkan dari evaluasi kinerja, agar motivasi partisipasi tetap murni
- Berkat norma sosial dan ukuran tim, hampir tidak ada penyalahgunaan sistem
Peran alat AI
- AI membantu mengurangi beban perpindahan konteks, yang merupakan tantangan utama dalam Fixit
- AI dapat dengan cepat menelusuri dan merangkum file terkait, sehingga beban kognitif berkurang
- Contoh
- PR perbaikan dokumentasi: AI langsung mengusulkan revisi yang bisa dipakai
- Peningkatan halaman Record: AI menyediakan prototipe kode, lalu perbaikan UX disempurnakan secara manual
- Hasilnya, waktu untuk mencapai titik mulai menjadi lebih singkat, dan dalam beberapa kasus perbaikan bisa langsung dilakukan
Kritik terhadap Fixit dan tanggapannya
-
“Bukankah ini berarti bug biasanya diabaikan?”
- Sampai batas tertentu memang benar, tetapi ini melengkapi kenyataan bahwa gangguan kecil (papercut bugs) sering tersingkir dari prioritas
- Fixit adalah cara untuk secara eksplisit menyediakan waktu guna menyelesaikan “masalah kecil tetapi penting”
-
“Bukankah menghentikan pekerjaan roadmap itu pemborosan?”
- Mengalokasikan 40 orang selama 1 minggu memang besar, tetapi itu terbayar oleh peningkatan kematangan produk dan kepuasan pengguna
- Efek peningkatan produktivitas seperti percepatan pengujian, pesan error yang lebih jelas, dan workflow yang lebih singkat terus bertahan dalam jangka panjang
-
“Bukankah ini hanya mungkin dilakukan perusahaan besar?”
- Tim kecil pun bisa mengadaptasinya menjadi ‘Fixit Friday’ atau mini Fixit 2 hari
- Intinya adalah menyediakan waktu yang terfokus dan terlindungi serta melakukan aktivitas perbaikan bersama
Nilai esensial dari Fixit
- Tujuan resminya adalah meningkatkan kualitas produk dan produktivitas developer
- Alasan tidak resminya adalah “kesenangan dalam memperbaiki sesuatu”
- Fixit dinilai sebagai unsur penting untuk menghidupkan kembali kepuasan dari masa yang lebih sederhana, sekaligus mempertahankan budaya membangun produk dengan teliti
2 komentar
Ini mengingatkan saya pada budaya pitstop di Baemin. Saya dengar sekarang sudah tidak ada.
Komentar Hacker News
Saya suka idenya, tetapi kalimat “bug tidak boleh memakan waktu lebih dari 2 hari” terasa aneh
Pada praktiknya, hampir mustahil memprediksi berapa lama perbaikan akan memakan waktu sebelum bug itu benar-benar diperbaiki
Meski begitu, jika tidak memerlukan refactoring besar, saya rasa hampir tidak ada yang butuh lebih dari sehari
Saya biasanya menangani bug berdasarkan tingkat keparahan atau prioritas. Semakin parah bug-nya, justru sering kali semakin mudah ditemukan
Begitu penyebabnya ditemukan, perbaikannya biasanya cepat
Kami menganalisis log selama bertahun-tahun tetapi tidak menemukan penyebabnya, lalu akhirnya menemukan bahwa masalah itu bisa direproduksi 100% dengan kombinasi DB dan commit pada kondisi tertentu
Setelah menandatangani NDA, kami membuat binary reproduksi minimal dan mengotomatiskannya dengan skrip PowerShell, lalu MS memperbaikinya dalam waktu sebulan
Secara internal rasanya seperti buffer overflow, tetapi saya tidak yakin
Jika saya menghabiskan seminggu penuh hanya memperbaiki bug dan tidak menambah story point di Jira, beberapa manajer akan berdatangan dan bertanya kenapa lajunya lambat
Jadi pelajaran yang saya ambil adalah, lebih baik menghindari bug yang sulit dan cepat menyerah pada pekerjaan yang tidak menghasilkan poin
Tidak jelas apakah masalahnya ada di kode, compiler, atau hardware, dan bug gabungan yang muncul karena beberapa faktor sekaligus bahkan tidak bisa direproduksi secara terpisah
Dalam kasus seperti ini, ketika solusi sementara yang cepat menumpuk, perbaikan bug yang benar di kemudian hari bisa berubah menjadi rework besar-besaran
Selain itu, di lingkungan dengan kepercayaan rendah, bahkan bug sepele pun kadang tidak bisa langsung diperbaiki karena prosedur Jira
Saat bekerja di Meta, kami mengadakan Fix-it Week setiap kuartal
Awalnya saya pikir ini berarti kepemimpinan peduli pada kualitas, tetapi pada praktiknya itu adalah masa berlisensi untuk menumpuk utang teknis
Kami mencoba memperbaiki bug selama seminggu, tetapi karena utangnya sudah telanjur menumpuk, hampir tidak ada yang benar-benar terselesaikan
Kalau tidak, kode baru akan menumpuk di atas bug itu dan menjadi fondasi yang tidak stabil
Video ceramah John Romero juga menekankan filosofi yang sama
Para developer mengerjakan TODO lama yang mereka tinggalkan sambil menambah LOC, dan sebagian bahkan ada yang sengaja menulis kode buruk agar nanti bisa “memperbaikinya” untuk mengakali jumlah diff
Artinya, ini adalah waktu untuk menangani masalah yang tidak mendesak tetapi mengganggu
Lebih penting bila kepemimpinan menjelaskan prioritas bisnis secara jujur, dan dengan jelas menunjukkan dampak bug terhadap pengguna
Saya pernah mengalami lingkaran setan ketika mengembangkan fitur sambil terus-menerus menghadapi respons darurat dan perubahan prioritas
Akhirnya sistem dipenuhi workaround, dan baik pelanggan maupun developer sama-sama tidak puas
Dalam situasi seperti ini, rasanya seharusnya lebih baik berhenti sejak awal dan melakukan perbaikan bug yang mendasar
Komunikasi terputus, para pemimpin mondar-mandir panik seperti ayam kehilangan kepala sambil hanya memberi perintah
Developer berubah menjadi pemadam kebakaran untuk semua masalah, dan pada akhirnya satu-satunya solusi adalah pergi
Semakin lambat lajunya, semakin panik pemimpinnya lalu sembarangan mengacak proyek, yang akhirnya memperbesar kekacauan dan budaya beracun
Saya selalu bekerja dengan filosofi “perbaikan bug didahulukan”
Jika fitur yang sudah ada belum berfungsi dengan baik, saya tidak membuat fitur baru
Dengan begitu, kita bisa menjaga codebase bebas bug dan produktivitas tim juga meningkat
Khususnya di frontend, karena beragam masalah lingkungan, kondisi benar-benar tanpa bug hampir mustahil dicapai
Selain itu, definisi “bug” sering kabur sehingga kadang fitur yang diinginkan manajer diklasifikasikan sebagai bug
Misalnya, error pada halaman API yang hampir tidak pernah dipakai bisa jadi kurang penting dibanding fitur baru
Sebagian besar adalah masalah kecil, sehingga kepemimpinan lebih memilih fitur baru
Saya menjalankan produk SaaS kecil dan memegang prinsip “bug diperbaiki lebih dulu”
Saya menyelesaikan bug yang dilaporkan pelanggan sebelum fitur baru
Dengan begitu, jumlah bug baru yang ditemukan makin berkurang, dan perbaikannya juga jadi lebih mudah
Dari sisi bisnis ini mungkin tidak efisien, tetapi dari sisi kualitas dan kepercayaan pelanggan, ini adalah strategi terbaik
Pelanggan sangat senang jika bug yang mereka laporkan diperbaiki dalam hitungan jam
Sistem seperti Fix-it Week justru mendorong penundaan perbaikan bug
Muncul alasan “nanti saja saat Fix-it Week”
Menurut saya, lebih baik memasukkan waktu maintenance secara eksplisit ke dalam perencanaan kuartal atau sprint
Dengan begitu, developer punya alasan yang sah untuk segera memperbaiki bug, dan budaya perbaikan berkelanjutan bisa tumbuh
Fix-it Week sebaiknya dijalankan seperti mini hackathon yang juga mencakup peningkatan kecil atau POC
Perusahaan lama saya selalu mengulang siklus yang sama
Pola seperti ini adalah tanda budaya organisasi yang salah. Jika waktu untuk memperbaiki bug tidak disediakan dalam keseharian, keadaan tidak akan pernah berubah
Ini mengingatkan saya pada Joel Test yang pernah diajukan Joel Spolsky
Pertanyaan kelimanya adalah “Apakah Anda memperbaiki bug sebelum menulis kode baru?”
Setelah 25 tahun, itu masih menjadi standar yang relevan
Tautan tulisan asli
Saya termasuk yang berpendapat bahwa bug tidak perlu diberi skor atau estimasi ukuran
Kalau memang harus diberi poin, anggap saja semuanya bernilai 2 dan secara rata-rata itu akan cukup tepat
Perbaikan bug cukup ditangani dengan metode Kanban, dikerjakan sesuai urutan pentingnya, lalu diselesaikan dalam waktu yang tersedia
Saya penulisnya. Senang melihat diskusi yang aktif
Itu bukan pengganti untuk kebersihan teknis atau penyelesaian isu besar