Jika perkiraan bukanlah janji, maka sebagai pemilik produk bagaimana saya bisa mengirimkan proyek saya tanpa mengetahui berapa lama?
Apakah tim Scrum bekerja lebih efisien jika kita memperlakukan perkiraan waktu sebagai janji?
Berapa banyak penelitian (persiapan, upaya untuk memahami masalah) dalam sebuah cerita yang cukup untuk menghasilkan perkiraan yang tepat?
Bagaimana dengan masalah teknis yang tidak terduga (masalah yang benar-benar dapat mengacaukan perkiraan awal Anda) yang muncul setelah Anda memperkirakan pekerjaan Anda?
scrum
project-planning
daehaai
sumber
sumber
Jawaban:
Estimasi bukanlah janji yang terukir di atas batu. Mereka adalah tebakan terbaik yang dapat dilakukan tim tentang upaya yang diperlukan untuk menyelesaikan tugas / cerita.
Dalam menjawab pertanyaan Anda "sebagai pemilik Produk bagaimana saya bisa mengirimkan proyek saya tanpa waktu sebagai referensi?", Jawabannya adalah Anda dapat dan harus memiliki waktu sebagai referensi (yaitu Anda akan merilis pada tanggal tertentu). Apa yang tidak Anda miliki adalah ruang lingkup persis yang akan berada dalam pengiriman.
Perhatikan bahwa apa yang saya katakan adalah benar untuk setiap metodologi yang Anda gunakan untuk mengarahkan pengembangan Anda. Perbedaan antara Scrum dan metodologi lainnya (seperti Air Terjun), adalah bahwa dalam Scrum fakta ini diakui, dan diperhitungkan. Apa yang akan Anda lakukan, sebagai PO, adalah memprioritaskan ruang lingkup Anda, dan memastikan bahwa tim, pada saat tertentu adalah:
Setelah itu, Anda sekarang dapat mengirim, atau mengirimkan, dengan mudah, mengetahui bahwa pada saat tertentu , produk terbaru adalah produk terbaik yang dapat dikirimkan. Ini berarti bahwa pada tanggal komitmen rilis asli Anda, Anda akan memberikan produk terbaik.
Tentu saja, ini tidak menjanjikan bahwa itu akan terdiri dari setiap cerita yang Anda minta dari tim untuk dikembangkan, tetapi Anda tahu bahwa yang tidak lengkap yang tersisa tentu saja yang paling tidak penting, yang dapat dengan mudah disampaikan di kemudian hari.
Juga, perkiraan yang dibuat oleh tim akan semakin lebih baik, memungkinkan Anda untuk memiliki gagasan awal yang solid tentang apa ruang lingkupnya pada akhir rilis. Anda akan dapat mengirimkan produk padat yang baik tepat waktu, dengan beberapa fitur tambahan yang tidak terlalu penting beberapa minggu kemudian (tentu saja Anda dapat memperkirakan kapan itu akan terjadi).
Adapun jumlah penelitian yang diperlukan - ada hukum pengembalian yang semakin berkurang di sini. Jika Anda membagi cerita Anda cukup kecil, maka sedikit riset harus memberi Anda perkiraan yang cukup dekat. Jika Anda salah, maka Anda akan mengubah sprint berikutnya dan perkiraan akan lebih baik. Dalam 3-4 sprint, secara rata-rata, Anda harus memiliki gagasan yang bagus tentang berapa banyak ruang lingkup yang dapat dikirimkan oleh tenggat waktu (atau berapa lama waktu yang dibutuhkan untuk menyelesaikan ruang lingkup).
sumber
Ketika Anda memperkirakan poin cerita dalam Scrum, Anda harus cukup tahu untuk dapat mulai menulis fitur tersebut. Perkiraan ini tidak diharapkan sepenuhnya akurat, inti dari metodologi pengembangan Agile adalah bahwa mereka mengakui bahwa Anda tidak dapat secara akurat memprediksi berapa lama pengembangan akan berlangsung.
Tahap di mana Anda membuat komitmen untuk menyampaikan adalah ketika Anda menerima cerita dari jaminan produk menjadi Sprint. Anda berjanji untuk menyampaikan kisah-kisah itu dalam sprint.
Jika Anda membuat komitmen ini, ini berarti Anda bersedia melakukan beberapa jam tambahan jika sepertinya Anda tidak akan memenuhi janji Anda. Pada kenyataannya, beberapa cerita akan memakan waktu lebih lama dari yang Anda pikirkan dan yang lain akan memakan waktu lebih sedikit dari yang Anda pikirkan.
Ketika tim telah melakukan estimasi yang cukup, mereka akan menjadi lebih baik.
Anda mungkin juga ingin melihat ...
The Clean Coder (Book) - ada bab dalam buku ini berjudul "The Language Of Commitment" dan juga bab tentang memperkirakan, yang benar-benar membuka mata.
Kanban - Kanban lebih dari gaya tarik pengembangan berjalan - ada juga kombinasi Scrum dan Kanban disebut "Scrumban", yang menarik dari kedua ide.
sumber
Tidak.
Jumlah semua perkiraan pada setiap tugas yang diselesaikan dalam sprint disebut velocity . Velocity didefinisikan sebagai "jumlah poin yang diselesaikan per sprint" di mana 'point' adalah unit yang diperkirakan oleh tim Anda.
Jadi kecepatannya memberi tahu Anda berapa banyak tim Anda dapat menghasilkan dalam sprint berikutnya, dengan asumsi mereka menggunakan metode yang sama untuk memperkirakan dan tim stabil.
Dan itulah bagaimana Anda bisa yakin apa yang dapat disampaikan tim tanpa harus membuat janji acak.
sumber
Estimasi upaya adalah alat untuk perkiraan. Prakiraan bukanlah komitmen atau jaminan. Ramalan dievaluasi ulang secara berkelanjutan untuk memperhitungkan pengetahuan baru dan harus mencakup kemungkinan alternatif seperti variasi optimis dan pesimistis.
Kami maju melihat Agile. Komitmen tidak menambah nilai pada perencanaan organisasi daripada perkiraan.
Sangat merekomendasikan Mike Cohn's Agile Estimating and Planning
sumber
Anda tidak bekerja dengan satu perkiraan besar, tetapi dengan banyak perkiraan kecil di tingkat cerita. Banyak kesalahan estimasi di tingkat cerita rata-rata keluar. Anda tidak dapat menjanjikan konten dan tanggal. Anda dapat, bagaimanapun, cukup yakin bahwa bagian atas jaminan simpanan akan dirilis (sebagai alternatif, memiliki tanggal yang cukup akurat - tetapi tidak tetap - pada saat seluruh jaminan simpanan dapat dikirimkan).
Tidak. Itu mengarah pada perkiraan pengantongan pasir dan mengubah grafik kecepatan / burndown menjadi data yang tidak berguna - yang mencegah tim untuk meningkat.
Tergantung seberapa besar Anda peduli dengan presisi. Anda dapat menghabiskan berminggu-minggu mempersiapkan setiap perkiraan dengan hati-hati, atau memberikan perkiraan niat baik cepat dan harapan kesalahan rata-rata. Cara pertama adalah mengatur kegagalan, karena memperkirakan sesuatu yang belum pernah Anda lakukan sebelumnya benar-benar sulit, dan rekayasa perangkat lunak adalah semua hal yang belum pernah Anda lakukan sebelumnya.
Secara pribadi, saya tidak berpikir ada banyak manfaat dari mencoba untuk mendapatkan perkiraan yang sangat akurat. Apa yang saya coba lakukan adalah memastikan perkiraannya cukup akurat - yaitu saya tidak melewatkan sesuatu yang dapat menyebabkan cerita menyimpang dari perkiraannya dengan urutan besarnya. (Lihat poin berikutnya).
Iterasi kecil. Backlog yang dipesan. Cerita kecil. Hal-hal berbahaya adalah apa yang Anda tidak tahu Anda tidak tahu. Kurangnya keahlian pada suatu masalah akan menghasilkan perkiraan yang buruk, tetapi Anda dapat menyesuaikan dengan memperoleh keahlian (lebih banyak elaborasi) atau mengikuti perkiraan yang 'cukup baik' - itu semua tentang manajemen risiko.
sumber
Ini adalah salah satu kesalahpahaman terbesar tentang Scrum. Pertanyaan "Berapa lama proyek saya akan berlangsung?" mengasumsikan bahwa Anda dapat menentukan, pada titik waktu tertentu, persis apa yang diperlukan proyek untuk menyelesaikannya. Tetapi seluruh gagasan tentang Scrum adalah bahwa ia mengakui bahwa hal-hal yang Anda pelajari tentang suatu proyek, ketika Anda mengerjakan proyek, akan mengubah definisi proyek.
Cara paling umum untuk mendefinisikan suatu proyek adalah dengan membuat daftar fitur yang akan dimilikinya. Biasanya, proyek selesai ketika semua fitur telah diimplementasikan. Tetapi bagaimana jika, ketika Anda mengerjakan suatu proyek, Anda menyadari bahwa 5 fitur yang diidentifikasi pada awal tidak akan dibutuhkan, tetapi ada 7 fitur yang dipikirkan orang dalam 6 bulan pertama yang benar-benar harus dimasukkan? Apa yang dilakukan untuk pertanyaan tentang berapa lama?
Faktor lain adalah bahwa hal-hal yang Anda pelajari akan mengubah pemahaman Anda tentang bagaimana menerapkan fitur-fitur tertentu, dan ketika Anda semakin dekat untuk mengimplementasikan setiap fitur, perkiraan Anda akan berubah. Secara pribadi, saya akan menolak menempatkan estimasi numerik pada apa pun yang tidak mendekati cakrawala implementasi - mungkin menggunakan perkiraan deskriptif seperti "kecil", "kecil", "menengah", "besar" dan "besar" atau "epik". Maka Anda tidak menyiratkan akurasi yang lebih besar dari yang dapat Anda perkirakan.
Sejujurnya, "Berapa lama waktu yang dibutuhkan?", Tidakkah bisa dijawab lebih dari, "Apa yang akan terjadi jika sudah selesai?". Akuntan dan pebisnis tradisional membenci ini, itulah sebabnya sangat sulit untuk menjauh dari Air Terjun di beberapa organisasi.
Itu juga mengapa Anda perlu banyak berbicara tentang kecepatan dan metrik dengan sebutir garam. Proyek perangkat lunak memiliki semacam Prinsip Ketidakpastian Heisenberg yang dibangun di dalamnya, dan jika Anda menghabiskan terlalu banyak waktu untuk pengukuran fine tuning, Anda hanya akan berakhir dengan omong kosong yang sangat tepat.
Jadi tidak, perkiraan bukanlah janji. Itu perkiraan. "Janji" adalah komitmen yang dibuat oleh Tim untuk menyelesaikan sejumlah fitur atau cerita tertentu dalam Sprint tertentu.
Perkiraan tersebut perlu cukup akurat untuk memungkinkan Tim mengidentifikasi berapa banyak fitur (atau cerita) yang dapat dimasukkan ke dalam Sprint dengan pas. Yang lebih penting daripada ketepatan dalam perkiraan adalah konsistensi, karena Tim akan mempelajari berapa nilai pekerjaan perkiraan yang dapat mereka masukkan ke dalam Sprint, bahkan jika pekerjaan yang sebenarnya ternyata biasanya dua kali lebih banyak dari yang mereka perkirakan. Selama secara konsisten mati, mereka akan dapat merencanakan.
sumber