Kecepatan tidak naik dari waktu ke waktu, mengapa?
11
Saya telah merencanakan tim saya membakar grafik dan kecepatannya per iterasi. Bagi saya itu terlihat sangat buruk (kecepatan berfluktuasi banyak). Apa yang harus saya cari untuk mendiagnosis akar penyebab perilaku ini?
Kenapa terlihat buruk? Sebagian besar proyek dimulai dengan kesibukan masalah yang mudah dipecahkan dan kemudian macet karena beberapa asumsi awal terbukti salah dan harus diperbaiki untuk menyelesaikan masalah selanjutnya.
Blrfl
1
Tim Anda menghasilkan 1000 poin per sprint?
Bryan Oakley
@BryanOakley Sepertinya lebih dari 100 poin / sprint. Saya mengambil baris teratas untuk menjadi "nilai akumulasi".
Caleb
"Poin" sengaja dibuat sewenang-wenang - bahkan jika itu 1000 poin per sprint, itu mungkin berarti bahwa satu poin mungkin sepuluh menit orang atau sesuatu seperti itu.
Pelaku
1
@KirkBroadhurst Lihatlah dengan seksama. Garis bertanda 'Velocity' pada tombol berwarna hitam pekat dan sesuai dengan garis bawah pada grafik. Baris bertanda 'Acc. Nilai 'dalam kuncinya adalah abu-abu, seperti baris teratas dalam grafik. Anda juga dapat mengetahui dengan inspeksi bahwa garis paling atas kemungkinan total berjalan dari titik-titik data dasar: garis itu datar dalam beberapa minggu ketika garis bawah mendekati nol (sprint 6, 9, 15 ...), memiliki kemiringan konstan ketika intinya adalah datar (sprint 3-6, 10-13), dan tidak pernah berkurang.
Caleb
Jawaban:
20
Sangat normal untuk memiliki fluktuasi pada sepuluh sprint pertama, sementara tim menemukan ritme permainannya. Setelah itu, sangat normal untuk kecepatan berfluktuasi di sekitar rata-rata. Cobalah merencanakan rata-rata berlari dari lima sprint terakhir atau lebih dan Anda akan melihatnya rata. Jika tidak, beberapa hal berikut mungkin menjadi penyebabnya:
Tim berusaha menyesuaikan perkiraan titik cerita mereka berdasarkan kecepatan terbaru mereka, alih-alih menjaga agar titik cerita konstan dan menyesuaikan berapa banyak cerita yang mereka ambil.
Anda tidak memecah cerita cukup kecil.
Terlalu banyak cerita Anda yang ada di granularities yang lebih tinggi. Misalnya, Anda memiliki banyak 20 petunjuk yang enggan Anda ubah menjadi 13 atau 40.
Anda memiliki banyak cerita "mabuk" yang tidak selesai dalam satu sprint.
Untuk cerita "mabuk", apa yang harus Anda lakukan? Terutama jika sprint menjadi "lengkap" untuk setidaknya sebagian dari tim dan kemudian mereka harus menyeret cerita dari sprint beberapa hari sebelum sprint berakhir. Dari apa yang saya diberitahu, "itu rata-rata keluar". Bukankah ini cara berpikir yang benar?
Earlz
Secara pribadi, "itu rata-rata keluar" baik untuk saya, dan tim scrum saya setuju. Tim lain melakukan hal-hal seperti mengecek cerita jadi, menambah pengujian tambahan, memecah cerita menjadi potongan-potongan kecil, atau dogpile pada cerita untuk menghindari mabuk, dan itu benar-benar lebih sesuai dengan "scrum murni."
Karl Bielefeldt
Apakah pernah memiliki hal yang buruk? Misalnya, berkali-kali kita akan melakukan komitmen murni berdasarkan kecepatan. Komit akan mencakup banyak cerita yang sedang berlangsung, dan kemudian kami akan menyeret cerita ke dalam sprint sesuai kebutuhan (dan ini direncanakan dan diharapkan).
Earlz
Ini buruk jika kode Anda tidak dalam keadaan shippable di akhir sprint. Scrum purists menganggap perencanaan untuk menarik cerita ke dalam sprint sebagai hal yang buruk pada prinsipnya, bahkan jika kode Anda dapat dikirim pada akhir sprint. Saya pribadi merasa tidak buruk untuk menyesuaikan proses agar sesuai dengan tim Anda.
Karl Bielefeldt
4
Anda menyalahgunakan kecepatan sebagai indikator kinerja, seolah-olah beberapa poin cerita yang diterima adalah sprint "baik" dan apa pun yang kurang dari itu adalah sprint "buruk".
Velocity (yang merupakan konsep yang sangat keliru) harus digunakan sebagai alat berwawasan ke depan untuk memperkirakan berapa banyak fitur yang dapat dilakukan oleh tim dalam sprint berikutnya, yaitu kecepatan harus digunakan untuk perencanaan kapasitas.
Berikut kutipan penting dari artikel tersebut: "Masalahnya adalah bobot yang diberikan pada kecepatan dan mengubahnya menjadi ukuran produktivitas."
Mungkin ada masalah dalam apa yang tampak sebagai perbedaan signifikan dalam kecepatan Anda. Ini tidak berarti bahwa tim melakukan kesalahan, tetapi efeknya adalah bahwa kapasitas tim untuk sprint masa depan tidak dapat diprediksi dengan baik. Sayangnya, itu bukan pertanyaan yang bisa kami jawab untuk Anda. Anda perlu menggali subjek melalui retrospektif. Apa yang sebenarnya terjadi?
Dalam hal apa pun, ukuran paling kritis hilang dari grafik Anda. Seberapa baik kinerja tim dalam memberikan nilai yang mereka janjikan? Apakah kecepatan berfluktuasi karena mereka melebihi komitmen mereka dalam beberapa sprint tetapi tidak pada yang lain, apakah berfluktuasi karena mereka tidak menyelesaikan cerita, atau apakah berfluktuasi karena komitmen juga berfluktuasi?
Penyebab potensial tambahan: selama sprint kemudian, Anda membayar utang teknis dari sprint sebelumnya.
Misalnya Anda memiliki demo manajemen setelah sprint 3 dan perlu menampilkan skenario happy-day. Untuk membuatnya, Anda melakukan pengkodean tanpa penanganan kesalahan, tanpa dukungan terjemahan, tanpa pengujian unit. Ini adalah keputusan yang valid, Anda hanya perlu menyadari konsekuensinya.
Jadi nanti Anda menambahkan semua hal-hal bagus seperti kerangka penanganan excation, dukungan terjemahan, kerangka kerja unit test dan sebagainya. Pengkodean Anda saat ini dari sprint 3 pertama belum menggunakannya, sehingga perlu diperbarui. Upaya ini memperlambat penciptaan nilai selama sprint selanjutnya.
Untuk pertanyaan Anda, sulit untuk mengatakan mengapa ia berfluktuasi karena mungkin karena kartu cerita, orang-orang dalam tim, atau kemampuan pemilik produk. Jadi, dalam pengalaman saya, kecepatannya akan berfluktuasi karena, misalnya:
Anggota tim Anda mungkin bukan anggota tim yang berdedikasi. Untuk bekerja dan saling memahami, mereka perlu bekerja bersama cukup lama. Jika tim Anda bertukar orang-orang dalam tim dalam / keluar sering, ini membuat dinamis dalam tim dan juga mempengaruhi kecepatan.
Kartu cerita terlalu besar. Jadi, tim tidak dapat menjelaskan secara terperinci sebanyak yang mereka bisa dalam perencanaan / estimasi. Mereka akan menemukan selama sprint bahwa ada sesuatu yang lebih sulit daripada yang mereka pikirkan.
Saya kira Anda melakukan scrum. Dalam scrum, kita harus melakukan perencanaan sprint bagian 1 (Pemilik produk memilih apa yang harus dilakukan) dan perencanaan sprint bagian 2 (Tim memutuskan berapa banyak yang dapat mereka lakukan). Jadi, situasinya mungkin, setelah pemilik produk memilih kartu untuk sprint, tim tidak masuk cukup detail dalam perencanaan sprint bagian 2 sehingga mereka tidak dapat menemukan masalah tersembunyi yang mereka butuhkan untuk memberi tahu pemilik Produk. Jika mereka menemukan masalah pada awalnya, mereka akan memecahkannya ATAU berpikir tentang cara menghilangkan risiko. Ini membuat estimasi menjadi cukup benar sebelum mulai bekerja pada sprint.
Jika kartu cerita tidak detail, estimasi tidak akan akurat. Estimasi pada awalnya bisa menjadi kasar tetapi sebelum memulai sprint atau sebelum kartu cerita pergi ke sprint, mereka perlu dibelah dan diklarifikasi cukup untuk mendapatkan estimasi yang hampir benar. Ini membantu kecepatan tim menjadi lebih stabil.
Pemilik produk mungkin tidak dapat menjelaskan kartu cerita dengan cukup jelas sebelum mulai mengerjakan sprint. Ini juga hal yang sangat penting karena ini adalah tujuan bagi tim untuk bekerja dalam 2 minggu ini. Jika pemilik produk hanya memilih kartu untuk sprint dan tim belum memahaminya, mereka masih perlu memahaminya selama sprint dan jawabannya mungkin ternyata memiliki lebih dari yang mereka diskusikan dan perkiraannya salah. Jadi, ini jelas mempengaruhi kecepatan.
dll ...
Bagaimanapun, menurut pendapat saya, saya tidak berpikir fluktuasi kecepatan itu penting selama kita tahu bagaimana situasi pada setiap sprint. Velocity hanyalah hal untuk memberi tahu Anda seberapa stabil tim Anda dapat bekerja. Jika tidak stabil, kita harus mencari tahu secara detail setiap sprint tentang "apa yang terjadi". Ini hanya cara untuk mengklarifikasi / membuat masalah terjadi sehingga kami dapat memperbaikinya. Jadi, kecepatan hanya memberi tahu kami apa yang sedang terjadi dalam sprint untuk kita dapat berpikir kembali dan meningkatkan untuk membuatnya stabil. Velocity adalah proyeksi dari proyek. Dan fluktuasi kecepatan tidak berarti tim tidak dapat memberikan produk, itu hanya membantu Anda berpikir tentang proyeksi di masa depan dan masalah apa yang harus dipecahkan untuk membuat semuanya lancar.
Kecepatan Anda memiliki noise (fluktuasi). Alasan yang mungkin:
Cerita terlalu besar dan cukup sering cerita setengah jalan diangkat ke sprint berikutnya.
Kisah-kisah itu tidak diperkirakan secara akurat. Ini bisa karena tim yang tidak berpengalaman atau cerita yang terlalu besar.
Kebisingan ini tidak selalu menjadi masalah dengan sendirinya: kecepatan bising yang berfluktuasi di sekitar rata-rata konstan masih memungkinkan Anda untuk melakukan perencanaan rilis yang akurat.
Namun, jika Anda menyaring suara (rata-rata bergulir lebih dari 5 sprint berturut-turut), maka kecepatan Anda masih turun setelah 20 sprint. Itu membuatnya sulit untuk melakukan perencanaan rilis dan perlu diselidiki:
Apakah "definisi selesai" terlalu lemah dan tim menumpuk sisa pekerjaan dari sprint sebelumnya?
Apakah organisasi menjadi lebih baik dalam mengalihkan scrum dan memaksakan pekerjaan non-backlog pada tim?
Cerita-cerita besar (epos) di bagian bawah log diperkirakan lebih optimis daripada cerita yang lebih rinci di atas?
Jawaban:
Sangat normal untuk memiliki fluktuasi pada sepuluh sprint pertama, sementara tim menemukan ritme permainannya. Setelah itu, sangat normal untuk kecepatan berfluktuasi di sekitar rata-rata. Cobalah merencanakan rata-rata berlari dari lima sprint terakhir atau lebih dan Anda akan melihatnya rata. Jika tidak, beberapa hal berikut mungkin menjadi penyebabnya:
sumber
Anda menyalahgunakan kecepatan sebagai indikator kinerja, seolah-olah beberapa poin cerita yang diterima adalah sprint "baik" dan apa pun yang kurang dari itu adalah sprint "buruk".
Velocity (yang merupakan konsep yang sangat keliru) harus digunakan sebagai alat berwawasan ke depan untuk memperkirakan berapa banyak fitur yang dapat dilakukan oleh tim dalam sprint berikutnya, yaitu kecepatan harus digunakan untuk perencanaan kapasitas.
http://jimhighsmith.com/velocity-is-killing-agility/
Berikut kutipan penting dari artikel tersebut: "Masalahnya adalah bobot yang diberikan pada kecepatan dan mengubahnya menjadi ukuran produktivitas."
Mungkin ada masalah dalam apa yang tampak sebagai perbedaan signifikan dalam kecepatan Anda. Ini tidak berarti bahwa tim melakukan kesalahan, tetapi efeknya adalah bahwa kapasitas tim untuk sprint masa depan tidak dapat diprediksi dengan baik. Sayangnya, itu bukan pertanyaan yang bisa kami jawab untuk Anda. Anda perlu menggali subjek melalui retrospektif. Apa yang sebenarnya terjadi?
Dalam hal apa pun, ukuran paling kritis hilang dari grafik Anda. Seberapa baik kinerja tim dalam memberikan nilai yang mereka janjikan? Apakah kecepatan berfluktuasi karena mereka melebihi komitmen mereka dalam beberapa sprint tetapi tidak pada yang lain, apakah berfluktuasi karena mereka tidak menyelesaikan cerita, atau apakah berfluktuasi karena komitmen juga berfluktuasi?
sumber
Penyebab potensial tambahan: selama sprint kemudian, Anda membayar utang teknis dari sprint sebelumnya.
Misalnya Anda memiliki demo manajemen setelah sprint 3 dan perlu menampilkan skenario happy-day. Untuk membuatnya, Anda melakukan pengkodean tanpa penanganan kesalahan, tanpa dukungan terjemahan, tanpa pengujian unit. Ini adalah keputusan yang valid, Anda hanya perlu menyadari konsekuensinya.
Jadi nanti Anda menambahkan semua hal-hal bagus seperti kerangka penanganan excation, dukungan terjemahan, kerangka kerja unit test dan sebagainya. Pengkodean Anda saat ini dari sprint 3 pertama belum menggunakannya, sehingga perlu diperbarui. Upaya ini memperlambat penciptaan nilai selama sprint selanjutnya.
sumber
Untuk pertanyaan Anda, sulit untuk mengatakan mengapa ia berfluktuasi karena mungkin karena kartu cerita, orang-orang dalam tim, atau kemampuan pemilik produk. Jadi, dalam pengalaman saya, kecepatannya akan berfluktuasi karena, misalnya:
Bagaimanapun, menurut pendapat saya, saya tidak berpikir fluktuasi kecepatan itu penting selama kita tahu bagaimana situasi pada setiap sprint. Velocity hanyalah hal untuk memberi tahu Anda seberapa stabil tim Anda dapat bekerja. Jika tidak stabil, kita harus mencari tahu secara detail setiap sprint tentang "apa yang terjadi". Ini hanya cara untuk mengklarifikasi / membuat masalah terjadi sehingga kami dapat memperbaikinya. Jadi, kecepatan hanya memberi tahu kami apa yang sedang terjadi dalam sprint untuk kita dapat berpikir kembali dan meningkatkan untuk membuatnya stabil. Velocity adalah proyeksi dari proyek. Dan fluktuasi kecepatan tidak berarti tim tidak dapat memberikan produk, itu hanya membantu Anda berpikir tentang proyeksi di masa depan dan masalah apa yang harus dipecahkan untuk membuat semuanya lancar.
sumber
Kecepatan Anda memiliki noise (fluktuasi). Alasan yang mungkin:
Kebisingan ini tidak selalu menjadi masalah dengan sendirinya: kecepatan bising yang berfluktuasi di sekitar rata-rata konstan masih memungkinkan Anda untuk melakukan perencanaan rilis yang akurat.
Namun, jika Anda menyaring suara (rata-rata bergulir lebih dari 5 sprint berturut-turut), maka kecepatan Anda masih turun setelah 20 sprint. Itu membuatnya sulit untuk melakukan perencanaan rilis dan perlu diselidiki:
sumber