Ini adalah topik yang kompleks, dan sering ada perdebatan tentang topik tersebut. Saya tidak suka konsep opini "kanonik" tentang ini: ada berbagai pendapat dengan nilai. Tetapi ada nilai-nilai pendukung, prinsip dan praktik yang harus memandu pendekatan ini.
Berikut ini berdasarkan pendapat saya sendiri yang bekerja dengan tim scrum selama lebih dari 10 tahun. Tapi itu hanya pendapatKU.
Poin Cerita sebagai metode Peramalan Maksud asli dari poin cerita adalah untuk menemukan metode cepat untuk memperkirakan upaya dengan tujuan memperkirakan apa yang dapat diselesaikan oleh suatu tim selama periode waktu tertentu. Beberapa "tokoh" menyatakan bahwa poin hanya digunakan untuk meramalkan ruang lingkup jangka panjang (lebih dari rilis, misalnya), dan tidak menentukan kapasitas pada tingkat sprint. Selain itu, konsepnya adalah bahwa tim menerapkan "ukuran relatif" berdasarkan nilai historis (Upaya X mirip dengan Upaya B, yang merupakan 3 poin). Ini mempercepat proses estimasi sehingga tim tidak perlu memecah pekerjaan masa depan ke dalam paket kerja yang terperinci dan menerapkan jam untuk semua tugas. Tim berkinerja tinggi berusaha untuk menumbuhkan semua pekerja teknis menjadi anggota yang sangat kompeten dari tingkat keterampilan yang sama. (Konsep ini akan dieksplorasi lebih lanjut di poin # 4) Ketika ini tercapai, maka tingkat keterampilan individu benar-benar bukan variabel dalam ukuran. TETAPI: Biasanya butuh waktu yang cukup lama dan upaya bersama untuk mencapai tujuan itu. JADI ... apa yang kita lakukan sebelum sampai di sana?
Jam kerja menentukan kapasitas sprint: Menurut "tokoh-tokoh" yang sama yang menyatakan bahwa poin digunakan untuk peramalan jangka panjang, mereka juga mengusulkan bahwa Jam Tugas digunakan untuk menentukan kapasitas sprint, bukan poin. Menurut pendapat saya, itu baik-baik saja, tetapi saya akan mengatakan bahwa ketika saya telah membantu melatih tim untuk "Berperforma Tinggi", keterampilan mereka yang rata-rata keluar di mana mereka dapat secara akurat menentukan apa yang bisa mereka selesaikan dalam sprint menggunakan Story Points saja. . Sekali lagi, itu bisa menjadi tujuan yang kami perjuangkan, tetapi tim yang lebih baru belum siap untuk itu. Karenanya, Anda dapat menemukan dalam satu sprint Story dengan 2 poin yang memiliki 12 jam tugas, dan yang lain dengan 25 jam upaya. Jadi apa yang kamu lakukan? Beberapa orang yang saya sebut "agile-purist" akan menyatakan bahwa ukuran Story (dalam poin) harus agnostik terhadap durasi. Yang lain tidak setuju. Baca logika pada item # 3 dan lihat apa yang Anda pikirkan.
- Menunjuk Cerita berdasarkan konsensus: Menerapkan Volume, Tidak Diketahui, Kompleksitas, Pengetahuan
Jadi tim melihat karya dan perlu menyepakati poin yang akan menjadi proksi untuk Level Upaya. Baik? Dengan asumsi bahwa semua keterampilan sama, maka konsensus mudah dicapai. Tetapi sering tim memiliki seorang pria yang adalah guru Jawa, yang lain tidak begitu hebat di Jawa (mungkin dia adalah seorang C # atau .Net atau orang Cobol dan sedang belajar Java). Jadi tugas X untuk Bob sangat sederhana. Bagi Jane, ini lebih sulit.
Tim tangkas mencoba mempromosikan kepemilikan kode kolektif, dan menumbuhkan / memperluas keahlian. Jadi kami biasanya tidak memberikan cerita kepada orang-orang berdasarkan keahlian mereka: kami lebih suka tim secara kolektif mengerjakan cerita dan belajar bersama. Ini selaras dengan konsep "melambat untuk mempercepat": jika kita meluangkan waktu untuk memberi Jane pengalaman dengan Java, sementara ini mungkin memperlambat kita pada awalnya, kemudian kita akan memiliki pengembang Java yang lebih kompeten. Faktanya, jika kita hanya memiliki SATU pakar Java, dan semua orang bekerja berdasarkan bidang keahliannya masing-masing, kita menciptakan situasi dengan beberapa "titik kegagalan" potensial. Apa yang terjadi dalam sprint ketika 90% pekerjaannya adalah Java, tetapi Bob (pakar Java kami) sedang sakit atau sedang berlibur? Dengan mengembangkan keterampilan, kami menghilangkan potensi kemacetan dan mengurangi risiko. Dengan mengingat hal itu: Ketika tim melihat sebuah cerita, mereka harus memiliki beberapa konsep dalam pikiran ketika mengukur. Anda bisa memikirkan akronim VUCK untuk mengingat ini.
Volume: Beberapa upaya cukup sederhana, tetapi membutuhkan banyak tugas yang berulang. (Saya mempunyai seorang pria yang harus menyalin dan memformat ulang 50 + tabel yang mengatakan itu adalah 1 poin karena sederhana. Tetapi setelah refleksi tim menyadari bahwa sementara itu mudah, itu memakan waktu dan ada sejumlah besar tabel untuk dipindahkan dan dioptimalkan. Jadi kami harus menyesuaikan kembali poin karena volume pekerjaan)
Tidak Dikenal: Terkadang kami BERPIKIR kami tahu apa yang harus dilakukan, tetapi kami juga mengidentifikasi beberapa yang tidak diketahui - ini mewakili RISIKO . Dan ini menyiratkan bahwa kita mungkin mengalami masalah tak terduga yang harus kita selesaikan, desain ulang, atau coba solusi yang berbeda.
Kompleksitas: Yang ini cukup jelas. Beberapa solusi rumit secara teknis. Kami tahu persis apa yang harus dilakukan, tetapi membutuhkan keahlian teknis. Kompleksitas juga mengandung risiko, bukan? Jadi, bahkan jika kita semua memiliki keterampilan yang sama, kompleksitas teknis menyiratkan kita mungkin mengalami tantangan yang tidak terduga. Jadi kita bisa membuat cerita ini lebih besar.
Pengetahuan: Apakah kita BENAR-BENAR tahu apa yang sedang kita selesaikan? Terkadang pelanggan tidak sepenuhnya jelas tentang solusi yang mereka inginkan, dan kami bereksperimen sedikit. Atau mungkin tidak ada yang pernah mengimplementasikan solusi ini (teknologi baru yang tidak pernah digunakan sebelumnya) sehingga kami tidak tahu apa yang tidak kami ketahui.
Menurut pendapat saya, setiap pertimbangan ini sebenarnya adalah proksi untuk durasi yang diperpanjang. Cerita mudah, banyak volumenya? Itu akan memakan waktu lebih lama, atau kita perlu membagi cerita. Tidak dikenal Risiko tambahan, penelitian, eksperimen, mungkin butuh waktu lebih lama atau kita perlu membagi cerita. Kompleks? Risiko tambahan, perlu memperbaiki bug, mendesain ulang dll. Sehingga mungkin membutuhkan waktu lebih lama. Tidak tahu apakah kami memiliki Pengetahuan yang diperlukan? Kami memiliki risiko tambahan, mungkin perlu bereksperimen, dll, sehingga mungkin perlu waktu lebih lama ...
Lihat kemana ini? Jadi, sementara konsep poin cerita mencegah kita untuk berpikir tentang durasi saat memperkirakan, di sisi lain itu tidak masuk akal untuk memiliki cerita 1 poin yang dapat kita selesaikan dalam 4 jam dan cerita 1 poin lainnya yang sederhana tetapi akan mengambil 2 minggu.
- Tim berkinerja tinggi menghilangkan Silo & Bottlenecks: Karena tim mencoba untuk menaikkan level semua anggota, mereka terkadang memiliki anggota yang kurang berpengalaman mengambil tantangan baru, atau akan memasangkan kode untuk berbagi pengetahuan untuk meningkatkan sebagai tim. Seperti yang disebutkan sebelumnya, ini adalah syarat jika tim akan pernah mencapai level Performa Tinggi yang benar.
Jadi, jika Jane secara sukarela melakukan upaya Jawa itu dan itu akan membuat upaya itu 2x atau 3x durasi dari upaya yang sama jika Bob melakukannya, apa yang Anda lakukan? Seiring waktu, tim saya menentukan ukuran cerita berdasarkan tingkat upaya (LOE) / VUCK untuk orang-orang yang bekerja. Tidak masuk akal bagi Bob, tim Guru, untuk mengatakan "itu angka 1" padahal bagi Jane itu tidak mudah dan membutuhkan waktu seminggu untuk menyelesaikannya, ditambah memerlukan waktu Bob untuk pengkodean pasangan dan peninjauan kode. Oleh karena itu, kami mengumpulkan poin-poin tersebut untuk mencerminkan LOE yang sebenarnya. Kali berikutnya cerita yang sama datang, apa yang 8 bagi Jane sebelumnya menjadi 5. Akhirnya, semua orang setuju itu mudah 3. Pada saat itu, kami tahu kami tumbuh sebagai sebuah tim.