Knowing Agile Development Methodologies: Kanban
Pada saat ini, Agile metodologi lebih sering digunakan dalam Software Development dibandingkan dengan Waterfall metodologi. Agile metodologi memiliki beberapa keunggulan dibandingkan dengan Waterfall metodologi yaitu:
- Lebih banyak berinteraksi dengan
- Ruang untuk perubahan.
- Release yang cepat.
- Transparan
- Fokus kepada user
- Fokus kepada Business Value.
- Meningkatkan kualitas
Dalam penerapan Agile metodologi perusahaan biasanya menggunakan 2 Agile Frameworks yang popular yaitu Scrum dan Kanban. Artikel ini akan menjelaskan bagaimana Kanban Frameworks di implementasikan dalam perusahaan, dan bagaimana Kanban membantu perusahaan.
Kanban merupakan suatu metode untuk menvisualisasikan proses perkerjaan yang dilakukan saat kita sedang mengembangkan suatu Software. Team member dapat Menarik/Pull tugas yang harus diselsaikan dan bukan mendorong atau didorong oleh suatu tugas. Dengan menggunakan metode ini, kita dapat menjaga keseimbangan antara perkerjaan team member yang satu, dengan team member yang lainya. Metode ini juga dapat melacak Bottleneck dalam pengembangan aplikasi. Untuk mengetahu lebih lanjut tentang Kanban pertama kita harus mengerti tentang proses Agile development berkerja.
Agile Development hampir sama dengan metodologi pengembangan sistem lainya, yaitu Stakeholders dan manajer berunding dan membuat suatu dokumen yang menyatakan Requirement, Keinginan, dan Ekspektasi dari suatu produk yang akan dibuat. Requirement, Keinginan dan Ekspektasi ini akan di kumpulkan ke dalam suatu dokumen yang disebut Product Backlog. Setelah itu, Project Manager akan menugaskan Dev Team untuk berkerja membuat produk tersebut dan hasilnya akan diberikan ke User dimana user akan memberikan feedbacks ke project Manager. Perbedaanya adalah, Agile memberikan hasil secara Incremental kepada User setiap 2 atau 3 minggu sekali dan bukan menghasilkan 1 produk langsung secara komplit. Kanban adalah suatu Framework agar Dev Team dapat melaksanakan Agile dengan rapih dan benar.
Secara singkat, proses kerja yang dilakukan Dev Team jika mereka menggunakan Kanban adalah sebagai berikut.
- Memilih Agile Coach yang bertanggung jawab memimpin team agar berkerja dengan etika dan kebiasaan yang benar.
- Menyiapkan Kanban Board dan beberapa Post-It/Sticker atau kertas apapun yang dapat ditempelkan ke Kanban Board.
- Dev Team dan Agile Coach membuat segmentasi di Kanban Board, biasanya berbentuk seperi berikut:
- Dev Team dan Agile Coach menuliskan tugas – tugas apa yang harus diselesaikan dan limit tugas yang dapat dikerjakan di setiap segmentasi.
- Dev Team berkerja dan setiap perkerjaan selesai, Post-It yang merepresentasikan tugas tersebut dipindahkan ke segment selanjutnya, jika tugas di “TO-DO” mulai sedikit, maka Dev Team akan menarik tugas dari Product Backlog. Setiap pagi, Dev Team akan melakukan Daily Stand-Up untuk membicarakan progress.
- Jika tugas yang di “DONE” sudah cukup, maka Dev Team akan mempaketkan produk tersebut, melakukan Demo di depan Stakeholders, dan me-release product tersebut.
- Setelah product di release di minggu tersebut, Dev Team dan Stakeholders melakukan Retrospection untuk membicarakan kinerja dari minggu-minggu tersebut.
- Lalu kegiatan tersebut akan dilakukan berulang-ulang sampai produk benar-benar selesai.
Dev Team dan Agile Coach dapat melonggarkan beberapa kegiatan dari Kanban (walau hal ini tidak disarankan). Misal, Dev Team menambahkan batas maksimum “CODE” dan “TESTING” menjadi 5 buah. Kanban juga menggunakan peraturan dalam mendefinisikan suatu tugas. Tugas yang didefinisikan biasanya tugas yang hanya memakan waktu 2 hari untuk dikerjakan, jika tugas tersebut melebihi dari 2 hari maka tugas tersebut harus di bagi menajdi 2 dan seterusnya. Maka dengan mengetahui peraturan tersebut, Kanban Board akan berisikan detail seperti ini.
Dengan sistem ini, Agile Coach dapat mengetahui mengapa suatu tugas tidak selesai tepat waktu dan apa yang harus dilakukan untuk menyelesaikanya.
Keuntungan dari menggunakan Kanban Board adalah sebagai berikut:
- Flexibel : Dengan memvisualisasikan perkerjaan yang dilakukan, kita dapat mengetahui bottleneck dan kesalahan yang dapat dengan mudah diubah.
- Memperlihatkan WIP : Dengan mengetahui WIP (Work In Progress) team dapat menentukan kapan dan seberapa cepat suatu tugas harus diselesaikan.
- Memudahkan dalam menjaga flow perkerjaan : Dengan sistem ini Agile Coach dapat menjaga agar setiap tugas dapat diselesaikan dan release produk berjalan lancar.
- Mempromosi kebersamaan : Dengan menggunakan Kanban, tim harus belajar memiliki kebiasaan yang baik dan pola kerja yang baik seperti saat ada masalah, masalah tersebut harus diselesaikan secara cepat hari itu juga dengan tatap muka.