Dalam metodologi tangkas (misalnya SCRUM), kompleksitas / upaya yang diperlukan untuk cerita pengguna diukur dalam poin Cerita. Poin cerita digunakan untuk menghitung berapa banyak cerita pengguna yang dapat diambil oleh tim dalam iterasi.
Apa keuntungan dari memperkenalkan konsep abstrak (poin cerita), di mana kita bisa menggunakan pengukuran konkret, seperti perkiraan hari kerja? Kami juga dapat menghitung kecepatan, memperkirakan cakupan iterasi, dll. Menggunakan perkiraan hari kerja.
Sebaliknya, poin cerita lebih sulit digunakan (karena konsepnya abstrak), dan juga lebih sulit untuk dijelaskan kepada pemangku kepentingan. Keuntungan apa yang ditawarkannya?
agile
scrum
estimation
user-story
Louis Rhys
sumber
sumber
Jawaban:
Saya pikir salah satu keuntungan utama adalah bahwa manusia dan pengembang secara khusus sebenarnya sangat buruk dalam memperkirakan waktu. Pikirkan sifat pengembangan juga - ini bukan kemajuan linier dari awal hingga akhir. Sering kali "tulis 90% dari kode dalam 10 menit dan kemudian sobek debugging rambut Anda selama 17 jam." Itu cukup sulit untuk diperkirakan dalam arti pengaturan waktu jam.
Tetapi menggunakan abstraksi menghilangkan fokus dari waktu aktual dalam jam atau hari dan bukannya menempatkan fokus pada menggambarkan biaya relatif dan kompleksitas tugas dibandingkan dengan tugas lain. Manusia / pengembang lebih baik dalam hal itu. Dan kemudian, setelah Anda bersenandung dengan perkiraan titik dan beberapa kemajuan aktual, Anda dapat mulai melihat waktu secara lebih empiris.
Saya menduga bahwa ada juga efek pengamat yang terjadi dengan perkiraan waktu yang tidak akan terjadi dengan estimasi titik. Misalnya, insentif untuk melakukan estimasi dan memberikan cara "lebih cepat dari jadwal" akan dibungkam dengan tipuan dalam sistem berbasis poin.
sumber
Jika Anda menggunakan angka Fibonacci (atau yang serupa), itu membatasi jumlah opsi saat memperkirakan sebuah cerita. Saya bekerja dengan grup yang hanya menggunakan angka rendah: 1, 2, 3, 5, 8, dan 13. Kami memiliki cerita referensi yang merupakan 5. Ini memungkinkan kami untuk dengan mudah membuat keputusan cepat pada kompleksitas cerita saat melakukan Perencanaan Poker . Efek samping lainnya adalah bahwa apa pun yang diberi peringkat 13 mungkin memiliki informasi yang tidak memadai dan perlu dirinci lebih lanjut. Saya benar-benar ragu itu akan mudah dan langsung jika kita menggunakan jam mentah.
Pemilik Produk Anda berbicara dalam bahasa pemangku kepentingan Anda dan harus dapat menerjemahkan antara poin cerita dan jam kerja (atau unit lainnya) sesuai kebutuhan. Selama menjadi PO, saya memiliki beberapa data keras bahwa 1 titik cerita = 4 jam kerja, tetapi jelas setiap tim berbeda.
Sunting:
Dengan pengetahuan bahwa 1 poin = 4 jam, Anda secara teoritis dapat mengubah deck Poker Perencanaan Anda menjadi 4, 8, 12, 20, 32, dan 52. Tetapi angka-angka itu terasa lebih sulit untuk ditangani. Saya pikir saya akan secara mental mengabstraksi nilai-nilai kembali ke sesuatu yang sederhana, misalnya, "kurang dari sehari", "lebih dari seminggu", dll. Dan jika saya akan melakukan itu, saya mungkin juga tetap dengan unit abstrak poin cerita -less.
sumber
Ini untuk memungkinkan estimasi menjadi lebih baik dari waktu ke waktu, tanpa penaksir semua harus menyesuaikan estimasi mereka.
Daripada semua orang yang terlibat dalam perkiraan harus berpikir seperti "OK .. terlihat seperti 2 hari kerja .. tapi sprint terakhir kami meremehkan semuanya, jadi mungkin ini benar-benar 2,5 hari kerja. Atau 3?", Mereka melakukan hal yang sama seperti biasanya. "5 poin cerita!"
Kemudian, Anda menyesuaikan estimasi Anda tentang berapa banyak poin cerita yang tim dapat lewati dalam sprint, berdasarkan pada pencapaian aktual yang diukur dalam sprint sebelumnya. "Kami telah melakukan poin cerita 90-110 per sprint sebelumnya!"
Saya akan mengatakan teori di balik ini adalah bahwa pengembang lebih baik dalam memperkirakan kompleksitas relatif dari tugas-tugas dev yang berbeda daripada mereka dalam memperkirakan absolut . Terutama jika banyak orang memperkirakan tugas yang dapat dilakukan oleh salah satu dari mereka (dan tidak semua orang bekerja dengan kecepatan yang sama seperti orang lain).
Alternatif sinis: Saya pernah melihatnya mengatakan bahwa pengembang tidak pernah datang di bawah perkiraan waktu. Jika sesuatu membutuhkan waktu lebih lama dari yang diperkirakan, Anda telah melakukannya. Tetapi jika sesuatu membutuhkan waktu lebih sedikit dari yang diperkirakan, pengembang mungkin mengotak-atiknya, menimbun, atau hanya memperlambat dan tenang karena mereka telah diberi tugas yang mudah. Mengambil satuan waktu nyata dari perkiraan dapat mengekang kecenderungan ini. Akhiri alternatif sinis.
sumber
Man days atau man hour adalah seperti yang Anda katakan nyata. Jadi ketika tugas diperkirakan 5 jam dan memakan waktu 6 sekarang tugas yang terlambat.
Ketika Anda memiliki cerita yang merupakan 3 poin dan butuh 6 jam, butuh 6 jam, ini belum terlambat, hanya butuh enam jam. Pengukuran kecepatan daripada lebih merupakan faktor berapa banyak poin yang Anda lakukan dalam sprint, dan angka itu dapat berfluktuasi, karena itu tidak konkret. Anda juga tidak mengukur setiap tugas, tetapi total semua tugas. Ketika Anda memiliki jam untuk setiap tugas, godaan ada untuk mengukur setiap tugas. Ketika itu terjadi, Anda tidak mendapatkan keuntungan dari sprint untuk menyelesaikan di bawah waktu dan itu adalah konsekuensi untuk menyelesaikan dari waktu ke waktu setiap tugas yang diberikan.
Ini bisa menjadi transisi ke pemikiran dalam hal poin. Satu tempat saya bekerja bahkan sebelum kami memperkenalkan ukuran t-shirt lincah hanya untuk mendapatkan ide pada tingkat usaha. Poin hanyalah perpanjangan dari itu.
Itu bukan untuk mengatakan tidak ada kontroversi, atau tugas sewenang-wenang ke poin. Kami memiliki anggota tim kami yang hampir selalu memilih jumlah terendah, dan mengeluh ketika mereka berpikir tugas adalah 1 dan kami pikir itu adalah 3 bahwa kita menderita inflasi titik.
sumber
Abstraksi adalah semacam intinya. Menggunakan 'hari kerja' sebagai ukuran memiliki sejumlah jebakan, termasuk:
Jika Anda ingin memperkirakan hari kerja, ini adalah perhitungan sederhana:
sumber
Seperti yang telah disebutkan, poin cerita adalah ukuran relatif dari kompleksitas. Seseorang dapat menggunakan kekuatan 2 seri (1,2,4,8,16 ...) atau skala Fibonacci (1,2,3,5,8,13,20 ...) untuk estimasi. Sebagai pengembang yang didukung cukup mahir mengatakan sesuatu seperti ini:
Tetapi sangat sulit untuk mengatakan 'berapa lama' fitur ini untuk implementasi. Anda membiarkan itu diimbangi dengan kecepatan. Jadi, jika sesuatu diperkirakan 5 tetapi ternyata 13, kecepatan yang lebih lambat akan menormalkan itu untuk iterasi (atau Anda bisa memperkirakan kembali).
Sekarang, ada alternatif lain, itu disebut 'hari ideal' (beberapa yang mirip dengan hari-manusia tetapi saya tidak yakin apakah itu yang Anda maksud) dan saya tahu beberapa tim yang lebih suka itu. Hari-hari yang ideal harus ditafsirkan sebagai:
Mike Cohn, salah satu dari banyak penginjil gesit yang terkenal memberikan perbandingan berikut ini antara poin cerita dan hari-hari ideal
Poin cerita
Hari yang Ideal
Sekarang, mana yang harus dipilih terserah tim. Namun, karena sebagian besar jawaban di sini dan pengalaman pribadi saya, saya lebih suka poin cerita. Hari-hari yang ideal tidak benar-benar memiliki banyak manfaat daripada SP (dan Mike Cohn juga menganjurkan SP bersama dengan banyak penginjil lincah lainnya).
sumber
Poin cerita juga membantu Anda mengukur peningkatan kinerja tim dari waktu ke waktu. Selain itu, Anda tidak perlu memperkirakan kembali semuanya karena kinerja membaik.
Ambil contoh ini yang menggunakan hari kerja:
Tim memperkirakan tugas yang berbeda dengan hari kerja. Ini berfungsi untuk sementara, tetapi setelah beberapa waktu Anda melihat bahwa tim dilakukan lebih cepat dengan banyak tugas daripada yang diperkirakan. Jadi tim memperkirakan ulang tugas. Ini berfungsi beberapa saat, dan setelah beberapa waktu Anda melihat lagi hal yang sama: Tim dilakukan lebih cepat dengan banyak tugas lagi. Jadi Anda memperkirakan kembali lagi, dan cerita ini berulang lagi, dan lagi dan lagi ...
Mengapa? Karena kinerja tim Anda meningkat. Tetapi Anda tidak tahu tentang itu.
Contoh yang sama dengan poin cerita:
Tim memperkirakan ukuran cerita pengguna. Setelah beberapa sprint, Anda melihat bahwa tim dapat melakukan sekitar 60 poin cerita per sprint. Kemudian, Anda melihat bahwa tim telah mencapai lebih dari 60 poin, mungkin 70. Dan tim terus seperti itu dan menarik lebih banyak cerita pengguna untuk sprint berikutnya dan mengirimkannya.
Mengapa? Karena kinerjanya telah meningkat. Dan Anda bisa mengukurnya. Dan Anda tidak perlu memperkirakan kembali semuanya setelah kinerja tim Anda meningkat.
sumber
Pertama, orang lebih baik pada estimasi relatif daripada estimasi absolut. Babylonians memetakan dan memberi peringkat kecerahan relatif bintang adalah contoh yang bagus. Mereka tidak mendapatkan angka absolut dengan benar, tetapi urutannya kebanyakan tepat bahkan untuk intensitas yang sangat mirip.
Keuntungan kedua adalah bahwa alasan utama untuk melakukan latihan ini adalah untuk mendorong percakapan .. Jika Anda mulai berdiskusi di hari yang tepat, percakapan dapat dengan cepat tergelincir.
Seperti yang dikatakan Napoleon: rencana itu tidak berharga, perencanaan tidak ternilai.
Ketiga, manajer proyek tidak perlu mengedit semua perkiraan, hanya karena ternyata estimasi itu dimatikan oleh faktor, misalnya, 130%.
sumber
Story Points mencerminkan kompleksitas masalah, dan karenanya, mencerminkan kepercayaan (atau risiko) tentang seberapa akurat perkiraan itu.
Sebuah Cerita dengan poin cerita yang tinggi memberi tahu saya bahwa ada banyak hal yang terjadi dengan cerita pengguna yang tidak konkret.
Idenya adalah untuk melihat keseimbangan yang baik dari berbagai titik cerita. Jika saya ditunjukkan rencana iterasi dengan cerita-cerita dengan semua poin cerita tinggi, ini memberi saya sedikit kepercayaan bahwa iterasi akan dieksekusi seperti yang diharapkan dan bahwa kita perlu melihat cerita lain untuk iterasi atau mulai memecah cerita.
Saat berkomunikasi dengan manajer atau Pemilik Produk, poin cerita tinggi berarti bahwa akan sangat kabur kapan mereka akan mendapatkan fitur tertentu. Salah satu solusi untuk ini adalah memecah cerita dan mudah-mudahan Anda akan memiliki kombinasi poin cerita rendah dan tinggi untuk dikerjakan sehingga Anda dapat secara iteratif menunjukkan kemajuan kepada Pemilik Produk.
sumber
Man days memperkirakan waktu yang diperlukan untuk melakukan sesuatu. Mereka paling baik digunakan ketika item yang Anda perkirakan sangat tepat dan terukur. Tugas spesifik, terkenal, berulang dapat diperkirakan dalam man days.
Misalnya, jika seorang tenaga penjualan dapat melakukan 20 panggilan pelanggan per hari, rata-rata, kami dapat menghitung berapa lama setiap panggilan dan dari itu kami dapat memperkirakan berapa hari yang dibutuhkan untuk melakukan 1.000 panggilan.
Dalam contoh ini orang dapat secara konkret berpikir dalam istilah statistik tentang panjang rata-rata panggilan karena semua panggilan dapat dianggap secara efektif adalah hal yang sama.
Poin cerita menentukan kombinasi cerita mana yang dapat dilakukan dalam iterasi. Mereka digunakan untuk menggabungkan tujuan heterogen dengan batas fuzzy dan untuk mengukur berapa banyak yang dapat dilakukan dalam kerangka waktu yang tetap. Mereka memperkirakan kerumitan potongan pekerjaan dibandingkan satu sama lain sehingga dapat menambahkannya bersama.
Misalnya, tim Anda mengembangkan 5 cerita dengan total 23 poin di iterasi 1, dan 8 cerita untuk 20 poin di iterasi 2. Dari sini Anda dapat memperkirakan bahwa dalam iterasi dua tim Anda akan membuat beberapa cerita yang totalnya sekitar 20 poin dalam iterasi 3.
Perhatikan bahwa kita tidak perlu menentukan ukuran satu titik dan khususnya tidak ada asumsi sama sekali bahwa setiap cerita dengan ukuran yang sama akan membutuhkan waktu yang sama untuk dikembangkan! Kami hanya bekerja pada jumlah dan poin per iterasi. Saya bahkan tidak menyebutkan berapa lama iterasi itu.
sumber
Jika Anda berjalan ke manusia di jalan dan bertanya "Seberapa besar T-rex?" jawabannya akan berfluktuasi meskipun mayoritas manusia tahu apa itu T-rex, seberapa besar jenisnya, tetapi tidak ada yang benar-benar tahu pasti - karena kita tidak memiliki skala relatif dari awal.
Itulah perilaku kognitif yang Anda coba cari tahu dengan peramalan dan banyak metodologi memutar siklus dengan " Saya mengerti! Saya punya rahasia untuk peramalan yang akurat! " Minyak ular ke massa. Ketika Anda benar-benar memperkirakan Anda benar-benar mengatakan lebih keras dari " Saya akan MENGIZINKAN x hari / jam / poin untuk itu untuk menyelesaikan " - itu dalam arti menciptakan "kotak waktu" untuk acara yang akan dilakukan dalam.
Bagi saya, Poin hanya menggeser batas, pada akhir hari kecuali jika Anda berada di tim yang senang mengatakan " * Yah kita punya 3 minggu per sprint, dan jempol payah ... saya pikir kita harus menembak untuk 30 poin untuk diselesaikan dalam siklus itu! Siapa yang bersama saya! * "Dan itu sedalam Anda pergi dalam pemodelan perkiraan - baiklah! ..sebagai realistis Anda hanya menetapkan anggaran arbiter dan hanya itu. Anda juga kemudian dalam retrospektif melihat pekerjaan yang dilengkapi dengan rasa "omong kosong, kami melakukan 33print itu, itu cukup keren" dan tidak banyak yang bisa dilakukan tentang itu. Anda dapat menggunakan kecepatan untuk menentukan sprint tengah yang Anda dapatkan untuk uang Anda dengan bertanya, " Apakah kita sudah mencapai 15 poin? Akankah kita""tetapi bahayanya di sini adalah Anda sekarang menggunakan Velocity untuk mengukur produktivitas bukan kapasitas yang dari apa yang saya pahami menendang Reactive Release Management (poin cerita) di kepala ..
Sistem poin hampir terlalu pintar untuk tidak melihat bahwa Anda masih melampirkan waktu relatif untuk persamaan, semuanya dari "siklus sprint" yang Anda setujui untuk standup harian di mana Anda memberlakukan beberapa aturan tersembunyi di sekitar durasi + kompleksitas = " Max butuh waktu lama dengan tugas itu "kode tim bawaan bawaan perasaan saat merah?
Otak manusia tidak dapat meramalkan karena melibatkan banyak memori kerja yang dicampur dengan ingatan jangka panjang / pendek, jadi itu seperti meminta siswa matematika pemula untuk melakukan pecahan di kepala mereka bukan di atas kertas. Itu sebabnya industri lain tidak pernah menyetujui perkiraan dan terus memvalidasi prakiraan dalam waktu relatif (misalnya geolog tidak pernah menghentikan pemodelan prakiraan sampai meter kubik telah digali keluar dari tanah dan kemudian "selesai").
Saya akan mengatakan sistem Point berfungsi jika Anda tidak memperkirakan . Anda menyetujui sebagian pekerjaan yang didasarkan pada algoritma sub-chunking tapi itu benar-benar pendekatan terdekat Anda untuk meramalkan mungkin. Bahkan Anda akan merilis manajemen akan mencari jeda alami dalam antrian "backlog" yang sesuai dengan tema (yaitu di Silverlight we. Manajer Produk akan menunggu sampai setelah mereka menyelesaikan jaminan simpanan dan menyatukan tema-tema yang awalnya kami tetapkan. Kami tidak pernah tahu apa yang dilakukan tim teknik secara khusus kami hanya memiliki garis besar dasar. Kami kemudian akan mengambil tubuh kerja itu dan membangun acara pemasaran kami di sekitarnya (Microsoft Mix))
Ketika Anda mulai mengunci ekspektasi kecepatan di dalam siklus sprint yang mengandalkan kecepatan + waktu, Anda kembali ke perkiraan perkiraan lagi hanya kali ini Anda lebih buruk karena Anda memainkan "itu tergantung permainan" ... Lebih penting lagi Anda Juga membunuh potensi pertumbuhan tim / pertumbuhan karier.
Pajak yang Anda bayar untuk Poin vs Waktu adalah dengan poin yang Anda butuhkan untuk mencari formula pengukuran alternatif untuk melacak pengembangan / pembinaan keterampilan kerja sama atau perilaku pengembang.
Karena Anda masih perlu melihat "pengembang median" sebagai orang ideal Anda untuk melampirkan keterampilan / upaya, Anda kemudian dapat membuat baseline pengembang lain dengan orang itu untuk menentukan bagaimana mereka adil dalam pertumbuhan berkelanjutan mereka dalam tim Anda. Ini juga menyoroti situasi di mana pengembang "cepat" mengangkut sebagian besar air tetapi menjadi bosan atau lebih buruk mereka bekerja berjam-jam dan tidak ada pengakuan / penghargaan karena tenggat waktu yang bersaing dll. Standup tidak menggali ini dalam kenyataan, mereka benar-benar di sana untuk mendeteksi bau busuk di dalam tim, katakanlah, seperti dalam "orang itu sedang berjuang, mari kita bantu"
Berikutnya juga datang cerita "carry over", cerita yang tidak terpotong ke dalam siklus sprint tetapi kemudian tumpah ke siklus sprint berikutnya. Yang kemudian dapat dengan mudah membuat efek knock-on jika Anda memfaktorkan dalam waktu, tetapi saat Anda melakukan faktor dalam waktu relatif..lagi, Anda hanya mundur kembali ke "perkiraan / estimasi berdasarkan waktu" dan lagi-lagi sistem poin hanya mengeruhkan air.
Jika Anda pergi poin Anda telah mengabaikan waktu sepenuhnya dan maksud saya sepenuhnya sebagai saat Anda membiarkan waktu merayap di Anda game ide / metodologi.
Setelah berkeliling dunia sebagai Penginjil, saya melihat banyak tim bersumpah pada apa pun yang mereka sayangi bahwa mereka telah memecahkan kode Agile Forecast ... tapi saya selalu mengklik lidah saya, tersenyum dan berjalan pergi dengan pikiran " yeah ... Anda hampir melakukannya, tetapi nyonya yang kita sebut 'waktu' ... dia hanya kejam ... "
sumber
Buku Mike Cohn "Agile Estimating and Planning" menggambarkan kelebihan dan kekurangan dari estimasi dengan "hari-hari ideal" atau poin cerita, jadi jawaban cepat untuk pertanyaan Anda adalah bahwa Anda tidak perlu memperkirakan dengan poin cerita. Jika lebih alami untuk memperkirakan dalam hari-hari ideal, silakan saja.
sumber
Saya pikir metode Story Point memiliki setidaknya dua keunggulan penting dibandingkan metode Man-day: Pertama, lebih mudah untuk memperkirakan dalam SP. SP relatif dan manusia seperti kita relatif lebih baik daripada estimasi absolut seperti metode hari manusia.
Kedua, ketika Anda memperkirakan dalam SP, Anda mendapatkan "Tim SP" bukan "Manday Individual". Ketika Anda bertanya "Berapa lama tugas ini akan berlangsung?", Senior dev dapat memberi Anda 1 hari tetapi 5 hari untuk Junior. Hari-Man terserah siapa yang akan mengambil tugas itu untuk dilakukan. Jika pemilik dipaksa untuk berubah (dan itu akan!) Anda harus menjadwalkan ulang semuanya. Dengan SP, tetap sama siapa pun yang mengambil tugas.
sumber
Saya terkejut belum ada yang menyebutkan Hukum Parkinson .
Pada dasarnya jika Anda memperkirakan dalam unit waktu apa pun untuk tugas-tugas besar, pengembang akan cenderung mengambil waktu yang mereka perkirakan untuk menyelesaikannya atau pergi. Ketika Anda memperkirakan dalam waktu yang samar-samar seperti Story Points atau Ukuran Kaos Anda menghindari perangkap ini.
sumber
Estimasi titik cerita mengikuti seri fibonacci 1,2,3,5,8,13,21 ...
Otak manusia dapat dengan mudah memetakan hal-hal berdasarkan ukuran. Sebagai contoh: Kami memiliki kartu pos dan menetapkannya sebagai poin cerita 2 dan tiga ukuran kartu posting itu berarti 2 * 3 = 6 poin cerita.
Story Point 6 berada di antara deret Fibonacci nomor 5 dan 8 dengan 5 sebagai angka yang lebih dekat dan karenanya titik penyimpanan akan menjadi 5.
sumber