Kanban adalah istilah Jepang yang berarti papan nama atau papan reklame. Seorang insinyur industri bernama Taiichi Ohno mengembangkan Kanban di Toyota Motor Corporation untuk meningkatkan efisiensi manufaktur.
Meskipun Kanban dibuat untuk manufaktur, pengembangan perangkat lunak berbagi banyak tujuan yang sama, seperti meningkatkan alur dan throughput. Tim pengembangan perangkat lunak dapat meningkatkan efisiensi mereka dan memberikan nilai kepada pengguna lebih cepat dengan menggunakan prinsip dan metode panduan Kanban.
Prinsip Kanban
Mengadopsi Kanban memerlukan kepatuhan terhadap beberapa praktik mendasar yang mungkin berbeda dari metode tim sebelumnya.
Memvisualisasikan pekerjaan
Memahami status tim pengembangan dan kemajuan kerja bisa menjadi tantangan. Kemajuan kerja dan status saat ini lebih mudah dipahami ketika disajikan secara visual daripada sebagai daftar item kerja atau dokumen.
Visualisasi pekerjaan adalah prinsip utama yang terutama ditangani Kanban melalui papan Kanban. Papan-papan ini menggunakan kartu yang diatur oleh kemajuan untuk mengomunikasikan status keseluruhan. Memvisualisasikan pekerjaan sebagai kartu di berbagai status di papan membantu dengan mudah melihat gambaran besar di mana proyek saat ini berdiri, serta mengidentifikasi potensi hambatan yang dapat memengaruhi produktivitas.
Menggunakan model penarikan
Secara historis, pemangku kepentingan meminta fungsionalitas dengan mendorong pekerjaan ke tim pengembangan, seringkali dengan tenggat waktu yang ketat. Kualitas menderita jika tim harus mengambil pintasan untuk memberikan fungsionalitas dalam jangka waktu.
Kanban berfokus pada mempertahankan tingkat kualitas yang disepakati yang harus dipenuhi sebelum mempertimbangkan pekerjaan yang dilakukan. Untuk mendukung model ini, pemangku kepentingan tidak mendorong pekerjaan pada tim yang sudah bekerja pada kapasitas. Sebaliknya, pemangku kepentingan menambahkan permintaan ke backlog yang ditarik tim ke alur kerja mereka saat kapasitas tersedia.
Memberlakukan batas WIP
Tim yang mencoba mengerjakan terlalu banyak hal sekaligus dapat menderita penurunan produktivitas karena peralihan konteks yang sering dan mahal. Tim sibuk, tetapi pekerjaan tidak selesai, mengakibatkan waktu tunggu yang tidak dapat diterima tinggi. Membatasi jumlah item backlog yang dapat dikerjakan tim sekaligus membantu meningkatkan fokus sekaligus mengurangi peralihan konteks. Item yang saat ini sedang dikerjakan tim disebut work in progress (WIP).
Teams memutuskan batas WIP, atau jumlah maksimum item yang dapat mereka kerjakan pada satu waktu. Tim yang disiplin dengan baik memastikan untuk tidak melebihi batas WIP mereka. Jika tim melebihi batas WIP mereka, mereka menyelidiki alasan dan bekerja untuk mengatasi akar penyebabnya.
Mengukur peningkatan berkelanjutan
Untuk mempraktikkan peningkatan berkelanjutan, tim pengembangan memerlukan cara untuk mengukur efektivitas dan throughput. Papan Kanban memberikan tampilan dinamis tentang status pekerjaan dalam alur kerja, sehingga tim dapat bereksperimen dengan proses dan lebih mudah mengevaluasi dampak pada alur kerja. Tim yang merangkul Kanban untuk pengukuran penggunaan peningkatan berkelanjutan seperti waktu tunggu dan waktu siklus.
Papan Kanban
Papan Kanban adalah salah satu alat yang digunakan tim untuk menerapkan praktik Kanban. Papan Kanban dapat menjadi papan fisik atau aplikasi perangkat lunak yang menunjukkan kartu yang disusun ke dalam kolom. Nama kolom umum adalah Tugas, Melakukan, dan Selesai, tetapi tim dapat menyesuaikan nama agar sesuai dengan status alur kerja mereka. Misalnya, tim mungkin lebih suka menggunakan Baru, Pengembangan, Pengujian, UAT, dan Selesai.
Papan Kanban berbasis pengembangan perangkat lunak menampilkan kartu yang sesuai dengan item backlog produk. Kartu menyertakan tautan ke item lain, seperti tugas dan kasus pengujian. Teams dapat menyesuaikan kartu untuk menyertakan informasi yang relevan dengan prosesnya.
Pada papan Kanban, batas WIP berlaku untuk semua kolom yang sedang berlangsung. Batas WIP tidak berlaku untuk kolom pertama dan terakhir, karena kolom tersebut mewakili pekerjaan yang belum dimulai atau selesai. Papan Kanban membantu tim tetap berada dalam batas WIP dengan menarik perhatian pada kolom yang melebihi batas. Teams kemudian dapat menentukan tindakan untuk menghapus hambatan.
Diagram aliran kumulatif
Tambahan umum untuk papan Kanban berbasis pengembangan perangkat lunak adalah bagan yang disebut diagram alur kumulatif (CFD). CFD mengilustrasikan jumlah item di setiap status dari waktu ke waktu, biasanya selama beberapa minggu. Sumbu horizontal memperlihatkan garis waktu, sementara sumbu vertikal memperlihatkan jumlah item backlog produk. Area berwarna menunjukkan status atau kolom tempat kartu saat ini berada.
CFD sangat berguna untuk mengidentifikasi tren dari waktu ke waktu, termasuk hambatan dan gangguan lainnya untuk memajukan kecepatan. CFD yang baik menunjukkan tren kenaikan yang konsisten saat tim mengerjakan proyek. Area berwarna di seluruh bagan harus kira-kira paralel jika tim bekerja dalam batas WIP mereka.
Sebuah bulge di satu atau beberapa area berwarna biasanya menunjukkan hambatan atau hambatan dalam aliran tim. Dalam CFD berikut, pekerjaan yang selesai berwarna hijau datar, sementara status pengujian berwarna biru tumbuh, mungkin karena hambatan.
Kanban dan Scrum dalam pengembangan Agile
Meskipun secara luas pas di bawah payung pengembangan Agile , Scrum dan Kanban cukup berbeda.
Scrum berfokus pada sprint panjang tetap, sementara Kanban adalah model alur berkelanjutan.
Scrum telah mendefinisikan peran, sementara Kanban tidak menentukan peran tim apa pun.
Scrum menggunakan kecepatan sebagai metrik utama, sementara Kanban menggunakan waktu siklus.
Tim umumnya mengadopsi aspek Scrum dan Kanban untuk membantu mereka bekerja paling efektif. Terlepas dari karakteristik mana yang mereka pilih, tim selalu dapat meninjau dan beradaptasi sampai mereka menemukan yang paling cocok. Teams harus mulai sederhana dan tidak kehilangan pandangan tentang pentingnya memberikan nilai secara teratur kepada pengguna.
Belajar bersama tim web Space Game tentang cara menggunakan Azure Boards untuk mengimplementasikan praktik perangkat lunak Agile beserta transparansi dan kolaborasi DevOps.
Sertifikasi ini mengukur kemampuan Anda untuk menyelesaikan tugas teknis berikut: Merancang dan mengimplementasikan proses dan komunikasi, merancang dan menerapkan strategi kontrol sumber, merancang dan mengimplementasikan alur build dan rilis, mengembangkan rencana keamanan dan kepatuhan, dan menerapkan strategi instrumentasi.