Apakah ada yang menggunakan metode estimasi perangkat lunak dalam penelitian sains komputasi mereka?

11

Di tempat kerja, saya pada dasarnya berfungsi sebagai konsultan independen. Untuk manajemen dan pelanggan, saya perlu memperkirakan jumlah waktu yang diperlukan untuk mengembangkan perangkat lunak sebagai bagian dari penelitian ilmu komputer saya. Namun, perkiraan waktu saya biasanya tidak aktif. Saya tahu bahwa ada metode untuk memperkirakan waktu yang diperlukan untuk mengembangkan perangkat lunak. Apakah metode ini memberi saya perkiraan akurat untuk tugas-tugas penelitian? Apakah mereka bahkan berguna dalam pengaturan penelitian? Jika tidak, adakah metode yang lebih baik daripada "menyimpan catatan dan merevisi estimasi yang sesuai"?

Geoff Oxberry
sumber
1
Dengan adanya perbedaan urutan antara programmer yang paling terang dan yang tidak terlalu pintar, menggunakan kembali set data yang ada tidak akan membuat perkiraan Anda secara ajaib sesuai dengan kenyataan. Apa yang dapat Anda lakukan, adalah berjalan melalui proyek-proyek Anda sebelumnya dan mengumpulkan data kompleksitas, dan cocok dengan beberapa regresi sederhana. Penelitian berbeda dari jenis kegiatan lain karena ada risiko signifikan mengenai menabrak dinding bata beberapa kali ... Bangun margin yang terkait dengan kebaruan relatif proyek Anda, dan gunakan Hukum Murphy untuk mengoreksi optimisme Anda sendiri.
Pemburu Rusa
4
Dalam karier sebelumnya sebagai pengembang perangkat lunak, saya secara rutin melakukan estimasi semacam ini untuk proyek yang ditentukan dengan baik. Jika desainnya cukup lengkap, dan tidak ada risiko teknis yang signifikan, ini berhasil dengan cukup baik. Namun, jenis pengembangan perangkat lunak yang saya lakukan sekarang benar-benar lebih banyak penelitian daripada pengembangan perangkat lunak - ada pertanyaan signifikan apakah ide itu akan berhasil, dan masalah yang tidak terduga muncul sepanjang waktu.
Brian Borchers

Jawaban:

1

Di sebagian besar pengaturan penelitian, Anda tidak memiliki akses ke programmer profesional dengan tingkat keterampilan yang relatif seragam yang waktunya dapat Anda tentukan. Sebaliknya, Anda memiliki campuran programmer yang berpengalaman (mungkin postdocs, mungkin fakultas) dan mahasiswa pascasarjana dengan sedikit pengalaman pemrograman dan tidak memiliki pengalaman sama sekali tentang proyek skala besar. Selain itu, semua aktor ini memiliki banyak tugas lain (mengajar, TAing, meninjau makalah, duduk di komite) yang sangat bervariasi sepanjang waktu. Sebagai konsekuensinya, saya pikir akan sangat sulit untuk memiliki perkiraan yang akurat. Tentu saja, pengalaman saya adalah bahwa "itu akan memakan waktu lebih lama dari yang saya kira".

Wolfgang Bangerth
sumber
Anda benar tentang semua masalah ini dalam kasus umum. Saya ingin tahu karena dalam kasus saya, saya sering satu-satunya yang mengerjakan pengkodean (paling banyak, satu atau dua orang lain juga melakukan pengkodean pada proyek yang sama, tetapi biasanya pada tugas yang tidak berhubungan atau independen). Juga, karena sifat pekerjaan saya yang seperti konsultan, saya tahu dengan keyakinan tinggi berapa banyak waktu yang dapat saya habiskan untuk proyek tertentu setiap minggu, yang sedikit mengurangi ketidakpastian.
Geoff Oxberry