Menjadi Lebih Baik dengan Retrospective

Mari kita mulai tulisan ini dengan sebuah cerita. Tersebutlah seorang software developer bernama Ara yang bekerja di sebuah perusahaan teknologi yang menyediakan suatu layanan dari produk aplikasi. Ara sudah bekerja hampir tiga tahun di sana. Akhir-akhir ini Ara sering merenung selepas jam kerja. Yang mengganggu pikirannya adalah kenyataan bahwa dia sudah merasa relatif lama di perusahaannya saat ini, namun dirinya tak merasa banyak berkembang dari segi kapasitas yang dimiliki. Kesibukannya sehari-hari dalam pekerjaan tidak banyak membantunya berkembang. Dia menyebutnya sebagai sebuah rutinitas. Tidak banyak dukungan untuk pengembangan dirinya dari tempatnya bekerja. Ara perlu melakukan sesuatu mengenai hal ini, tapi entah apa. Setidaknya, dia perlu menyampaikan apa yang dipikirkan dan dirasakannya. Bagaimanapun, Ara sudah mencapai suatu kesadaran, setelah sekian lamanya, bahwa dia harus berubah menjadi lebih baik, dan ada sesuatu yang perlu dilakukan untuk perubahan itu.

Itu adalah sebuah cerita fiktif tentang seseorang yang berkarya di pengembangan software dan merefleksikan dirinya. Ara telah melihat perbaikan diri sebagai sebuah kebutuhan. Tidak hanya Ara, perusahaan tempatnya bekerja juga perlu melihat perbaikan sebagai sebuah kebutuhan sehingga dapat menyediakan dukungan yang memadai. Mereka memerlukan Retrospective.

Dalam tulisan ini, saya ingin menyampaikan mengenai ide Retrospective dan semangat yang dibawanya dalam lingkup tim pengembangan (development team). Meskipun konteksnya adalah pengembangan software, ide di balik Retrospective bersifat universal dan dekat dengan kehidupan kita sehari-hari. Ide Retrospective ini dapat diterapkan di konteks lainnya, seperti pengembangan diri, karir, pembelajaran, dan relasi. Anything!

Apa Itu Retrospective?

Retrospective merupakan kesempatan bagi tim untuk merefleksikan apa yang telah terjadi dan membuat rencana perbaikan agar kedepannya dapat menjadi lebih baik lagi. Retrospective merupakan momen bagi tim untuk berbagi pengalaman yang mereka dapatkan selama kerja dan selanjutnya mereka belajar dari pengalaman tersebut.

Mengapa Retrospective Penting

Ada dua manfaat yang membuat Retrospective menjadi begitu penting. Pertama, Retrospective membantu tim untuk belajar dari pengalamannya. Dan yang kedua, Retrospective membantu tim meningkatkan kapasitasnya untuk membangun produk software yang berkualitas.

Retrospective membantu tim untuk belajar dari pengalamannya. Tim mencari apa pelajaran berharga (lesson learned) yang dapat mereka petik dari apa yang telah mereka lakukan. Tim dapat menilai apa saja yang berjalan dengan baik dan mereka ingin menjaga hal baik tersebut tetap hadir. Tim juga dapat menilai apa saja yang berjalan kurang baik dan mereka ingin menghindarinya atau memperbaikinya di masa mendatang. Selain itu, tim juga dapat menambahkan hal baru yang dapat dilakukan sebagai rencana perbaikan (improvement plan) dan juga eksperimen pembelajaran (learning experiment) kedepannya. Sebagai contoh, sebuah tim menemukan bahwa Software Developer perlu dilibatkan secara intens saat proses pembuatan desain aplikasi oleh UI Designer dan Interaction Designer. Keterlibatan Software Developer membuat desain yang dihasilkan divalidasi secara teknis sehingga memungkinkan untuk diimplementasikan dengan pertimbangan teknis (seperti kompleksitas implementasi tampilan dan interaksi) maupun non-teknis (seperti tanggal rilis produk aplikasi).

Retrospective juga dapat membantu tim meningkatkan kapasitas setiap anggota tim dan kualitas kerjasama yang mereka lakukan. Melalui Retrospective, mereka melihat kemampuan mereka sendiri dalam men-deliver produk software seperti keahlian setiap anggota tim dan penerapan praktek terbaik (best practice). Mereka juga menilai bagaimana mereka berkolaborasi sebagai sebuah tim dalam mengembangkan software. Dari sini, mereka merencanakan untuk memperbaiki diri menuju ke tingkat keahlian yang lebih baik dari sebelumnya dan menuju ke kolaborasi yang lebih efektif dan efisien. Misalnya, sebuah tim melihat pentingnya Automated Unit Testing sebagai salah satu best practice untuk meningkatkan kualitas aplikasi dengan meminimalkan defects yang muncul setelah rilis produk aplikasi. Bagaimanapun, tidak ada satu pun anggota tim yang berpengalaman mengimplementasikan unit testing. Oleh karenanya, tim memutuskan meluangkan waktu untuk mempelajari dan bereksperimen mengenai unit testing. Setelah beberapa waktu, tim berhasil menerapkan unit testing meskipun code coverage-nya baru 5 persen. Tim berupaya untuk meningkatkan code coverage-nya dari waktu ke waktu untuk meningkatkan kualitas produk aplikasi yang mereka hasilkan melalui unit testing.

Apa jadinya sebuah tim tanpa momen Retrospective?

Tanpa adanya Retrospective, tim cenderung terjebak dalam keadaan yang sama dalam waktu yang relatif lama (mediocrity). Hal ini akan menyebabkan tim tidak berkembang dari segi kapasitas maupun kualitas produk yang mereka hasilkan. Retrospective memberikan waktu bagi tim untuk merenungkan hal apa yang perlu dipelajari untuk mengembangkan kapasitas mereka dan meningkatkan kualitas produk. Sebagai contoh, tanpa adanya Retrospective, keinginan untuk menerapkan unit testing hanyalah sebatas angan-angan tanpa ada tindakan lebih lanjut. Tim tidak pernah berdiskusi merencanakan apa yang penting bagi mereka, menyusun prioritas rencana perbaikan, dan berusaha menerapkan rencana perbaikan tersebut. Sedihnya, kemampuan tim hari ini relatif tidak berbeda jauh dengan bulan lalu, atau bahkan tahun lalu.

Saat Retrospective tidak hadir, tim tidak benar-benar mengetahui apa-apa yang baik dan yang kurang baik dan bagaimana mereka merespon terhadap hal-hal tersebut. Beberapa pelajaran berharga sepanjang kerja seperti pelajaran dari kesalahan (lesson from mistakes) berlalu begitu saja, berada tersebar di dalam pikirin masing-masing anggota tim. Akibatnya, tim cenderung akan mengulangi kesalahan yang sama berulang kali. Masalah akan tetap menjadi masalah ke depannya tanpa ada tindakan perbaikan yang konkrit. Hal-hal yang baik terlewat dan kemungkinan tidak dijaga untuk dilakukan kembali ke depannya.

Berbagi dan Belajar melalui Sprint Retrospective

Retrospective adalah saatnya bagi tim untuk berbagi dan belajar. Ini adalah momen berharga untuk belajar dari hal-hal yang terjadi ke belakang, dan berbagi apa yang mereka pikirkan, bahkan berbagi apa yang mereka rasakan, untuk membuat mereka menjadi lebih baik sebagai sebuah tim. Setiap anggota tim pun dapat mengungkapkan isu apapun yang mereka anggap penting. Beberapa hal yang mungkin kita dapatkan di Retrospective adalah sebagai berikut.

  • Developer bercerita bahwa peer review yang dilakukan membantu mereka menulis kode lebih baik. Oleh karenanya, tim akan tetap melanjutkan peer review sebagai practice yang tetap dijaga kedepannya
  • Developer menyatakan bahwa lingkungan kerja di kantor mulai tidak kondusif dan membuat mereka tidak fokus bekerja
  • Designer mengungkapkan bahwa desain menyeluruh di awal proyek itu melelahkan dan membuat mereka harus lembur berhari-hari. Selain itu, mereka merasa desain yang mereka hasilkan kurang optimal

Melalui Retrospective, setiap anggota tim dapat mengemukakan pendapatnya secara personal, memberikan saran dan usulan, mengungkapkan isu, hingga mengekspresikan perasaannya. Setiap anggota tim kemudian belajar memahami sudut pandang rekan setimnya (yang mungkin saja berbeda dari dirinya) dan memahami hal apa yang membuatnya sedih, marah, atau senang.

— -

Jika ada momen refleksi dan perbaikan bagi tim, itu adalah Retrospective. Retrospective merupakan hal yang esensial bagi sebuah tim karena ini adalah kesempatan untuk memperbaiki diri dan cara mereka bekerja dan berinteraksi. Manfaatnya begitu besar sehingga sayang untuk dilewatkan begitu saja. Retrospective memberikan rasa bahwa tim berproses menjadi lebih baik dari waktu ke waktu.

Mari menjadi lebih baik!