Saya pernah mendengar berkerumun disebutkan dalam konteks Agile atau Extreme Programming. Tampaknya menjadi pelengkap pasangan.
Apa itu sebenarnya? Kapan itu harus diterapkan? Bagaimana Anda melakukannya dengan baik?
Saya pernah mendengar berkerumun disebutkan dalam konteks Agile atau Extreme Programming. Tampaknya menjadi pelengkap pasangan.
Apa itu sebenarnya? Kapan itu harus diterapkan? Bagaimana Anda melakukannya dengan baik?
Jawaban:
Idenya adalah bahwa semua orang di tim Anda mengerjakan cerita yang sama pada saat yang sama. Alih-alih setiap orang berfokus pada tugas yang berbeda, semua orang berfokus pada satu tugas pada satu waktu sampai selesai. Kemudian mereka beralih ke hal berikutnya, di mana mereka semua bekerja bersama untuk hal itu.
Ini membantu tim yang berjuang menyelesaikan cerita sebelum sprint berakhir. Seringkali tim menyelesaikan 80% dari semua cerita, tetapi tidak ada yang lengkap. Ini kurang bermanfaat daripada menyelesaikan 80% dari keseluruhan cerita, karena cerita yang belum selesai tidak memiliki nilai bagi pengguna akhir. Lebih mudah menyelesaikan cerita ketika semua orang di tim fokus pada satu cerita pada satu waktu. Inilah motivasi di balik kerumunan.
Ada beberapa kesulitan di sini. Misalnya, QA tidak dapat selalu menguji sesuatu sebelum dibangun (atau bahkan dirancang). Dalam hal ini, Anda harus membuat desain bersama sejak awal, dan kemudian QA dapat menulis (awalnya gagal) tes terhadap desain dan bukan implementasi yang sebenarnya.
Berkerumun hanya merujuk pada fakta bahwa banyak orang bekerja bersama untuk menyelesaikan tugas atau cerita. Dalam pengalaman saya, ini bukanlah sesuatu yang sering Anda lakukan.
Biasanya, setiap anggota tim saya mengerjakan tugas yang berbeda dan / atau cerita yang berbeda. Jika seseorang tertinggal, atau jika ada keinginan untuk menyelesaikan tugas atau cerita lebih awal, orang lain akan berhenti mengerjakan tugas lain dan "berkerumun" untuk menyelesaikan tugas, yang berarti mereka semua bekerja bersama pada satu tugas atau cerita sampai selesai.
Kami baru-baru ini memiliki sejumlah kecil cerita yang merupakan pekerjaan yang cukup membosankan, tidak menarik. Saya memberi tim insentif kecil (pizza) dan tenggat waktu (akhir hari) untuk menyelesaikan pekerjaan, sehingga mereka mengerumuni cerita dan merobohkan setidaknya beberapa hari kerja dalam satu sore. Mereka menyelesaikan pekerjaan dan menyingkir lebih awal, lalu masing-masing anggota tim kembali ke apa pun yang sedang mereka kerjakan. Mereka mendapat makan siang gratis, saya mendapat pekerjaan lebih awal yang bisa berlarut-larut karena sifatnya yang membosankan, dan tim maju dari sprint mereka. Menang-menang-menang.
"Berkerumun" tidak lebih dari istilah mewah untuk "hei, biarkan kami membantu Anda dengan itu".
Berkerumun sebenarnya adalah konsep sentral untuk kelincahan. Itu bukan sesuatu yang dilakukan "ketika ada masalah". Berkerumun, dalam bentuknya yang paling sederhana, berarti bahwa tim bekerja secara kolaboratif pada item (cerita) dan mengerjakannya sampai selesai. Konsep inti adalah "berhenti memulai, dan mulai menyelesaikan". Dengan kata lain, alih-alih setiap pengembang bekerja secara independen pada sebuah cerita, tim berfokus pada serangkaian cerita / tugas yang lebih terbatas bersama-sama dan menyelesaikan setiap item lebih cepat. Anggap saja sebagai perbedaan antara sistem single-threaded, dan multi-threaded. Jika Cerita Pengguna memiliki 10 tugas yang harus dilakukan, dan masing-masing adalah 8 jam, dengan asumsi bahwa tidak ada komplikasi, satu pengembang dapat mengerjakan setiap tugas secara berurutan dan menyelesaikan cerita dalam 80 jam, atau sekitar dua minggu (diberikan sprint 10 hari 8 jam dev per hari). Bagaimana jika dua pengembang membagi tugas dan mengerjakannya secara bersamaan? 80 jam kerja yang sama dapat diselesaikan dengan cara ini dalam satu minggu. Tambahkan sepertiga, dan Anda dapat melihat sekarang mungkin dilakukan dalam 3 hingga 4 hari.
Berkerumun dapat dilakukan dengan beberapa cara:
Tim yang memberikan cerita kepada setiap pengembang cenderung memiliki terlalu banyak "pekerjaan dalam proses" atau WIP, dan sering kali banyak cerita dimulai tetapi tidak dilakukan. Ini adalah POLA ANTI, dan BUKAN praktik terbaik.
Tim yang berkerumun cenderung memiliki lebih sedikit WIP dan menyelesaikan lebih banyak cerita - dan dengan selesai, maksud saya Dikembangkan, Diuji, Disetujui, siap untuk digunakan. Jadi, ini adalah praktik inti dari kelincahan.
Artikel berikut tentang InfoQ menjelaskan satu pendekatan untuk mengerumuni:
Baca artikel untuk penjelasan terperinci.