Apa tujuan perencanaan poker dalam sprint?

15

Analis bisnis dan prospek proyek kami memberi tahu kami kebutuhan klien sebagai Cerita. Setiap perencanaan Sprint, kami (pengembang) diminta untuk bermain poker perencanaan.

Mereka meminta kita semua untuk mempertimbangkan 'Kompleksitas' daripada 'Upaya'. Kami benar-benar bingung dan kami membuang waktu untuk pertemuan kami. Seorang pengembang mengajukan pertanyaan, 'Apa yang harus kita pertimbangkan? Apakah ini tentang perubahan kode / DDL yang harus kita lakukan dalam persyaratan ini (estimasi waktu) atau apakah ini tentang apakah kita telah memahami persyaratan tersebut atau tidak? '

Tapi apa yang mereka (analis bisnis & pimpinan proyek) benar-benar maksud dengan 'memahami persyaratan' dan 'menaikkan kartu'?

Selain itu, kami memiliki rapat slicing untuk masing-masing tim scrum, di mana masing-masing pengembang memberikan perkiraan waktu untuk tugas yang diberikan untuk setiap tim scrum. Jadi, hal apa yang sebenarnya mereka bicarakan dalam Perencanaan Poker?

Adakah yang bisa menjelaskan ini dengan menggunakan contoh? Cobalah untuk membedakan apa yang sebenarnya mereka bicarakan ketika mereka mengatakan 'Kompleksitas' & 'Usaha'.

Jude Niroshan
sumber
3
Saya hanya ingin menambahkan bahwa ada kontra-argumen dan beberapa orang pintar menganggap perencanaan poker hanya buang-buang waktu - jadi ambil jawaban yang Anda dapatkan dengan sebutir garam.
Benjamin Gruenbaum
Ini terdengar seperti scrum-of-scrums. Seberapa besar tim scrum, dan apakah semua tim scrum berpartisipasi, secara keseluruhan, dalam perencanaan poker? Apakah ada arahan yang jelas dari Pemilik Produk sebelum sesi ini? Secara umum, tim dev terdiri dari peran sebaya, tetapi pasti akan ada seseorang yang lebih senior yang mungkin dapat memberikan perkiraan kompleksitas yang cukup memadai dalam acara koordinasi ini; peran yang secara longgar sebanding dengan Program Teknis / Manajer Proyek, misalnya. Karena Anda tidak memperkirakan durasi tugas, semua orang kemungkinan tidak perlu terlibat.
JoeBrockhaus
Dalam tim / proyek yang lebih kecil, poker perencanaan mungkin kurang dapat diidentifikasi sebagai upacara scrum yang berbeda, karena produk itu sendiri tidak cukup kompleks untuk menjamin overhead tambahan memperkirakan cerita / epos yang relatif tidak diketahui, tidak terperinci, atau tingkat tinggi, di luar perencanaan sprint standar.
JoeBrockhaus
Hal lain yang perlu dipertimbangkan adalah jika Anda memiliki cerita / lonjakan pada dasarnya mengemas sekelompok data mentah (misalkan lembar excel). Kerumitannya sangat rendah, (salin / tempel), tetapi itu akan memakan banyak waktu.
Zymus
1
Merencanakan poker adalah mendapatkan perkiraan dari semua orang tanpa terlebih dahulu mendengar perkiraan orang lain.
Thorbjørn Ravn Andersen

Jawaban:

20

Pertimbangkan sudut pandang Manajer Proyek

Dengan meminta kompleksitas, mereka menginginkan angka yang dapat mereka bandingkan dengan sprint Anda berikutnya untuk menemukan kecepatan Anda sebagai sebuah tim. Mereka mungkin juga mencoba menggunakannya untuk menambah hasil Anda dengan perkiraan dari tim lain untuk memberikan perkiraan keseluruhan tentang kapan semua cerita akan dilakukan.

Manajer proyek sedang mencari perkiraan kapan proyek akan selesai, atau jika mereka fleksibel di sisi lain dari segitiga biaya-fungsi-waktu, apa yang bisa ditarik oleh pemberi kerja lain agar sesuai dengan waktu yang tersisa. Ini tidak masuk akal. Keputusan bisnis perlu dibuat berdasarkan estimasi ini. Masalahnya adalah sangat sulit untuk memperkirakan ini untuk perangkat lunak. Merencanakan poker adalah salah satu cara untuk membantu masalah ini. Alih-alih melihatnya sebagai sekadar menambah jumlah poin cerita, lebih baik menganggapnya sebagai fungsi yang lebih kompleks untuk memperkirakan sebaik yang Anda bisa, melakukan pekerjaan, mengukur berapa lama waktu yang dibutuhkan, mengulang, dan kemudian mengekstrapolasi.

Diskusi lebih penting daripada angka

Saya menemukan bagian terpenting dari pertemuan pengarah cerita adalah diskusi yang muncul. Jika ada orang di tim yang tidak percaya diri menyarankan nomor, maka mereka mungkin tidak sepenuhnya memahami ceritanya dan perlu ada lebih banyak diskusi. Dari Manifesto Agile "Kolaborasi pelanggan atas negosiasi kontrak". Daripada hanya menentukan kontrak yang ditulis sebagai cerita pengguna dan mengatakan tim gagal jika mereka tidak melakukan apa yang Anda inginkan, selalu lebih baik untuk berbicara tentang apa yang benar-benar diinginkan pelanggan sampai Anda memahaminya.

Upaya Kompleksitas Vs

Untuk menjawab pertanyaan spesifik Anda tentang kompleksitas vs upaya, semua orang tampaknya memiliki pendapat yang berbeda tentang ini. Mountain Goat , yang adalah orang-orang yang membuat kartu poker perencanaan yang memiliki kambing di belakangnya dan pemiliknya Mike Cohn yang besar di dunia Agile / Scrum, mengatakan bahwa itu harus berupa usaha dan bukan kompleksitas.

Biasanya tidak dianggap sebagai ukuran waktu (lihat contoh di bawah ini sebagai contoh balasan) karena orang tidak dapat memperkirakan waktu, dengan faktor-faktor lain yang mempengaruhi jumlah yang mereka berikan: mis. Tekanan untuk mempertahankan angka tetap rendah sehingga Anda dapat memuat lebih banyak fitur Dalam, tekanan untuk memberikan angka yang lebih tinggi untuk memberi diri Anda sedikit ruang jika Anda mengalami masalah. Membangun perangkat lunak itu sulit. Ketika Anda membangun rumah ke-100 Anda, Anda dapat memperkirakan berapa lama waktu yang dibutuhkan karena Anda telah membangun 99 rumah sebelumnya. Jika perangkat lunak yang Anda bangun sama dengan program-program sebelumnya yang telah Anda buat, maka Anda dapat menyalin dan menempel, nilai apa pun saat proyek perangkat lunak berbeda dan dengan demikian akan memiliki masalah yang tidak Anda lihat sebelumnya.

Seperti halnya perkiraan waktu yang mengandung tekanan tersembunyi, jadi ukuran upaya juga memiliki masalah. Jika pengembang junior memperkirakan kompleksitas tinggi, mereka mungkin merasa mereka membiarkan diri mereka terbuka untuk diserang karena tidak cukup baik dari orang lain yang akan memberikan perkiraan yang lebih rendah. Ini tidak hanya merugikan estimasi Anda tetapi juga bagi orang-orang di tim.

Nomor poker perencanaan bukanlah 'jumlah hari' atau ukuran waktu lainnya, mereka adalah ukuran relatif untuk dapat membandingkan dua cerita pengguna. Hal pertama yang perlu Anda lakukan dalam tim baru adalah menetapkan garis dasar. Pilih satu cerita pengguna yang berada di tengah rentang kompleksitas dan setujui sebagai tim angka di tengah rentang yang ingin Anda tetapkan. Sekarang semua cerita pengguna lain dapat diberi nomor relatif terhadap yang ini. Saya telah menemukan ini membuatnya lebih mudah.

Alasan Anda tidak bisa memberikan perkiraan

Ketika manajer proyek menanyakan kapan proyek akan selesai, mereka perlu memahami kompleksitas pertanyaan yang mereka tanyakan. Programmer bukan pekerja pabrik, di mana produktivitas mereka dapat diukur dengan mengalikan seberapa cepat mereka mengetik dengan berapa lama mereka bekerja. Mereka mencari tahu jawaban untuk masalah dan itu sulit. Dengan bermain poker perencanaan, Anda pertama-tama mengidentifikasi siapa di dalam tim yang merasa mereka tidak bisa menjawab pertanyaan dari nomor mana yang akan ditetapkan dan kemudian Anda menggali mengapa mereka tidak bisa menjawab pertanyaan itu. Saya pikir setidaknya ada empat alasan:

  1. Ceritanya terlalu besar. Perinci menjadi cerita pengguna yang lebih kecil dan lebih spesifik. Ingat, setiap kisah pengguna harus memberikan satu nilai bagi pengguna; input - proses - output = nilai.
  2. Mereka tidak memahami domain masalah dengan cukup baik untuk dapat mengatakan berapa lama mereka atau bahkan menanyakan semua pertanyaan dengan benar. Bicaralah dengan orang yang tahu lebih banyak tentang domain pemangku kepentingan / pemrograman aplikasi semacam itu, apa pun yang belum pernah Anda lihat sebelumnya. Jika itu tidak mungkin atau tidak membuat Anda sampai di sana, maka Anda dapat menggunakan lonjakan desain. Pergi dan prototipe solusi tetapi hanya untuk jumlah waktu yang terbatas dan ditentukan . Tetapkan berapa lama fase prototipe akan berlangsung, tidak terlalu lama, dan kemudian bertemu kembali untuk berbagi pemahaman baru Anda.
  3. Stakeholder Anda tidak cukup spesifik. "Build me a cloud" bukan cerita pengguna yang dapat diterima. "Bangun saya sebuah sistem di mana saya dapat meningkatkan VMs berdasarkan permintaan" lebih baik karena dipecah lebih lanjut tetapi masih belum pada tingkat di mana Anda dapat memberikan perkiraan yang akurat tentang berapa lama waktu yang Anda perlukan karena akan ada seratus yang disembunyikan asumsi dalam pernyataan bahwa pemangku kepentingan Anda memiliki Anda tidak akan mengetahuinya sampai Anda menunjukkan sesuatu kepada mereka.
  4. Akhirnya, bahkan jika Anda bisa memberikan perkiraan, itu mungkin akan salah saat pertama kali. Memperkirakan adalah masalah yang sulit dan cara terbaik yang saya tahu untuk menyelesaikan masalah yang sulit adalah dengan menggunakan metode ilmiah. Kumpulkan data pada angka apa yang diperkirakan oleh setiap anggota tim, lalu kumpulkan data tentang berapa lama waktu yang dibutuhkan, atau seberapa 'rumit' itu sebenarnya, meskipun itu lebih sulit, dan kemudian bandingkan dari waktu ke waktu. Akhirnya Anda akan merasakan siapa yang melebih-lebihkan dan siapa yang meremehkan dan kemudian Anda harus berbagi ini dengan tim. Orang bisa saling membantu menjadi lebih baik dalam memperkirakan. Angka-angka ini juga dapat dimasukkan kembali ke alat pelacakan Anda untuk membantu memprediksi dengan lebih baik berapa lama cerita akan berlangsung.

Kesimpulan

Saya percaya intinya adalah diskusi, tetapi jika Anda benar-benar perlu memberi seseorang nomor maka cobalah membuatnya menjadi salah satu yang independen dari anggota tim mana yang mengerjakannya dan dalam urutan bagaimana cerita tersebut dikerjakan. Intinya adalah untuk mendapatkan kembali log yang keduanya diprioritaskan, sehingga Anda mengerjakannya dalam urutan yang benar, dan ukurannya, sehingga Manajer Proyek dapat melihat secara kasar berapa banyak lagi yang dapat Anda masukkan sebelum tenggat waktu Anda. Anda harus dapat berhenti di akhir setiap iterasi dan mengirim dengan semua fitur yang telah dimulai.

Peringatan

Anda dapat memperkirakan waktu untuk menyelesaikan tugas-tugas dalam tim Anda sebanyak yang Anda inginkan selama Anda menyimpannya sendiri. Setelah Anda mengizinkan nomor apa pun untuk keluar dari tim dan dilihat oleh orang lain, mereka akan melakukan hal-hal dengan nomor yang tidak Anda inginkan. Mereka akan mencoba menggunakannya sebagai beberapa hari untuk menyelesaikan tugas. Mereka akan mencoba membuat Anda berada pada peringkat kompleksitas relatif dan bertanya mengapa Anda perlu waktu lebih lama untuk menyelesaikan satu cerita pengguna dari yang lain dengan jumlah poin yang sama. Mereka akan menambahkan nomor Anda bersama dan membandingkannya dengan nomor tim lain dan bertanya kepada Anda mengapa tim lain 'melakukan lebih banyak pekerjaan' karena mereka menyelesaikan lebih banyak poin cerita dalam jangka waktu tertentu. Kamu bisa'

Ke samping

Rangkaian angka perencanaan poker biasanya terdistribusi sedemikian rupa sehingga celah di antara angka-angka terus bertambah. Saya percaya ini dimaksudkan untuk mencegah orang berdebat apakah cerita pengguna adalah 16 atau 17, jika itu lebih besar dari 13 maka buatlah 20.

Contoh

Saya tahu setidaknya satu tim yang hanya menggunakan angka 1, 2, 3, dan 4 untuk perencanaan poker. Mereka, menentang konvensi dan bertentangan dengan diskusi di atas, mendefinisikan ini sebagai hari pemrograman (sebenarnya berpasangan hari pemrograman, yaitu berapa hari yang dibutuhkan dua programmer untuk bekerja bersama di mesin yang sama untuk menyelesaikan kisah pengguna). Jika tim berpikir perlu waktu lebih dari 4 hari untuk menyelesaikan cerita pengguna, maka dibiarkan bukan cerita runcing dan pemilik produk diminta untuk bekerja dengan tim untuk memecah cerita lebih jauh atau untuk menentukannya lebih tepat sehingga dapat dibawa dalam kisaran ini untuk pertemuan perencanaan di masa depan. Tapi ini tangkas dan mungkin hanya boleh digunakan oleh orang-orang yang sudah berpengalaman dalam menggunakan teknik lainnya.

Encaitar
sumber
9

Saya pikir jawaban Frank dan Encaita cukup banyak membahasnya tetapi ada beberapa hal tambahan untuk dipertimbangkan:

Mengapa menggunakan poin cerita

Tujuan memperkirakan dengan poin cerita adalah untuk memberikan kompleksitas relatif dari pengembangan fitur untuk aplikasi Anda. Cara mudah untuk memikirkannya adalah dengan mengambil cerita yang Anda miliki di sprint yang akan datang misalnya perubahan url. Anda tahu ini sederhana dalam hal kompleksitas, dan telah menetapkan kriteria penerimaan dengan jelas sehingga seluruh tim setuju bahwa meskipun dengan pengujian itu adalah 1 (menggunakan skala Fibo).

Kisah selanjutnya yang akan diperkirakan adalah mengumpulkan seperangkat data pengguna dan memvisualisasikannya di ujung depan. Sekarang sebagai pengembang Anda segera tahu ini jauh lebih kompleks daripada mengubah url. Anda mendiskusikan cerita dan kriteria penerimaan dan Anda memiliki banyak pertanyaan dan dapat melihat beberapa solusi potensial untuk melakukan ini. Para pengembang dan QA yang lain juga setuju itu sangat kompleks. Jadi Anda semua setuju bahwa itu adalah cerita 34 poin. Perlu dicatat bahwa skala Fibo juga memungkinkan Anda untuk menunjukkan seberapa besar kepercayaan yang Anda miliki pada perkiraan - semakin besar kesenjangan antara angka menunjukkan semakin sedikit kepercayaan yang Anda miliki dalam perkiraan Anda

Pada titik ini, master Scrum Anda harus melompat dan mengatakan bahwa ini sebagai cerita tunggal terlalu besar dan perlu dipecah menjadi cerita yang lebih kecil dengan kompleksitas yang lebih sedikit. Anda dapat melakukan pendekatan ini dengan melakukan apa yang dikenal sebagai SPIKES - ini hanya waktu yang disediakan untuk menyelidiki sesuatu. Jadi untuk contoh ini Anda dan para pengembang lainnya setuju bahwa Anda ingin 4 jam untuk membahas dan menyelidiki solusi teknis yang memungkinkan.

Singkat cerita, Anda membagi cerita besar itu menjadi empat cerita lain dengan 5, 8, 8, dan 13 poin. Tidak ingat bahwa perkiraan ini adalah semua tentang kompleksitas relatif - mereka tidak harus menambahkan hingga perkiraan awal ditambah Anda memiliki lebih banyak informasi sekarang untuk membuat perkiraan yang lebih akurat.

Anda kemudian setuju sebagai tim bahwa untuk sprint ini Anda akan bertujuan menyelesaikan cerita 13 poin, satu cerita 8 poin ditambah perubahan 1 poin url yang sudah Anda identifikasi. Jadi total 22 poin. Sprint berikutnya Anda mendapatkan 27 poin, sprint berikut Anda mendapatkan 18 poin. Setelah 3 sprint, Anda bisa mulai percaya pada kecepatan Anda (kecepatan adalah jumlah pekerjaan yang bisa dilakukan tim Anda dalam satu sprint). Untuk mendapatkan kecepatan, ambil rata-rata sprint sebelumnya. Jadi dalam contoh ini rata-rata adalah (22 + 27 + 18) / 3 = 22,3 jadi bulatkan ke yang terdekat pada skala Fibo yaitu 21.

Sekarang untuk sprint berikutnya hanya bertujuan untuk menyelesaikan 21 poin.

Jangan terpaku untuk mendapatkan perkiraan titik cerita Anda dengan benar - itu bukan ilmu pasti. Anda tahu perubahan url jauh lebih kompleks daripada mengumpulkan data, jadi beri nilai saja.

Ditambah membahas hal-hal ini sebagai tim yang baik. Lihat kembali perkiraan Anda selama ulasan sprint dan diskusikan apakah Anda senang dengan mereka atau tidak dan kemudian masukkan ini ke dalam sesi perencanaan sprint berikutnya.

Perkiraan seluruh tim

Seluruh tim harus menyetujui estimasi tunggal untuk setiap cerita. Sebuah fitur tidak selesai sebelum siap diproduksi. Hanya mendapatkan kode yang ditulis tidak berarti dilakukan. Dalam pengalaman saya, tim Scrum jauh lebih efektif ketika bekerja sebagai sebuah tim. Ambil contoh tim yang sedang bekerja sama dengan saya sekarang. Ketika saya bergabung, mereka melakukan semua rapat sprint dan merencanakan poker tetapi selama sprint prosesnya adalah 1. BA / Pemilik Produk mendefinisikan persyaratan sebagai cerita dengan kriteria penerimaan dan tes penerimaan 2. Mereka menyerahkan persyaratan ini kepada pengembang yang kemudian menulis kode 3. Pengembang memiliki kode yang digabungkan ke cabang pengembangan untuk QA untuk menguji 4. Tes QA kemudian mereka mulai mengajukan pertanyaan dan tes gagal sehingga kembali ke pengembangan.

Apa yang hilang di sini? Tidak ada cukup diskusi di muka dan setiap anggota tim hanya melihat tugas mereka sendiri. Sekarang BA / PO, devs dan QA berkumpul sebelum menulis kode apa pun untuk membahas persyaratan secara rinci dan mengajukan pertanyaan di muka, kemudian melanjutkan diskusi sepanjang sprint. Ini jauh lebih efisien dan mengarah ke solusi kualitas yang lebih baik.

Perencanaan poker membantu proses ini karena memaksa tim untuk membahas fitur dan setuju, sebagai tim, betapa rumitnya pengiriman fitur itu. Dalam pengembangan perangkat lunak tradisional, Manajer Proyek bertanggung jawab atas pengiriman proyek, tetapi siapa pun yang berpengalaman dengan pendekatan itu tahu itu tidak berhasil karena lebih sering daripada tidak, orang tidak bertanggung jawab atas peran mereka dalam pengiriman aplikasi. Di Agile Anda tidak perlu manajer proyek karena tim bertanggung jawab secara keseluruhan untuk pengiriman aplikasi.

Estimasi tugas tepat waktu

Pandangan saya bekerja dengan tim yang memperkirakan waktu untuk tugas dan tim yang hanya melakukan perkiraan titik cerita adalah JANGAN MELAKUKAN ESTIMASI WAKTU! Mereka sebenarnya hanya buang-buang waktu. Mereka tidak seakurat poin cerita karena mereka khusus untuk individu bukan tim, dan masing-masing individu akan memiliki ide yang berbeda tentang estimasi waktu (membawa nyala api).

Poin cerita menerima bahwa hal-hal yaitu persyaratan, berubah sepanjang waktu sehingga Anda benar-benar memerlukan indikator apa yang dapat diselesaikan tim dalam sprint.

Setelah Anda memahami kecepatan, Anda dapat mengukur kiriman Anda tepat waktu karena Anda tahu apa yang bisa Anda lakukan di setiap sprint misalnya setiap dua minggu Anda tahu fitur apa yang dapat disampaikan. Pemilik scrum master dan pemilik produk Anda harus memiliki sesi estimasi untuk melihat ke depan untuk sprint di masa depan maka Anda bisa mendapatkan indikator seberapa banyak pekerjaan yang akan Anda lakukan dalam beberapa bulan mendatang. Ini memungkinkan pemilik produk untuk membuat keputusan penentuan prioritas tentang fitur apa yang akan dimasukkan dalam aplikasi akhir.

Saya sudah meminta pengembang untuk memperkirakan waktu untuk tugas-tugas untuk merencanakan tetapi saya sebenarnya tidak setuju dengan pendekatan ini (sebenarnya saya sangat tidak setuju dengan pendekatan ini) karena tidak akurat misalnya apa yang akan saya perlukan 4 jam: satu dev mungkin hanya memasukkan waktu untuk tugas itu sendiri, orang lain mungkin menambahkan waktu untuk membuat cangkir teh!

Perkiraan waktu selalu diserahkan kepada orang lain untuk tujuan pelaporan dan itu juga terlalu menekankan elemen individu dalam memberikan fitur vs seluruh upaya tim.

Estimasi bukanlah masalah terbesar

Selain itu, mencari tahu estimasi bukanlah masalah terbesar yang saya pikir harus diselesaikan oleh tim. Yang paling penting adalah bekerja bersama sebagai tim untuk menyelesaikan semua hal dalam sprint, sehingga Anda tidak menyerahkan semuanya untuk pengujian pada hari terakhir. Anda ingin melihat tetesan fitur di sepanjang sprint 2 minggu. Tim dinamis yang saya jelaskan di atas adalah sebagian besar dari ini. Perkiraan titik cerita akan membantu Anda merencanakan hal ini karena Anda akan melihat cerita besar mana yang perlu dipecah menjadi yang lebih kecil yang dapat dikirim ke pengujian secara teratur.

br3w5
sumber
Kedengarannya kompleksitas adalah semacam pengukuran relatif yang akan memberikan gambaran seberapa banyak upaya yang harus kita lakukan. Bukan?
Jude Niroshan
Ini adalah ukuran relatif, dan ya itu hanya memberikan ide atau indikasi kasar. Kompleksitas tidak persis sama dengan upaya tetapi mereka dapat disamakan. Sesuatu bisa sangat kompleks atau sangat sederhana. Yang mungkin berarti banyak usaha atau sangat sedikit. Kedua konsep tersebut dapat disamakan tetapi keduanya sedikit berbeda.
br3w5
Jangan terlalu khawatir tentang hal itu, berikan saja perkiraan yang menurut Anda paling cocok. Anda harus menjelaskan pemikiran Anda, tetapi begitu Anda melakukannya beberapa kali bersama tim, Anda akan terbiasa. Tidak ada teknik estimasi yang sempurna tetapi saya pikir estimasi poin cerita lebih baik dari perkiraan waktu.
br3w5
Saya pikir jawaban ini menggambarkan keluhan saya dengan poin cerita: mereka mengacaukan kompleksitas dengan waktu. Waktu dan kerumitan sering berkorelasi, tetapi menurut saya tidak ada sebab akibat di sana. Saya telah mengerjakan beberapa persyaratan yang luar biasa rumit yang membutuhkan waktu satu jam, dan saya telah bekerja dengan persyaratan yang melelahkan selama seminggu, tetapi hanya persyaratan. Sprint poker tidak membedakan. Saya punya misalnya 8 hari dalam sprint. Saya perlu tahu berapa banyak waktu yang diperlukan untuk mengetahui apakah saya dapat menjejalkannya ke sprint itu. Mengetahui kompleksitas itu baik-baik saja, tetapi itu tidak memberi tahu saya apa yang perlu saya ketahui.
Ini memberi tahu Anda bahwa begitu Anda telah mengetahui berapa banyak kompleksitas yang dapat Anda masukkan dalam 2 minggu - yang pasti dapat berubah tetapi jika Anda memerlukan indikator dan saya pikir itu lebih akurat daripada perkiraan waktu
br3w5
8

Wikipedia menjelaskan perencanaan poker dengan cukup baik. Biarkan saya rekap beberapa keadaan di sana dengan fokus pada kasus Anda:

Mengapa merencanakan poker?

Pertama-tama, Anda semua harus tahu mengapa Anda melakukan poker perencanaan yang bertentangan dengan perkiraan "normal". Alasannya sebenarnya cukup sederhana: kita semua menghisap banyak waktu untuk memperkirakan waktu untuk suatu tugas. Cukup banyak setiap penelitian telah mengungkapkan, bahwa otak manusia tidak mampu memperkirakan tugas yang memakan waktu cukup banyak. (Juga alasan, mengapa tiket yang melampaui 2-3 hari dalam perkiraan mereka cukup tidak berharga dalam hal perkiraan mereka.)

Mengapa kompleksitas daripada usaha?

Ini sejalan dengan hal di atas. Usaha biasanya berarti waktu , dan kita payah karenanya. Kompleksitas sebaliknya sulit untuk diukur secara objektif, yang merupakan hal yang baik dalam kasus ini. Naluri Anda yang memberi tahu Anda bahwa kisah ini akan menjadi rumit. Untuk orang lain mungkin tidak terlalu rumit. Tetapi Anda tidak perlu mengukur seberapa rumitnya sebenarnya. Anda tidak perlu mendapatkan jumlah Xkerumitan ini - sebagai lawan dari upaya berjangka waktu, di mana Anda akhirnya harus setuju bahwa itu membutuhkan Xberhari-hari atau semacamnya.

Mengapa menyembunyikan kartu?

Kartu-kartu dengan kerumitan Anda dimainkan dimainkan disembunyikan dan kemudian diungkapkan sekaligus. Ini dilakukan untuk memastikan Anda tidak terpengaruh oleh pendapat orang lain sebelum membuat estimasi awal Anda sendiri. Jika setiap orang memiliki perasaan yang sama dalam hal kompleksitas, maka Anda sudah selesai. Jika ada angka yang sangat berbeda terjadi, Anda tahu ada sesuatu yang harus dibicarakan disembunyikan di sana. Dengan cara ini, Anda dapat dengan cepat menangani cerita yang setiap orang memiliki gagasan yang sama tentang kompleksitas / upaya yang diperlukan.

Mengapa angka Fibonacci?

Angka-angka pada kartu Anda biasanya nomor Fibonacci atau semacam urutan lainnya dengan banyak celah dalam angka. Ini untuk memaksa Anda untuk sepenuhnya mempercayai perasaan Anda. Jika Anda harus memilih antara 8 dan 13, itu lebih merupakan pernyataan daripada pergi untuk 9 atau 10. Juga, seperti disebutkan di atas, perbedaan besar adalah di mana masalah tersembunyi, jadi dengan memperbesar celah, Anda meningkatkan kesempatan untuk mendeteksi masalah ini dengan lebih baik.

Mengapa ini bekerja sama sekali?

Menariknya, beberapa kali pertama Anda melakukan poker perencanaan, itu tidak akan berhasil. Sesederhana itu. Apa artinya "3" atau "5"? Tidak ada definisi untuk arti setiap angka (dengan sengaja!) Dan terserah seluruh tim Anda untuk menemukan makna sebenarnya di balik masing-masing angka ini. Hanya setelah Anda menerima perkiraan cerita Anda dalam angka-angka ini - dan setelah Anda menyadari beberapa di antaranya - Anda mendapatkan ide yang lebih baik tentang kapan Anda harus menaikkan 5 dan ketika itu 8.

Setelah Anda menggabungkan ini dengan konsep kecepatan dan mengukur sprint Anda maju melalui poin cerita ini, Anda memiliki skala efisiensi baru yang kurang lebih independen dari estimasi waktu tradisional.

Namun demikian, bagi saya pribadi, poin paling menguntungkan dari perencanaan poker adalah bahwa dengan menggunakan angka fibonacci daripada perkiraan waktu, Anda memiliki waktu yang jauh lebih mudah untuk mendeteksi ketidakpastian. Dengan perkiraan waktu klasik, Anda tidak dipaksa untuk membuat keputusan "ekstrem" (karena banyaknya kesenjangan), karenanya, estimasi mungkin agak berdekatan dan tim mungkin secara salah percaya bahwa mereka cukup memahami cerita.

Contoh

Contoh sederhana dari apa yang biasanya terjadi adalah bahwa sebuah cerita disajikan, dan kemudian orang A mengajukan keberatan. Ini adalah sesuatu di sepanjang baris "tolong jangan lupa bahwa fitur ini mempengaruhi X dan ini mungkin berarti lebih mahal daripada apa yang kita pikirkan sejauh ini". Masalah utama adalah selalu ada orang A di meja. Selalu ada sesuatu yang dikhawatirkan seseorang. Jika Anda memiliki diskusi terbuka di muka, Anda tidak tahu seberapa besar kekhawatiran X ini.

Jika Anda membuat taksiran tersembunyi berdasarkan waktu, maka hasilnya akan sedikit lebih baik. Tapi tetap saja, orang A dengan keberatan yang valid mungkin belum menjadi pencilan yang jelas dalam perkiraannya. Di sisi lain, dengan perencanaan poker, orang A harus berpikir lebih banyak tentang seberapa banyak masalah X yang sebenarnya. Untuk dua masalah berbeda, Anda tidak dapat membedakan kepentingannya dengan "teks keberatan yang diucapkan" di atas. Bahkan dengan perkiraan waktu agak sulit untuk melihat mana yang lebih merupakan masalah. Harapan menggunakan perencanaan poker di sini adalah bahwa Anda berakhir dengan satu keberatan menjadi hanya 2-3 poin berbeda dari perkiraan yang lain, tetapi keberatan lain yang berakhir 5 atau 8 poin dari median mungkin hanya menjadi yang ketidakpastian yang paling penting perencanaan sprint Anda.

jujur
sumber
1
Pak, apakah ini semua tentang perkiraan waktu? Tetapi kami memiliki rapat pengiris yang terpisah untuk setiap tim scrum untuk memberikan penghitungan waktu individu untuk serangkaian tugas yang diberikan untuk tim scrum tertentu. Jadi, saya percaya porker perencanaan ini tidak langsung berbicara tentang estimasi waktu. Bukan?
Jude Niroshan
1
Aye .. baca lagi dengan seksama. Merencanakan poker TIDAK memperkirakan waktu.
Frank
3

Setelah puluhan pengulangan di tim saya, kami menemukan bahwa poin cerita sebagian besar tentang pengemudian proyek jangka menengah. Mereka memungkinkan pemilik produk untuk memproyeksikan dirinya 2 atau 3 sprint ke depan dan pada dasarnya membuat keputusan bisnis dan ruang lingkup tentang rilis, berdasarkan kecepatan rata-rata.

Kami telah menemukan bahwa poin cerita tidak begitu berguna pada level sprint, karena tidak ada 2 sprint yang serupa dan memperkirakan berapa banyak pekerjaan yang akan dilakukan adalah mustahil. Akibatnya, kami memutuskan untuk tidak terobsesi dengan bagian estimasi dan hanya mengambil sesi perencanaan poker sebagai dalih untuk percakapan tentang fitur.

Ini sependapat dengan poin yang dibuat oleh Mike Cohn di sini .

Sebagai catatan tambahan, ini berlaku untuk tim tertentu, tetapi tidak ada aturan tentang bagaimana poin cerita akan membantu Anda. Saya sarankan Anda tetap berpegang pada metodologi tetapi mencoba untuk dengan cepat mencari tahu sendiri apakah dan bagaimana mereka berguna. Retrospektif akan membantu Anda merenungkan hal itu.

guillaume31
sumber
3

Masalah mendasar di sini adalah bahwa itu rusak. PM ingin menggunakan poker perencanaan untuk mendapatkan ide tentang kompleksitas dari setiap cerita, dengan maksud mengetahui secara kasar berapa banyak cerita yang dapat dipasang dalam sprint (kecepatan tim).

Akibatnya, itu "tidak berdasarkan waktu" yaitu "berdasarkan waktu". Tidak heran semua orang bingung.

Ada cara untuk membuat ini bekerja untuk Anda. Terlebih dahulu lupakan usaha dan fokuslah pada kompleksitas. Lupakan semua tentang berapa lama waktu yang dibutuhkan untuk berkembang dan fokus pada bidang yang masing-masing cerita pengaruhi. Jika Anda memiliki cerita yang memperbarui DB, kode server, kode klien dan dokumentasi klien, maka Anda dapat mengatakan bahwa itu adalah cerita 4 poin. Jika itu hanya perubahan ke DB sql, maka cerita 1 poin. Ini memberi Anda cara yang lebih mudah dimengerti dalam mencari kompleksitas relatif antar cerita. (Anda harus membuat beberapa metrik yang masuk akal untuk keadaan Anda, mungkin menguji persyaratan cakupan atau kompleksitas UI)

Pendapat saya secara umum adalah bahwa ini adalah pemborosan waktu yang sia-sia yang hanya mendorong perencanaan sprint seolah-olah mereka adalah proyek air terjun mini. Siapa yang benar-benar peduli berapa banyak poin cerita yang dapat Anda masukkan ke dalam sprint? Jika Anda memiliki sisa cerita di akhir sprint, Anda cukup melakukannya di yang berikutnya. Mengingat itu, Anda mungkin juga membuat jaminan simpanan Anda dari ukuran setiap kisah luar biasa yang Anda miliki dan secara bertahap mengurangi semuanya dari waktu ke waktu. Pengiriman memakan waktu selama itu diperlukan (tetapi akan lebih cepat jika Anda tidak repot-repot menghabiskan 20% waktu Anda dalam rapat perencanaan dan sprint). Di akhir proyek, tidak ada yang peduli berapa banyak poin cerita yang disampaikan. Apa yang orang pedulikan adalah proyek yang disampaikan.

gbjbaanb
sumber
2
Urutan pengembangan tidak ada hubungannya dengan perencanaan sprint, itu perencanaan jaminan simpanan ... dan itu hanya lebih baik untuk memprioritaskan seluruh jaminan simpanan dan memberitahu para devs untuk bekerja dengan cara (secara kasar) urutan itu Dan jadi tidak masalah bagaimana banyak Anda akan selesai dalam sprint dan berapa banyak yang tumpah ke sprint berikutnya. Pelanggan mendapatkan apa yang dia dapatkan ketika total waktu / anggaran habis atau sampai simpanan selesai. Merencanakan semuanya tidak akan mengubah semua itu.
gbjbaanb
1
Dalam pengalaman saya, rapat perencanaan sprint berlangsung selama beberapa waktu, dan sementara mendiskusikan cerita adalah hal yang baik, sesuatu yang tidak perlu dilakukan di muka, itu lebih baik dilakukan terus menerus.
gbjbaanb
1
Ah, tapi itulah inti Agile - jika Anda ingin tenggat waktu tetap, pilihlah air terjun. Jika Anda ingin pengembangan berulang, di mana Anda secara teratur mengirim / demo kemajuan kepada pelanggan Anda dan mereka terus memperbarui persyaratan mereka kemudian pergi Agile. Jangan pernah menggabungkan keduanya!
gbjbaanb
2
WRT: "jika seseorang ingin memperbaiki tenggat waktu dan / atau anggaran ..." Masalahnya di sini adalah bahwa lingkup pengorbanan tidak dapat diterima oleh pengguna akhir, karena mereka membutuhkan semuanya pada tanggal tertentu, dan karena mereka telah mengambil garis sewenang-wenang (sering kasus bisnis) di pasir x-bulan keluar, mereka merasa itu benar-benar masuk akal dan Anda hanya tidak merencanakan dengan benar, karena mereka telah dituntun untuk percaya dengan gesit memecahkan masalah bagi mereka, secara ajaib. Bolak-balik yang gila ini adalah yang paling keruh selama Sprint Zero, atau yang pertama. Dalam kebanyakan kasus, tim mendapatkan pushback ketika mereka de-scope; dan ini berlangsung di iklan mual.
JoeBrockhaus
1
Saya bisa memberi tahu Anda mengapa itu tidak ada gunanya ... tetapi Anda tidak akan menyukai jawabannya. Alasan perencanaan poker dan perencanaan sprint adalah untuk membuat semua orang "berkomitmen" untuk melakukan serangkaian cerita tertentu. Dengan begitu, ketika mereka "berkomitmen" pada terlalu banyak cerita dan tidak bisa menyelesaikan semuanya, itu menjadi kegagalan moral ("Tapi Anda berkomitmen!") Daripada hanya kegagalan proses, perencanaan, dll. Ini memungkinkan manajer mendorong orang untuk bekerja berjam-jam untuk memenuhi "komitmen" mereka. Ini adalah salah satu dari banyak alasan mengapa Scrum tidak boleh digolongkan sebagai metode Agile. Ini anti-programmer.
Kyralessa
0

Juga pengarah cerita pengguna memberi peluang bagi bisnis dalam hal apa pun yang perlu dinegosiasikan kembali. jika Anda memiliki waktu satu bulan untuk menyelesaikan beberapa pekerjaan yang Anda nilai 100 maka Anda mungkin berada dalam kesulitan. itu juga memberi Anda kesempatan untuk memecah cerita epik menjadi sesuatu yang lebih kecil yang masih memiliki nilai dan dapat diselesaikan dalam sprint.

pengguna2143783
sumber