Scrum and Kanban, Agile Teams, dan OKR
| 2/23/2024
Scrum and Kanban
Scrum adalah salah satu framework projek manajemen yang membantu tim untuk mengatur pekerjaan. Dengan framework ini tim bisa mengelola dan bekerja hanya berdasarkan goal tertentu yang meliputi meeting, tools yang digunakan, dan role yang ada untuk menyelesaikan projek dengan lebih efisien. Scrum adalah salah satu cara untuk menyelesaikan sebuah pekerjaan sebagai sebuah tim dalam waktu yang singkat dan berkelanjutan dimana feedback yang muncul pada setiap iterasi akan digunakan sebagai bahan improve.
Scrum memiliki 3 role yaitu product owner, scrum master dan tim development. Role-role tersebut hanya menunjukan tanggung jawab bukan job title sehingga setiap job title bisa menjadi dan mengerjakan tugas role manapun. Product owner bertanggung jawab untuk mengatur tugas-tugas, deadline, dan tujuan yang ingin dicapai berdasarkan kebutuhan dan goals yang lebih luas. Scrum master akan mengatur jalannya scrum dan pembagian tugas berdasarkan tugas dan deadline yang telah diputuskan sebelumnya. Tim Development meliputi semua orang yang akan mengerjakan tugas-tugas yang ada. Sehingga didalamnya tidak hanya engineer tapi termasuk designer, writer, dan lain-lain jika diperlukan.
Sprint adalah kumpulan dari beberapa tugas yang diberikan pada sebuah tim yang akan memiliki jangka waktu pengerjaan yang relatif singkat. Dengan begitu maka tim kita bisa mengerjakan tugas dengan lebih baik dan mudah karena hanya akan mengerjakan tugas-tugas tertentu tanpa harus memikirkan tugas lain.
Scrum meetings adalah ketika semua anggota scrum berkumpul dan berdiskusi tentang planning, progress, mengumpulkan feedback, dan lain-lain. Sprint planning adalah meeting yang digunakan untuk menentukan sprint-sprint yang akan dijalankan nantinya termasuk merumuskan bagaimana nantinya sprint tersebut dapat terselesaikan. Meeting ini akan dilakukan oleh seluruh tim. Daily standup adalah meeting singkat yang dilakukan setiap hari untuk mendiskusikan progres dan hambatan jika ada. Sprint review adalah kegiatan demonstrasi hasil dari pekerjaan yang dilakukan seluruh tim sebelumnya. Sprint retrospective adalah meeting yang dilakukan untuk mereview sprint yang telah dilakukan sehingga dapat dilihat hal-hal yang terjadi selama itu dan dapat menjadi improve untuk kedepannya.
Product Backlog adalah list pekerjaan untuk tim development yang telah disusun berdasarkan prioritas yang didapatkan dari roadmap dan kebutuhan. Backlog refinement adalah proses review, perankingan, dan pengeditan backlog.
Agile scrum artifacts adalah informasi yang berisi detail produk yang dikembangkan, kegiatan yang dibutuhkan, serta kegiatan yang telah dijalankan sehingga dapat digunakan untuk mengukur performa dalam sebuah sprint. Scrum metric adalah data-data yang dapat digunakan sebagai acuan yang akan membantu mengarahkan tim sehingga dapat mengimprove efisiensi serta efektifitas.
Kanban adalah salah satu framework yang bisa digunakan untuk mengimplementasikan agile dan DevOps secara bersamaan. Framework ini didesain untuk bisa memvisualisasikan pekerjaan, batas WIP, dan memaksimalkan efisiensi. Kanban menggunakan card, kolom dan improvement yang berkelanjutan yang bisa membantu tim menentukan jumlah tugas yang dapat diselesaikan. Oleh karena itu dibutuhkan komunikasi dan transparansi dalam pengerjaan agar kanban dapat berjalan dengan baik.
Kanban card adalah representasi visual dari sebuah tugas dalam framework kanban. Setiap card akan mewakili sebuah tugas yang akan diletakkan dan dipindah pada sebuah kolom setiap terjadi perubahan.
Kolom dalam kanban merepresentasikan sebuah aktifitas yang dapat dikumpulkan menjadi sebuah workflow. Pada kolom-kolom inilah card akan diletakkan dan dipindahkan. Umumnya pada kanban akan ada beberapa kolom dalam sebuah workflow misalnya kolom To-Do, In Progress, Complete, dan lain-lain.
WIP limits adalah jumlah maksimal card yang diletakkan pada sebuah kolom pada 1 waktu. Dengan begitu jika jumlah card pada sebuah kolom sudah mencapai limitnya, maka tidak boleh ada card baru yang ditambahkan pada kolom tersebut sehingga tim dapat mengetahui ketika kita mendapatkan terlalu banyak tugas dan akan mempermudah untuk mengidentifikasi hal apa yang menjadikan workflow tidak efisien.
Umumnya tim kanban akan memiliki sebuah backlog yang akan menampung ide-ide yang didapatkan entah dari kostumer maupun dari anggota tim yang suatu saat dapat dikerjakan jika memang perlu. Commitment point adalah ketika sebuah tim mengambil sebuah ide dan mengerjakan projek tersebut. Delivery point adalah akhir dari sebuah workflow tim kanban. Umumnya delivery point baru dihitung ketika sebuah produk atau servis sudah digunakan oleh kostumer.
Sebuah tim biasanya akan berusaha untuk mendapatkan lead time sesedikit mungkin dengan memindahkan card dari commitment point menuju delivery point secepat mungkin karena improvement dari sebuah tim dapat dilihat dari seberapa singkat lead time yang mereka dapatkan. Selain itu ada juga istilah cycle time yang berbeda dengan lead time yang dihitung sejak commitment point, cycle time dihitung dari waktu sebuah pekerjaan mulai dikerjakan. Sehingga dengan begitu maka cycle time akan menggambarkan berapa lama waktu yang dibutuhkan untuk menyelesaikan sebuah pekerjaan.
Perbedaan kanban dan scrum antara lain scrum berbasis sprint yang memiliki jangka waktu yang sudah ditentukan sedangkan kanban lebih mengarah ke proses yang berkelanjutan. Pada scrum role yang akan digunakan pada jalannya pekerjaan ditentukan dengan jelas, sedangkan pada kanban tidak diperlukan role karena semua tim bisa melakukan manajemen kanban. Intinya pada scrum, setiap tugas sudah ditentukan jumlahnya dan deadlinenya sehingga dapat dibilang scrum lebih ketat. Sedangkan kanban lebih fleksibel terhadap jumlah tugas dan waktu pengerjaan.
Dengan begitu maka kanban dapat membantu tim untuk mendapatkan cukup pekerjaan tanpa harus benar-benar dibatasi dengan waktu karena manajemennya yang lebih fleksibel. Sedangkan scrum dapat membantu tim dengan memeberikan roadmap, prioritas pekerjaan, serta memiliki jangka waktu yang pasti sehingga lebih mudah untuk dikelola.
Selain itu ada juga istilah scrumban dimana framework ini menggunakan sprint dan backlog seperti scrum tetapi juga menggunakan WIP limit dan cycle time seperti kanban. Selain itu ada juga kanplan yang juga menggabungkan scrum dan kanban karena ingin tetap menggunakan backlog namun tidak ingin bekerja dalam sprint.
Agile Teams
Agile team adalah kelompok yang berisi anggota dengan skill yang berbeda yang bertujuan untuk menjalankan sebuah projek agile yang meliputi proses developmen, testing dan delivery. Biasanya hanya terdiri dari 5-10 anggota yang dipilih berdasarkan keahlian yang dibutuhan.
Kelebihan agile team adalah meningkatkan kepuasan kostumer degan adanya keberlanjutan dalam sebuah produk atau servis sehingga dapat menumbuhkan relasi dengan para pengguna.
Selain itu akan terjadi peningkatan kualitas karena dalam agile, seluruh kontributor dapat diajak untuk mencari hal yang dapat meningkatkan pertumbuhan.
Lalu dengan agile team kita juga bisa meningkatkan tingkat adaptability karena kita bisa dengan mudah mengelola tim sehingga dapat menghadapi halangan yang muncul dalam waktu yang relatif singkat. Selain itu, tim bisa dengan bebas melakukan penilaian terhadap prioritas selama jalannya pekerjaan sehingga dapat menghasilkan produk atau servis dengan lebih konsisten.
Selain itu kontrol terhadap projek akan lebih baik karena tim bisa mengontrol hasil dari pekerjaan mereka dengan adanya progres yang berkelanjutan, review berkala, serta goal set yang baik.
Lalu dengan agile team kita bisa menurunkan resiko yang mungkin muncul dengan pendekatan progresive. Dengan begitu maka anggota tim dapat mengatur ekspektasi dan metode untuk mencapai hasil yang diinginkan.
Lalu yang terakhir agile team juga bisa meningkatkan kolaborasi dan feedback karena anggota biasanya dapat dengan mudah memberikan feedback, report progres, dan ide.
OKR
OKR atau Objectives and Key Results adalah framework manajemen yang dapat digunakan untuk membuat dan mencapai goals. Berbeda dengan KPI yang digunakan untuk mengukur performa berdasarkan projek dan inisiatif yang telah dijalankan.
KR adalah parameter yang akan digunakan untuk mengukur progres sebuah OKR. KR bisa berbentuk kuantitatif atau kualitatif. KR dapat digunakan dalam KPI karena KPI dapat diukur berdasarkan hasil dari sebuah inisiatif. Jadi jika kita memiliki KR kuantitatif, maka kita bisa menggunakan KPI untuk mendukung hal tersebut selama masih relevan dengan tujuan perusahaan.