Bagaimana Anda menangani cerita tergantung dalam scrum?


9

Di perusahaan tempat saya bekerja saat ini, kami memperhatikan bahwa kadang-kadang, beberapa cerita terikat satu sama lain (seperti juga digabungkan). Ini mungkin karena mereka memiliki fitur keseluruhan yang sama, atau bahwa mereka fitur yang berbeda tetapi ada beberapa dari mereka yang harus diselesaikan terlebih dahulu untuk melanjutkan dengan yang berikutnya, dll.

Bagaimana Anda menangani kasus ini, tanpa menghentikan alur kerja iterasi? Apakah kita melakukan sesuatu yang salah?

Jawaban:


7

Ini pertanyaan yang bagus. Teori mengatakan bahwa cerita pengguna harus independen tetapi saya tidak pernah dapat sepenuhnya mencapai itu.

Menurut saya yang paling penting adalah mengkomunikasikan ketergantungan sehingga tim dan pemilik produk sadar akan hal itu. Ini akan memaksa pemilik produk untuk mendefinisikan kembali cerita pengguna sehingga ketergantungan dihapus (misalnya dengan menggabungkan cerita pengguna) atau untuk menentukan prioritas bisnis sesuai sehingga cerita pengguna utama diimplementasikan terlebih dahulu.

Berdasarkan prioritas dan keputusan PO Anda akan mengimplementasikan keduanya dalam sprint yang sama atau yang tergantung akan diimplementasikan kemudian tanpa masalah karena prinsipal sudah dilakukan.

Kasus terburuk adalah jika A bergantung pada B dan B bergantung pada A. Dalam kasus seperti itu, cerita pengguna kemungkinan besar tidak didefinisikan dengan benar dan mungkin harus ditulis ulang menjadi A dan B (sebagian besar independen atau dengan ketergantungan satu arah saja) dan C bergantung pada A dan B.


2

Rencanakan dengan tepat.

Tempatkan mereka di sprint yang sama, dan karena cerita pengguna juga diprioritaskan dalam tumpukan sprint, Anda tidak akan mendapatkan masalah.

Karena tim Anda berpartisipasi dalam hal ini, mereka menyadari ketergantungan, jadi tidak ada yang perlu Anda takuti. Mereka adalah orang dewasa dan jika Anda menjelaskan kepada mereka tentang ketergantungan (biasanya mereka akan menjelaskannya kepada Anda), semuanya akan berjalan lancar.

Di Agile, seperti di Waterfall, Anda hanya dapat melakukan satu hal pada satu waktu. Dan Anda biasanya melakukan A sebelum B jika B membutuhkan A. Itu masuk akal.


1

Ketergantungan mungkin menjadi bau bahwa Anda mengiris cerita Anda secara horizontal alih-alih secara vertikal melalui sistem. Pengembangan untuk fitur tertentu harus melibatkan segalanya mulai dari memodifikasi desain database hingga antarmuka pengguna. Jika Anda menemukan bahwa Anda menghabiskan semua upaya Anda pada cerita pengguna di beberapa tingkat lebih rendah dari struktur sistem, seperti, katakanlah, menulis rutinitas handler untuk pencarian basis data, maka Anda lebih mungkin menciptakan ketergantungan antar cerita. Dan, Anda mungkin salah menulis cerita pengguna Anda.


1
Jadi, bagaimana Anda menangani cerita yang membelah di toko online. Pengguna harus dapat melihat daftar produk. Mereka harus dapat mencari, memfilter, dan mengurutkan produk. Dalam pikiran saya, masing-masing tindakan ini cukup besar untuk menjamin kisahnya sendiri. Tetapi Anda dapat menerapkan jenis produk sebelum Anda memiliki Daftar produk di tempat ....
NSjonas

0

Taruhan terbaik Anda adalah untuk memecah cerita pengguna independen Anda menjadi potongan-potongan kecil yang dapat menjadi se independen mungkin. Mereka harus Anda selesaikan dengan kisah-kisah yang paling tergantung pada yang pertama (seperti yang Anda katakan: yang harus diselesaikan terlebih dahulu untuk melanjutkan yang lain). Buat sesuatu seperti indeks ketergantungan: Jika cerita 3 memiliki jumlah lebih banyak daripada cerita 1, Anda harus menangani story3 terlebih dahulu.

Jika dependensi Anda menyebabkan terlalu banyak penghentian, mungkin ide yang bagus untuk berhenti bekerja sama sekali (ya tepat di tengah sprint Anda saat ini) dan menilai kembali cerita pengguna prioritas Anda dan menanganinya terlebih dahulu

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.