Bagaimana menangani perencanaan sprint yang berjalan terlalu lama?

14

Saya membutuhkan waktu lebih dari 5 jam dalam perencanaan sprint selama sprint selama seminggu. Sepertinya terlalu banyak.

Kami membahas berbagai hal secara terperinci dalam perencanaan sprint, karena sebagian besar anggota tim tidak senior. Jika tidak, itu akan menyebabkan kesalahan selama implementasi dan mendesain ulang selama sprint.

Bagaimana kita menangani ini?

Seberapa banyak detail yang harus saya diskusikan selama perencanaan agar sesuai dengan sprint hanya 2 jam per minggu?

b.ben
sumber
2
Apa sebenarnya yang Anda lakukan dalam Perencanaan Sprint? Apakah Anda memecah cerita, memperbaiki persyaratan, melakukan desain, memperkirakan?
Liath
1
Terima kasih saya lupa memberi tahu. Kami menghabiskan sebagian besar waktu melakukan desain.
b.ben
1
Apakah Anda melakukan backlog grooming di rapat terpisah? Kami biasanya mengatur tunggakan timebox hingga 1 jam per sprint dan perencanaan sprint hingga 1 jam per sprint. Itu telah bekerja dengan baik untuk sprint 2 minggu kami.
Berin Loritsch
4
@ b.ben tetapi "desain" bukan bagian dari perencanaan sprint.
Thomas Junk
2
eh tunggu, mengapa Anda berbicara tentang implementasi selama perencanaan sprint? Perencanaan sprint adalah tentang apa yang tidak bagaimana .
candied_orange

Jawaban:

20

Anda benar - 5 jam dalam Perencanaan Sprint selama 1 minggu Sprint sepertinya lama sekali. Scrum Guide time-box Perencanaan Sprint hingga 8 jam untuk Sprint 1 bulan dan mengatakan bahwa "untuk Sprint yang lebih pendek, acara biasanya lebih pendek". Jika Anda mempertimbangkan rasio, target yang baik mungkin 2 jam dari Perencanaan Sprint untuk Sprint 1 minggu, tetapi tidak ada kotak waktu tetap.

Jadi, bagaimana Anda bisa menangani Perencanaan Sprint yang panjang?

Sebagai Scrum Master, saya akan mengambil langkah-langkah berikut:

Pertama, saya akan bekerja dengan Pemilik Produk untuk memastikan bahwa Product Backlog dipesan dengan benar. Sangatlah penting untuk Penyempurnaan Backlog yang efektif dan Perencanaan Sprint untuk memastikan bahwa pekerjaan yang paling penting dan ketergantungan mereka berada di bagian atas Product Backlog sehingga cara Tim Scrum dapat memfokuskan energi mereka pada mendefinisikan, menyempurnakan, dan mempersiapkan pekerjaan yang tepat.

Kedua, saya akan memastikan bahwa tim menghabiskan waktu yang cukup untuk Backlog Refinement. Panduan Scrum menunjukkan bahwa kegiatan perbaikan biasanya memakan waktu tidak lebih dari 10% dari kapasitas Tim Pengembangan. Sebagai contoh, Tim Pengembangan 4 bekerja standar 40 jam seminggu harus merencanakan sekitar 16 jam Penyempurnaan Backlog. Ini dapat dilakukan secara individu, dalam kelompok kecil, atau sebagai tim. Saya telah menemukan bahwa memiliki sesi Backlog Refinement yang direncanakan untuk tim dan kemudian memulai untuk melakukan penelitian atau investigasi atau perencanaan cenderung bekerja dengan baik.

Ketiga, pastikan bahwa tim menyadari bahwa mereka tidak perlu mendapatkan setiap detail dengan benar dalam Perencanaan Sprint. Tujuan Perencanaan Sprint adalah untuk menghasilkan rencana untuk menyelesaikan Sprint Goals. Jangan mencoba melakukan desain besar di depan pada sesi Perencanaan Sprint. Memahami bagaimana perbedaan pekerjaan, ketergantungan, dan tujuan serta menggunakan waktu di luar sesi Perencanaan Sprint dengan orang yang tepat untuk melakukan desain, implementasi, dan pengujian yang diperlukan untuk menyelesaikan pekerjaan.

Langkah-langkah lainnya mungkin akan gagal, tetapi ini akan menjadi titik awal yang baik.

Thomas Owens
sumber
3
Pada dasarnya tim masih akan menghabiskan jumlah jam yang sama dalam rapat. Kami hanya menyebutnya pertemuan yang berbeda. :) Dibutuhkan apa yang diperlukan untuk memecah hal-hal yang cukup bagi tim untuk merasa nyaman memperkirakan pekerjaan, dan menjadi mandiri ketika tiba saatnya untuk melakukan pekerjaan.
Greg Burghardt
5
@GregBurghardt: OP menulis bahwa mereka menghabiskan sebagian besar waktu untuk mendesain. Jadi seluruh tim bekerja pada desain setiap cerita. Jika Anda memecahnya sehingga hanya sebagian dari tim yang mengerjakan masing-masing cerita, Anda mengurangi keseluruhan waktu yang dihabiskan dalam rapat.
Michael Borgwardt
Re: "pastikan bahwa tim menyadari bahwa mereka tidak perlu mendapatkan setiap detail dengan benar dalam Perencanaan Sprint": Dan, yang lebih penting, pastikan bahwa itu benar bahwa mereka tidak perlu mendapatkan setiap detail dengan benar di sprint panning .
ruakh
@GregBurghardt. Mungkin. Tetapi ada perbedaan antara seluruh tim berada di ruangan selama 5 jam dan kombinasi yang berbeda dari orang yang tidak melakukan pekerjaan desain selama 3 jam setelah sesi perencanaan 2 jam.
Thomas Owens
5

Aku mendengarmu. Itu terlalu lama untuk dihabiskan! Semoga tim Anda membahas hal ini dalam retrospektif Anda. Kami mencoba beberapa percobaan dengan hasil beragam:

  1. Setiap orang melakukan desain tingkat tinggi pada satu tiket dan melewatinya ke kiri atau kanan di sekitar meja untuk direvisi diikuti dengan tinjauan kelompok terhadap rencana untuk setiap tiket. Tidak semua orang menyukai ini, tetapi itu memang memaksa junior kami untuk mencobanya. Beberapa individu dalam tim cukup senang membiarkan orang lain berpikir dan mereka hanya mengikuti instruksi. Jadi, di sisi positifnya, percobaan kami memaksa semua orang untuk menghadapi kesenjangan pengetahuan mereka, itu memberikan tantangan pertumbuhan bagi junior. Di sisi negatif, tidak semua orang suka ditempatkan di tempat dan itu tidak selalu mengurangi waktu dalam rapat. Lanjut!

  2. Desain berpasangan dicoba. Kelompok dua atau tiga akan memecah tiket menjadi tugas. Seluruh tim akan meninjau rencana yang dihasilkan. Itu berjalan jauh lebih cepat, tetapi beberapa mini-pod memiliki masalah yang sama dari satu orang naik sementara yang lain melakukan pekerjaan pada desain.

  3. Lewati uraian tugas. Kami memutuskan bahwa poin cerita kami rata-rata, jadi kami hanya membuang-buang waktu untuk melibatkan seluruh tim dalam segala hal. Hasilnya, kami mengadakan pertemuan perencanaan yang jauh lebih pendek, tetapi pekerjaan desain adalah sesuatu yang harus dilakukan pasangan kami untuk diri mereka sendiri ketika mereka memulai tiket. Jika junior sedang mengerjakan tiket, berharap bahwa mereka akan membutuhkan bantuan untuk melewati langkah ini. Jika Anda mencoba ini, terima lebih sedikit cerita dalam sprint hingga Anda merasa nyaman dengannya. Juga, pastikan itu "aman" untuk rekan tim Anda untuk meminta bantuan ketika mereka tidak tahu sesuatu.

Pada akhirnya, itu jatuh ke kematangan tim. Orang-orang perlu memahami kemampuan dan preferensi masing-masing dan memiliki keyakinan bahwa rekan satu tim akan meminta masukan ketika mereka membutuhkannya. Perbaiki yang pertama, jika Anda tidak memilikinya. Maka memecahkan masalah pertemuan yang tidak efisien menjadi lebih mudah.

Jason Zinschlag
sumber
4
Opsi # 3 menghasilkan tim yang bergantung pada satu orang, atau sekelompok kecil orang. Jika orang itu atau orang-orang tidak ada, kecepatan tim turun ke toilet. Saya biasa melakukan itu dengan tim kami, dan setiap kali orang itu pergi liburan kekacauan terjadi. Tidak ada yang dilakukan. Kemudian pemimpin tim menghabiskan 3 minggu mencoba menenangkan manajemen proyek. Jika Anda bekerja di tim dengan junior atau non ahli, saya pasti tidak akan merekomendasikan # 3. Jika Anda memiliki semua pakar (dan mereka sebenarnya ahli) # 3 bisa menjadi penghemat waktu.
Greg Burghardt
Jika orang itu hanya melakukan tugas mendesain untuk semua orang, tentu saja, saya setuju. Tetapi bagaimana jika orang itu membantu orang menjadi lebih baik dalam melakukannya sendiri?
Jason Zinschlag
2
Sudah pengalaman saya bahwa mereka tidak menjadi lebih baik dengan seseorang membimbing mereka melalui hal-hal. Itu berubah menjadi orang-orang yang berpengalaman melakukannya untuk orang yang kurang berpengalaman, karena orang yang kurang berpengalaman menerima pesanan besar lebih lama. Kami lebih beruntung dengan duduk semua orang di ruangan dan melakukan tugas dev. Bahkan melalui kode - tetapi tidak selama perencanaan sprint. Kami menyebutnya "menulis tugas dev" karena itulah yang dibutuhkan tim kami. Kemudian mereka mulai menjadi mandiri, dan mereka mulai menjadi lebih baik dan lebih cepat dalam menulis tugas dev.
Greg Burghardt
Senang tim Anda menemukan jalan. Apakah Anda pikir rekan setim Anda yang berpengalaman mengambil jalan keluar yang mudah? Mengajar orang itu sakit kepala, saya tahu. Tapi itu membayar dividen besar. Kebanyakan orang tidak memiliki kesabaran untuk itu, dan saya melihat persis apa yang Anda gambarkan - orang yang berpengalaman dapat dengan mudah kehilangan kesabaran dengan proses dan "melakukannya sendiri". Ditambah lagi junior harus menjadi pembelajar yang baik.
Jason Zinschlag
@GregBurghardt Saya kira kita telah melakukan sesuatu seperti "menulis tugas dev" selama perencanaan sprint. Dan saya tidak yakin apakah itu ok?
b.ben
3

Saya suka jawaban yang Anda terima dari @ Thomas-Owens tetapi saya juga akan menambahkan satu item lagi. Sudahkah Anda mempertimbangkan melakukan pemrograman berpasangan sebagai bagian dari implementasi Agile Anda?

Pemrograman pasangan akan membantu dengan (1) mengajar beberapa programmer junior Anda bagaimana menulis kode yang lebih baik dan (2) dalam pemrograman pasangan, Anda tidak harus selalu memiliki setiap fitur desain yang ditata untuk Anda dalam perencanaan sprint. Dengan pasangan bekerja bersama, beberapa keputusan desain itu dapat dibuat "secara spontan" dengan manfaat pemrograman pasangan yang ditambahkan.

Jika Anda dapat membantu programmer junior Anda belajar lebih cepat dan Anda tahu bahwa item desain yang Anda tidak alamat dalam Perencanaan Sprint akan diputuskan oleh dua orang, tidak ada alasan mengapa Anda tidak akan dapat mengurangi waktu yang Anda habiskan di Perencanaan Sprint masa depan

Coder Tidak Dikenal
sumber
Ya, itulah yang saya inginkan. Tetapi tim kami tidak memiliki cukup senior untuk melakukan itu. Saya datang dengan ide yang akan memungkinkan semua anggota tim menulis abstraksi dan antarmuka mereka sendiri, sebelum mulai menerapkan biarkan membuat pertemuan untuk menyetujui antara semua pengembang. Bagaimana menurut anda?
b.ben
1
@ b.ben Tapi tim Anda tidak akan memiliki cukup senior sampai Anda melakukan ini. Itu bagian dari kekuatan pemrograman pasangan. Anda harus berkomitmen untuk ini.
Coder Tidak Dikenal
1

Saya bukan penggemar scrum dan hanya memiliki sekitar satu tahun pengalaman praktis. Jadi, yang berikut harus dibaca dengan sebutir garam.

Saya melihat beberapa bendera merah dalam apa yang Anda tulis:

Perencanaan sprint 5 jam

Ini terlalu lama untuk sprint satu minggu.

Tujuan dari perencanaan sprint adalah AFAIR untuk

  • memungkinkan tim mengetahui apa prioritas saat ini dan
  • untuk mengembangkan rencana pertempuran untuk sprint yang akan datang.

Untuk melakukan ini secara efektif, setiap pihak harus memahami Product Backlog items.

Untuk memahami Product Backlog itemsjaminan simpanan harus dalam kondisi yang baik.

Dalam fase perencanaan konkret, Product Backlog itemsditransformasikan menjadi Sprint Backlog items.

Salah satu kemungkinan penyebabnya adalah, bahwa barang-barang ini tidak diklarifikasi / cukup halus.

Penyebab lain yang mungkin adalah, bahwa barang-barangnya terlalu rumit dan meninggalkan ruang untuk interpretasi yang terlalu banyak.

Diskusikan dengan sangat terperinci dalam perencanaan sprint

Seperti dikatakan di atas, fase diskusi akan lebih pendek, ketika item lebih konkret.

Di sisi lain: Perencanaan Sprint mengharapkan perilaku profesional dari setiap peserta. Ini termasuk menghindari diskusi bikeshedding .

Mungkin segalanya jelas, tetapi seseorang memulai diskusi bikeshedding .

Lebih lanjut: Hindari diskusi tentang detail implementasi . Meskipun setiap ide berakhir dengan kode pada suatu titik waktu, itu bukan titik perencanaan sprint yang membahas, apakah array sederhana akan melakukan trik, atau akan lebih baik menggunakan daftar tertaut.

Karena sebagian besar anggota tim tidak senior

Dalam scrum tidak ada perbedaan antara senior dan junior . Keduanya hanya pengembang. Dan ini adalah titik awal yang baik, yang membantu Anda menjaga diskusi Anda terfokus pada solusi yang layak didukung oleh argumen yang lebih baik dan bukan gaji.

Kesalahan implementasi dan desain ulang selama sprint

Tampaknya ada masalah mendasar dalam pengumpulan persyaratan, diikuti oleh jaminan simpanan produk yang sangat samar.

Seperti yang saya katakan di atas: Selama Product Backlogini dalam kondisi yang baik, seharusnya sulit untuk melewatkan intinya.

Saya tidak bisa membayangkan situasi seperti:

»Sebagai pengguna, saya ingin melihat beberapa pelanggan!«

»Oh, maksud Anda bukan setiap 2 juta pelanggan kami?«

OTOH: Apa artinya dalam mendesain ulang konteks ini ? Jika pengembang memilih algoritma berkinerja lambat , maka ada tujuan berikutnya yang jelas: pilih yang berkinerja lebih baik. Tapi itu bukan "desain ulang", ini adalah optimasi.


Untuk pertanyaan utama Anda:

Bagaimana cara menghadapinya?

Sepele untuk disebutkan, tetapi saya tetap melakukannya: Jangan lupa, bahwa Anda berurusan dengan manusia .

Sangat sulit untuk memiliki sekelompok pikiran yang berbeda, yang mampu berbagi konsep umum (seperti dalam Rashomon ). Agar dapat menangani hal ini secara efektif, gunakan sebanyak mungkin redundansi dalam komunikasi Anda: mis. Jelaskan konteks item yang luas, bahkan jika setiap orang "harus tahu" apa yang harus dilakukan. Ajukan pertanyaan, apakah semua orang mendapatkan topik topik yang diberikan.

Jika Anda bermain poker perencanaan indikator yang baik, apakah pemahamannya cukup baik, adalah, bahwa tugas dinilai rendah. Rendah berarti rendah kompleksitas berarti mudah dimengerti dan sulit untuk dilewatkan.

Salah satu efek samping dari iterasi adalah, bahwa angka-angka untuk tugas-tugas tertentu akan naik (karena tim memiliki pemahaman tentang kemampuannya dan kompleksitas tersembunyi). Lalu ada peluang untuk memecah item menjadi beberapa item yang kurang kompleks dengan kompleksitas lebih rendah.

Berapa banyak detail yang harus saya diskusikan selama perencanaan agar sesuai dengan 2 jam per minggu?

Jawaban Salomonik: Sedapat mungkin dan sebanyak yang diperlukan, tetapi tidak lebih.

tl; dr

  • Pilih bahasa yang mudah (jika itu membantu, gunakan bahasa Inggris sederhana atau ELI5) untuk menghindari kesalahpahaman

  • Tingkatkan pengumpulan persyaratan

  • Tingkatkan Backlog

  • Tingkatkan kepercayaan anggota tim dalam kemampuan individu mereka dan juga kemampuan mereka sebagai tim

  • Hindari bikeshedding

  • Tingkatkan disiplin pribadi

  • Mungkin menggunakan kotak waktu tetap untuk setiap item untuk membahas

  • Perkuat posisi scrum mastermoderat hingga efektif.

Thomas Junk
sumber
-2

Kami telah berhasil mengurangi waktu rapat perencanaan dengan melakukan perawatan total tiga jam dalam sprint 2 minggu. Kami membagi perawatan menjadi empat sesi. kami melakukan perawatan minimal 30 menit di hari Senin dan 1 jam perawatan di hari Rabu setiap minggu. Sprint kami dimulai pada hari Senin dan berakhir pada hari Jumat. Sebagai hasilnya, kami memiliki informasi yang baik dari pertemuan perawatan yang berkontribusi sebagai masukan untuk perencanaan yang membuatnya lebih pendek. Rekor terbaik kami adalah rapat perencanaan dengan panjang 30 menit di salah satu sprint kami. Sebagian besar waktu tidak membutuhkan lebih dari satu jam hingga satu jam dan 30 menit. Ini masih kotak waktu, tetapi perencanaan itu dilakukan sangat awal.

Zain2018
sumber