Apa Kanban?
Kanban adalah kerangka kerja yang sangat populer untuk pengembangan dalam metodologi pengembangan perangkat lunak tangkas. Ini memberikan cara transparan untuk memvisualisasikan tugas dan kapasitas kerja tim. Ini terutama menggunakan papan fisik dan digital untuk memungkinkan anggota tim untuk memvisualisasikan keadaan proyek yang sedang mereka kerjakan.
Kanban berasal dari Toyota pada 1940-an. Arti Kanban dalam bahasa Jepang adalah "billboard". Papan Kanban memiliki kolom dan kartu cerita. Kolom tidak ada apa-apanya, tetapi status alur kerja dan kartu hanyalah demonstrasi dari tugas sebenarnya yang dilakukan anggota tim.
Dalam tutorial Kanban ini, Anda akan belajar:
- Apa Kanban?
- Kapan menggunakan Kanban?
- Kartu Kanban
- Dewan Kanban
- Alur Kerja Kanban
- Empat Prinsip Kanban
- Enam Praktik Inti Kanban
- Sistem Berbasis Tarik
- Waktu Timbal dan Waktu Siklus
- Diagram Alir Kumulatif (CFD)
- Membatasi WIP (Sedang dalam proses)
- Scrum Vs. Kanban
Kapan menggunakan Kanban?
Berikut alasan penggunaan metode pengembangan Kanban:
- Kanban dapat digunakan di semua domain, dan dapat digunakan dengan sangat efektif dalam pengembangan perangkat lunak. Manajemen proyek Kanban membantu meningkatkan efisiensi tim.
- Ini adalah sistem berbasis tarik. Tugas ditarik segera setelah seseorang bebas.
- Kanban harus digunakan kapan saja Anda ingin merilis karya Anda. Ini membutuhkan git branching, tetapi itu bisa dilakukan.
- Kanban harus digunakan saat Anda ingin mengubah prioritas dengan cepat. Untuk itu, yang perlu Anda lakukan adalah meletakkan cerita ini di bagian atas antrean tugas.
- Ini harus digunakan ketika Anda ingin memvisualisasikan pekerjaan Anda, dan Anda ingin melihat kemajuan tugas Anda secara visual.
Kartu Kanban
Sistem Kanban merekomendasikan visualisasi pekerjaan. Ini menyarankan penggunaan papan fisik dan digital.
Kartu Kanban adalah bagian penting di papan Kanban karena mewakili pekerjaan yang sedang dikerjakan tim. Kartu-kartu ini akan memiliki
- Prioritas
- Pemilik
- Tipe
- Batas waktu
Kolom di papan Kanban mewakili tahapan kerja, dan Anda dapat menempatkan batas WIP (Bekerja dalam Proses) di kolom tersebut. Batas WIP berarti jumlah maksimum kartu yang dapat bertahan di kolom itu .
Karena manajemen proyek Kanban menggunakan sistem berbasis tarik, dan ketika pengembang bebas, dia dapat menarik kartu dari kolom agenda ke kolom pengembang.
Dewan Kanban
Kanban Board adalah alat manajemen proyek tangkas yang membantu mengimplementasikan Kanaban untuk mengelola proyek untuk keperluan pribadi dan bisnis. Ini adalah papan fisik atau digital (JIRA) yang dirancang untuk membantu tim memvisualisasikan pekerjaan mereka pada tahapan dan proses yang berbeda. Ini juga membantu merepresentasikan tahapan pekerjaan dengan kolom menggunakan kartu.
Ini memiliki kolom yang mewakili status pekerjaan seperti itu
- Melakukan,
- Dev
- Pengujian
- Selesai.
Masing-masing kolom ini dapat memiliki kartu <= batas WIP. Kartu tersebut mewakili pekerjaan yang sebenarnya.
Anda dapat menggunakan angka positif untuk membatasi pekerjaan yang sedang berlangsung, dan jumlah batas ini dapat ditempatkan di bagian atas kolom di papan Kanban fisik dan digital. Setiap individu dari tim dapat mengelola status kartunya, dan seluruh tim dapat memvisualisasikan alur kerja. Selanjutnya dalam tutorial Kanban ini, kita akan belajar tentang Kanban Workflow.
Alur Kerja Kanban
Kanban Workflow adalah serangkaian langkah yang membantu tim untuk menentukan kebijakan dan prinsip exliplicit di Kanaban. Ini mewakili aturan dan prosedur saat pekerjaan sedang berlangsung di berbagai tahap siklus pengembangan dan pengiriman. Alur kerja Kanban terdiri dari proses langkah demi langkah antara memulai dan pengiriman tugas tertentu.
Prinsip dasar yang diikuti oleh Kanban adalah, "berhenti memulai, mulai menyelesaikan". Dengan bantuan batasan WIP, ini menyelesaikan lebih banyak pekerjaan. Ada alur kerja dan status Kanban yang dapat disesuaikan yang tersedia di alat modern apa pun seperti JIRA.
Di bawah ini adalah status dasar yang diikuti banyak tim perangkat lunak untuk manajemen alur kerja mereka.
Serikat | Memahami tugas |
Melakukan | Tugas tiba di sini untuk pertama kalinya di negara bagian ini. |
Siap untuk analisis | Analisis tugas dan tambahkan persyaratan sepenuhnya. |
Siap untuk pengembangan | Analisis selesai dan pengembangan dapat dimulai. |
Dalam pengembangan | Tugas sedang dikembangkan. |
Siap untuk diuji | Pengembangan selesai, dan sekarang pengujian dapat dimulai. |
Dalam pengujian | Tugas sedang diuji. |
Siap dirilis | Pengujian selesai; pelepasan bisa terjadi. |
Dirilis / Selesai | Dirilis. |
Empat Prinsip Kanban
Di bawah ini adalah empat prinsip inti utama Kanban:
- Mulailah dengan apa yang Anda miliki sekarang : Sistem Kanban menyarankan untuk bekerja secara bertahap dan mulai dengan apa yang Anda miliki saat ini. Karena salah satu praktiknya adalah meningkatkan terus menerus, Anda harus meningkatkan sistem secara bertahap.
- Setuju untuk Mengejar Perubahan Tambahan, Perubahan Evolusioner: Kanban merekomendasikan perubahan bertahap dalam proses, dan Anda tidak boleh membuat perubahan besar dalam proses sekaligus.
- Hormati Proses Saat Ini, Peran & Tanggung Jawab: Sekali lagi, mulailah dengan apa yang Anda miliki sekarang dan ubah proses, peran, dan tanggung jawab secara bertahap.
- Mendorong Tindakan Kepemimpinan di Semua Tingkat : Setiap individu dapat bertindak sebagai pemimpin dan memberikan ide untuk meningkatkan efisiensi sistem Kanban secara keseluruhan. Anda tidak boleh berpikir bahwa ini adalah aktivitas tingkat manajemen, dan bahkan anggota termuda dari tim dapat bertindak sebagai pemimpin.
Enam Praktik Inti Kanban
Berikut adalah enam praktik inti utama Kanban:
- Visualisasikan alur kerja : Prinsip ini menyarankan memiliki papan Kanban (fisik atau digital) untuk memvisualisasikan alur kerja. Setiap individu tim harus melihat kartunya dan kartu anggota tim lainnya. Anda dapat memindahkan kartu Anda di kolom yang berbeda sesuai gambar di atas. Ini membawa banyak transparansi dalam tim dan juga membuatnya lebih mudah untuk menyelesaikan pemblokir
- Batasi pekerjaan yang sedang berjalan : Kanban adalah sistem berbasis tarikan, dan ini meningkatkan efisiensi tim untuk membatasi pekerjaan yang sedang berlangsung dan memiliki tugas yang dapat diselesaikan dalam kerangka waktu yang ditentukan oleh tim. Batas WIP ini berlaku dari awal hingga akhir alur kerja. Anda dapat menerapkan batas di atas kolom menggunakan bilangan bulat positif.
- Fokus pada aliran : Prinsip ini berfokus pada aliran dan gangguan apa pun. Jika ada gangguan atau pemblokir, mereka harus diperbaiki secara permanen.
- Kebijakan Eksplisit : Kebijakan dapat dibuat dalam tim untuk mengurangi pengerjaan ulang dan fokus pada area yang membutuhkan perhatian atau di mana lebih efektif.
- Putaran Umpan Balik : Putaran umpan balik sangat penting di Kanban. Ini tidak hanya di dalam tim tetapi di antara beberapa tim, pelatih, dll. Ini membantu dalam meningkatkan kesehatan sistem Kanban secara keseluruhan.
- Perbaikan Berkelanjutan : Ini adalah prinsip inti dari sistem Kanban. Ini menyatakan bahwa Anda selalu dapat meningkatkan proses, dan itu akan menghasilkan efisiensi yang lebih baik.
Sistem Berbasis Tarik
Kanban adalah metode berbasis tarik di mana tugas-tugas ditarik bukannya didorong. Segera setelah Anda menyelesaikan kartu Anda saat ini, Anda dapat menarik kartu baru dari kolom papan Kanban sebelumnya.
Dengan batasan WIP, Kanban membantu dalam peningkatan Lead Time dan Cycle Time. Harus ada jarak sekecil mungkin antara kedua pengaturan waktu ini. Misalnya, kami memiliki 5 pengembang dan hanya 1 penguji; apa yang akan terjadi dalam kasus ini? Akan selalu ada banyak kartu yang membutuhkan pengujian, dan mereka akan diam dan menunggu.
Untuk mengatasi masalah yang disebutkan di atas dan meningkatkan efisiensi, Kanban mengikuti pendekatan berbasis tarik dengan batasan WIP, di mana akan ada sejumlah kartu yang akan ditarik.
Jadi, penguji akan menarik tugas dari tahap "siap untuk pengujian" ketika dia telah menyelesaikan tugasnya saat ini. Dengan batas WIP di kolom Kanban (tahapan pengembangan), Anda tidak akan memiliki banyak kartu tanpa pengawasan di alur kerja Kanban.
Sistem berbasis tarikan juga membantu dalam menemukan kecepatan yang tepat untuk tim. Dengan kecepatan yang tepat, tim akan tampil lebih baik.
Waktu Timbal dan Waktu Siklus
Dalam metode Kanban, lead time dan cycle time digunakan secara luas, terdapat perbedaan antara keduanya, dan penting untuk dipahami agar tidak terjadi kebingungan.
Waktu Pimpin | Waktu Siklus |
Waktu tunggu diukur sebagai waktu antara kedatangan tugas di alur kerja Anda dan keluarnya tugas dari alur kerja, yang berarti tugas telah dirilis. | Waktu siklus diukur sebagai waktu antara kedatangan tugas dalam status "dalam proses" dan waktu kedatangan tugas dalam keadaan "siap dirilis". |
Di sini juga penting untuk dipahami untuk tidak menyertakan waktu yang dibutuhkan antara siap untuk rilis dan rilis aktual.
Cycle Time = Work in Progress / Throughput
Dalam skenario yang ideal, jarak antara lead time dan cycle time harus minimal, dan Kanban menggunakan diagram alir kumulatif (CFD) untuk mengukur data historis lead dan cycle time.
Diagram Alir Kumulatif (CFD)
CFD adalah bagan yang tersedia di semua alat manajemen alur kerja terkemuka seperti JIRA. Bagan ini mengukur jumlah total kartu kerja / tugas yang memasuki alur kerja dan mengumpulkan kartu / tugas yang sudah selesai dari waktu ke waktu.
Ini membantu Anda memiliki perkiraan waktu tunggu rata-rata dan waktu siklus untuk waktu yang telah ditentukan sebelumnya.
Diagram CFD akan memberi Anda indikator atau area masalah untuk diperbaiki. Ini akan memberi Anda gambaran yang jelas, dan berdasarkan diagram ini. Anda dapat memperbaiki lead time dan waktu siklus tim Anda.
- Lead Time : Ini adalah durasi antara kedatangan kartu baru di alur kerja Anda dan keberangkatan terakhirnya dari alur kerja.
- Waktu Siklus : Ini adalah durasi antara kedatangan kartu dalam status kerja dan saat kartu siap untuk dirilis.
- WIP : Work in progress (WIP) membatasi jumlah maksimum item pekerjaan di berbagai tahapan alur kerja.
- Throughput : Ini adalah kinerja aktual, dan ini memberi tahu jumlah kartu sebenarnya yang dikirimkan dalam jangka waktu tertentu.
Throughput = WIP / Waktu Siklus
Membatasi WIP (Sedang dalam proses)
Dalam metodologi pengembangan Kanban, WIP membatasi jumlah tugas / kartu yang dapat dikerjakan oleh anggota tim atau seluruhnya pada satu waktu.
Batasan WIP memastikan bahwa tim menstabilkan pekerjaan mereka dan meningkatkan sifat prediktif, yang penting dalam sistem berbasis tarikan. Biasanya, keputusan batas WIP diambil oleh tim itu sendiri.
Alasan menyetel Batas WIP:
Berikut adalah alasan untuk menyetel Batas WIP:
- Ini mengalihkan fokus untuk menyelesaikan sesuatu sebagai individu yang berfokus pada satu tugas pada satu waktu.
- Ini membantu tim untuk memahami kapasitas mereka.
- Ini meningkatkan prospek produktivitas dan waktu siklus.
- Ini membantu dalam menghindari tugas yang menumpuk (dalam mode menunggu).
- Ini membantu dalam pergerakan alur kerja dan tugas terus bergerak.
- Ini juga membantu menyelesaikan pemblokir karena individu tidak beralih di antara tugas yang berbeda.
Scrum Vs. Kanban
Berikut adalah perbedaan penting antara Scrum Vs. Kanban
Scrum | Kanban |
Scrum menekankan pada perencanaan . Dimulai dengan perencanaan sprint dan diakhiri dengan sprint retrospektif. Ada banyak pertemuan yang diadakan untuk membantu memastikan bahwa tim selaras dengan langkah, prioritas, dan pembelajaran selanjutnya dari sprint sebelumnya. | Kanban terbuka untuk membuat perubahan saat dalam perjalanan. Ini berarti ada lebih sedikit kekakuan dan banyak hal dapat berubah sering . |
Ini merekomendasikan pengumpulan pengukuran waktu yang dilakukan selama sprint | Kanban merekomendasikan grafik untuk mendapatkan gambaran umum kemajuan tim dari waktu ke waktu. |
Scrum tidak lagi meminta komitmen dari tim. Sebaliknya, ini tentang tujuan dan ramalan sprint. | Kanban mengandalkan penentuan waktu dan prakiraan cuaca . |
Ini menekankan pada perencanaan, dan estimasi memiliki peran yang sangat penting dalam Scrum | Kanban tidak memiliki persyaratan wajib untuk estimasi. |
Setiap individu memiliki peran dan tanggung jawabnya masing-masing. | Tidak ada peran yang ditetapkan begitu fleksibel dalam hal tanggung jawab individu. |
Iterasi / Sprint ditetapkan dalam durasinya. Durasi ini bervariasi dari 2 minggu hingga 1 bulan. | Kanban tidak didasarkan pada durasi . Hal ini diukur berdasarkan waktu Siklus. |
Tim diminta untuk melakukan sejumlah pekerjaan tertentu. | Komitmen tidak perlu itu opsional untuk tim. |
Dalam metode ini, tim lintas fungsi penting karena mereka dapat menangani gangguan apa pun yang dapat menyebabkan kemacetan dalam pengembangan perangkat lunak. | Memiliki tim khusus itu penting. |
Tidak mungkin menambahkan item ke iterasi yang sedang berlangsung. | Item baru dapat dengan mudah ditambahkan jika kapasitas tambahan tersedia. |
Sprint backlog hanya dimiliki oleh satu tim . | Beberapa tim dapat berbagi papan Kanban. |
Hasil kerja ditentukan oleh sprint , di mana serangkaian pekerjaan harus diselesaikan dan siap untuk ditinjau. | Produk dan proses dikirim terus menerus berdasarkan kebutuhan. Jadi proses pengujian dan peninjauan berjalan secara bersamaan. |
Metode pengembangan perangkat lunak scrum berfokus pada backlog . | Metode Kanban sepenuhnya berfokus pada dasbor proses . |
Setiap anggota tim memiliki peran khusus dalam scrum master menentukan jadwal, pemilik produk menetapkan tujuan dan sasaran, dan anggota tim melakukan pekerjaan pengembangan. | Tidak ada peran yang ditentukan sebelumnya untuk sebuah tim. Namun, mungkin masih ada Manajer Proyek; tim didorong untuk berkolaborasi dan bekerja sama. |
Paling baik untuk proyek dengan prioritas yang berubah . | Ideal untuk tim dengan prioritas stabil yang tidak mungkin berubah seiring waktu. |
Mengukur produksi menggunakan kecepatan melalui sprint. | Mengukur produksi menggunakan waktu siklus atau waktu tepat yang diperlukan untuk menyelesaikan satu bagian penuh dari sebuah proyek. |
Scrum membutuhkan perubahan total dari model tradisional ke model Agile Scrum yang akan melaksanakan proyek. | Kanban tidak mengizinkan perubahan drastis dalam proyek tersebut. |
Ini adalah metode yang ideal untuk proyek dengan prioritas yang sangat bervariasi . | Paling cocok untuk tim dengan prioritas stabil . |
Di Scrum, seluruh tim fokus untuk berkolaborasi dan menyelesaikan tugas untuk menyediakan pekerjaan pengembangan yang berkualitas. | Tim bekerja untuk mencapai tujuan dan mengurangi waktu untuk menyelesaikan seluruh proses. Dengan demikian, pengurangan siklus waktu adalah indikator keberhasilan terbesar di sini. |
Scrum menekankan pada jadwalnya ; item baru tidak dapat ditambahkan ke iterasi yang sedang berlangsung. | Kanban pada dasarnya lebih berulang karena tidak memiliki jangka waktu tertentu . Sehingga item baru dapat terus ditambahkan setiap kali tersedia kapasitas tambahan. |
Pekerjaan total dilakukan dalam batch / Sprint . | Seluruh proyek dilakukan pada pergerakan arus item pekerjaan berulir tunggal . |
Scrum master bertindak sebagai pemecah masalah. | Kanban mendorong setiap anggota tim adalah pemimpin dan berbagi tanggung jawab di antara mereka semua. |
Scrum mengatur iterasi yang dibatasi waktu . | Kanban berfokus pada perencanaan durasi yang berbeda untuk iterasi individu. |
Scrum membantu perusahaan menghemat waktu dan uang . | Metode Kanban fokus pada peningkatan berkelanjutan , produktivitas, dan efisiensi. |
Mencapai komunikasi kinerja yang stabil dan konsisten di semua tingkatan. | Anggota tim lebih mungkin untuk mencapai tujuan mereka lebih mudah karena sifat visual dari papan Kanban. |
Proyek diberi kode dan diuji selama tinjauan sprint | Anggota tim lebih mungkin untuk mencapai tujuan mereka lebih mudah karena sifat visual dari papan Kanban. |
Lebih mudah untuk beradaptasi dengan perubahan konstan karena sprint yang singkat dan umpan balik yang teratur. | Ini dirancang untuk output yang teratur dan stabil , perubahan besar dalam permintaan pelanggan dapat membuat Kanban gagal. |
Total biaya proyek ini minimal yang dapat menghasilkan hasil yang lebih cepat dan lebih murah . | Jika suatu tugas tidak diperkirakan dengan benar, total biaya proyek tidak akan pernah akurat . Dalam kasus seperti itu, tugas dapat disebarkan ke beberapa sprint. |
Metodologi ini hanya membutuhkan anggota tim yang berpengalaman . Jadi, jika tim terdiri dari orang-orang yang bukan ahli, proyek tidak bisa selesai tepat waktu. | Tidak ada kerangka waktu khusus yang dialokasikan untuk setiap fase, sehingga anggota tim tidak pernah mengetahui berapa banyak waktu yang dapat mereka ambil di setiap fase. |
Dalam metode Agile Scrum ini, lebih mudah untuk memberikan produk yang berkualitas pada waktu yang telah dijadwalkan. | Ini dirancang untuk output yang teratur dan stabil, perubahan besar dalam permintaan pelanggan dapat membuat Kanban jatuh. |
The rencana proyek tidak akan mengganggu bahkan jika daun anggota tim tim. | Jika salah satu anggota tim keluar selama pengembangan, itu dapat mengganggu pengembangan proyek . |
Rapat harian terkadang membuat anggota tim frustrasi . | Papan Kanban yang kedaluwarsa dapat menyebabkan masalah dalam proses pengembangan. |
Proyek besar dapat dengan mudah dibagi menjadi sprint yang mudah dikelola. |
Ringkasan:
- Definisi Kanban: Kanban didefinisikan sebagai metodologi pengembangan tangkas untuk mengembangkan perangkat lunak, mobil, barang, obat-obatan, sepatu, atau pekerjaan manufaktur lainnya.
- Kanban menggunakan papan Kanban untuk memvisualisasikan pekerjaan. Ini menggunakan kolom sebagai tahapan (to-do, dev, testing, dll.) Dan kartu sebagai item pekerjaan.
- Metodologi Kanban mendukung papan fisik dan digital untuk visualisasi.
- Kanban adalah sistem berbasis tarik, dan kartu ditarik dari tahap sebelumnya ke tahap saat ini oleh anggota tim.
- Metode Kanban menggunakan diagram CFD untuk memahami lead time dan waktu siklus tim. Bagan ini membantu tim untuk memperbaiki jarak antara kedua pengaturan waktu ini dan meningkatkan efisiensi.
- Metodologi pengembangan Kanban, WIP membatasi jumlah tugas / kartu yang dapat dikerjakan oleh satu anggota tim atau seluruhnya dalam satu waktu.
- Batas WIP menggeser fokus untuk menyelesaikan sesuatu saat individu berfokus pada satu tugas pada satu waktu.