Berapa lama menghabiskan waktu memperkirakan tugas pemrograman?

9

Sebagai contoh, jika saya memecah proyek menjadi n produk kerja diskrit (katakanlah kelas atau fungsi atau komponen) apakah ada waktu t sehingga n * t adalah jumlah waktu yang tepat untuk dihabiskan pada estimasi?

Michael Behan
sumber
9
Mudah. Rencanakan waktu untuk melihat beban pekerjaan Anda dan perkirakan kira-kira berapa lama perkiraan itu akan berlangsung dan ... oh, tunggu.
joshin4colours
Karena perkiraan Anda semuanya salah sepanjang waktu, nol laba atas investasi = nol waktu yang dihabiskan. Oh, kecuali bos akan memaksa Anda untuk membuat perkiraan palsu. Perkiraan Agile di mana Anda memilih beberapa angka fibonacci acak di beberapa unit pengukuran unitless acak yang disebut BogoEstimons, atau sesuatu, tampak lebih baik daripada perkiraan dalam unit kerja jam manusia nyata.
Warren P
Perkirakan waktu untuk memperkirakan tugas. Biarkan Estimateception dimulai
pengguna

Jawaban:

13

Jika Anda memiliki informasi yang cukup untuk memecahnya ke tingkat itu, Anda tidak boleh menghabiskan lebih dari satu menit untuk masing-masing. Anda tidak akan benar, tetapi Anda akan menjadi benar setelah satu menit dan setelah satu jam.

Jika, di sisi lain, Anda berbicara tentang cerita pengguna , saya akan menyarankan agar para pemangku kepentingan di sebuah ruangan dan menghabiskan lima menit mengajukan pertanyaan sebelum memperkirakan.

Apapun, jangan buang banyak waktu untuk melakukan estimasi. Mereka tidak berguna atau cukup akurat untuk sepadan dengan usaha.

pdr
sumber
3
+1. tapi saya tidak setuju bahwa estimasi tidak terlalu berguna. Mereka membantu merencanakan dengan lebih baik, dan karenanya menjadi lebih produktif.
superM
4
@superM: Saya tidak mengatakan mereka tidak berguna sama sekali. Tentu saja. Saya mengatakan bahwa mereka tidak layak menghabiskan banyak waktu. Perangkat lunak yang bekerja jauh lebih berguna, jadi habiskan sebagian besar waktu Anda untuk itu.
pdr
@superM: Apakah Anda pernah melakukan perbandingan antara estimasi Anda dan nilai riil? Ini akan memberi pelajaran besar tentang nilai nyata dugaan (yang merupakan estimasi berdasarkan definisi). Estimasi adalah hal Pareto klasik: Anda mendapatkan estimasi yang cukup baik dalam 20% dari waktu. Membuang-buang waktu lagi akan membuatnya hanya 5% lebih baik.
JensG
Bagi saya, semakin lama saya mengerjakan proyek, semakin baik perkiraan yang saya buat. Ada terlalu banyak faktor dan beberapa di antaranya yang tidak bisa saya kendalikan, dan mengetahui faktor-faktor [spesifik proyek] itu disertai dengan pengalaman. Kadang-kadang Anda tidak bisa lepas dari perkiraan, dan kadang-kadang Anda termasuk di antara mereka yang menderita dari perkiraan Anda yang tidak akurat.
superM
2

Dalam pengalaman saya, salah satu bagian inti dari pendekatan lincah 'ya, yang benar-benar berhasil' adalah pedoman 'Tugas harus kurang dari sehari'. Jika Anda memperkirakan hal-hal yang membutuhkan waktu lebih lama dari satu hari, Anda akan cukup jauh.

Setelah Anda memecahnya sehingga Anda bisa melakukan itu, Anda sudah cukup banyak melakukannya; terlepas dari apa sebenarnya hal-hal itu.

Telastyn
sumber
2

Dalam metodologi scile tangkas, Perencanaan Poker dipandang sebagai cara yang efektif untuk menggunakan seluruh tim untuk dengan cepat memperkirakan upaya yang diperlukan untuk cerita pengguna dalam sprint (anggap ini adalah apa yang Anda bicarakan). Kalau tidak, saya tidak akan menghabiskan lebih dari beberapa menit memperkirakan satu tugas yang merupakan bagian dari cerita pengguna.

Saya akan sangat menyarankan menggunakan teknik berbasis konsensus ini jika Anda mencoba membuat estimasi untuk tim pengembang.

Merencanakan poker berarti Anda bisa mendapatkan perkiraan yang cukup bagus untuk setiap cerita pengguna tunggal dalam satu sesi (tidak lebih dari 1-2 jam).

Bacalah ini dan cobalah!

Juga, sebagai aturan umum, tidak ada tugas dalam cerita pengguna harus melebihi 7,5 jam (satu hari kerja). Jika ya, Anda harus membagi tugas menjadi tugas yang lebih kecil.

Ciaran Gallagher
sumber
1
Merencanakan estimasi poker Poin, yang ada di No Real Units Apa pun. Jenis mana yang membuat mereka analog dengan perkiraan sebenarnya; Tebak Ass Liar.
Warren P
1
Idenya adalah bahwa jika kita tahu bahwa tugas 1 poin akan memakan waktu 7,5 jam, misalnya, maka kita dapat mengatakan bahwa cerita pengguna 5 poin akan memakan waktu 30 jam, dan bahwa cerita pengguna 10 poin akan memakan waktu 60 jam. Misalnya, kami mungkin memilih salah satu tugas terkecil, dan perkiraan waktu dapat ditetapkan sebagai nilai titik cerita pengguna tunggal. Kemudian, kita dapat menggunakan kisah pengguna ini sebagai dasar untuk memperkirakan tugas yang lebih besar. Jika kami pikir tugas lain akan memakan waktu dua kali lebih lama, kami akan menetapkan 2 poin cerita pengguna (15 jam), dan seterusnya.
Ciaran Gallagher
1

Saya pikir itu tergantung pada apa yang Anda butuhkan. Jika, misalnya, alokasi sumber daya proyek Anda bergantung padanya (seperti yang sering terjadi di sini), lebih baik melakukannya dengan hati-hati. Di sisi lain jika Anda melakukan proyek yang tidak memiliki kebutuhan semacam ini Anda mungkin tidak masuk ke detail terlalu banyak. Menghabiskan terlalu banyak waktu untuk hal itu bukanlah ide yang baik karena melakukan estimasi yang akurat sangat sulit.

Ada konsep terkenal yang disebut Kerucut Ketidakpastian dan Kerucut Ketidakpastian di Wikipedia yang mengatakan seberapa akurat perkiraan biasanya. Perlu dibaca.

Joqus
sumber
1

Apa yang Anda dapatkan dari perkiraan Anda?

Bergantung pada apa yang Anda kerjakan, perkiraan individu yang akurat mungkin relevan (pelanggan membayar Anda pada akhir minggu atau tugas / cerita diblokir untuk orang lain dan diperlukan ETA yang tepat) atau tidak (Anda punya 200 cerita di backlog, tidak ada yang akan mati jika sebuah cerita bergeser selama seminggu, dan Anda mengandalkan perkiraan kesalahan untuk rata-rata keluar ok atas sejumlah besar dari mereka).

Hanya menghabiskan waktu minimum untuk mendapatkan perkiraan yang cukup baik untuk kebutuhan Anda. Tidak ada formula.

Secara pribadi, saya menganggap lebih dari satu atau dua menit berarti bahwa Anda mungkin memperkirakan hal yang salah (membaginya atau merencanakan penemuan).

ptyx
sumber
0

Sebenarnya Anda perlu estimasi untuk membantu pemangku kepentingan lain menetapkan prioritas relatif - jadi estimasi berbasis luas yang setidaknya mengatakan task1 kira-kira 3 kali usaha dibandingkan dengan task2, (bahkan jika dalam hal jam pada akhirnya tidak terlalu akurat) berguna. Luangkan sebanyak mungkin waktu untuk memahami apa tugas itu (untuk mencapai tujuan tertentu) dan kemudian membuat perkiraan kasar untuknya.

Setelah Anda memiliki prioritas relatif, fokus saja pada melakukan sesuatu dan sesuaikan perkiraan dalam perjalanan. Dengan kata lain, habiskan sedikit waktu dalam perkiraan di muka, tetapi perbaiki perkiraan Anda seiring berjalannya waktu sehingga rencana proyek memberikan ide yang baik ketika apa yang akan dilakukan.

Roopesh Shenoy
sumber
0

Estimasi yang baik adalah yang pernah didasarkan pada fakta bukan asumsi.

Jadi, jika Anda sudah memiliki proyek yang serupa dan menangkap waktu perkiraan Anda sebelumnya, itu mungkin server sebagai basis estimasi yang baik untuk memulai . Namun, tergantung pada ruang lingkup proyek Anda, mungkin ada artefak yang tidak diketahui , yang lebih baik untuk diperjelas dengan BA atau pemilik produk secepatnya.

Juga benar untuk mengatakan bahwa: Estimasi Proyek Perangkat Lunak Sangat Tidak Akurat . Namun, ada beberapa praktik estimasi realistis yang mungkin membantu:

  • Orang yang melakukan pekerjaan, harus berpartisipasi dalam estimasi proyek
  • Membawa para ahli: Pertimbangan ahli sangat penting untuk keberhasilan proyek
  • Perkirakan potongan besar sebagai rentang
  • Gunakan Teknik Delphi: Ini adalah metode yang membantu menyatukan pendapat tim jika ada konflik dalam estimasi proyek perangkat lunak.
  • Perlu diingat biayanya
  • Perlu diingat sumber daya yang dialokasikan tersedia untuk melakukan pekerjaan
Yusubov
sumber
Saya tidak pernah mengamati tim atau individu yang melakukan estimasi yang secara rutin (lebih dari 50% dari waktu) ternyata akurat dalam 10% dari waktu aktual yang dihabiskan. Orang lain di tempat lain mengklaim keberhasilan yang tampaknya sulit bagi saya untuk membayangkan pernah terjadi di mana pun saya pernah bekerja.
Warren P
"akurat dalam 10% dari waktu aktual yang dihabiskan" - hasil yang sebenarnya sangat buruk. Juga memperhitungkan margin kesalahan, yang meningkat karena kompleksitas dan dependensi eksternal proyek.
Yusubov
Itu yang saya katakan. Estimasi menyebalkan.
Warren P
ya, itu adalah pukulan besar untuk memiliki "akurat dalam 10% dari waktu aktual yang dihabiskan" ...
Yusubov