Saya telah melihat di tempat kerja saya (sebuah Universitas) sebagian besar siswa membuat biaya estimasi perangkat lunak pekerjaan diploma akhir mereka menggunakan COCOMO . Dugaan saya adalah bahwa cara memperkirakan biaya ini agak lama (tanggal COCOMO tahun 1981), maka pertanyaan saya:
How do you estimate costs in your software?
Saya telah melihat hal-hal seperti:
Biaya = (HoursOfWork + EstimatedIddle) * HourlyRate
Bukan itu yang saya inginkan, saya mencari model biaya yang didefinisikan dengan baik (secara ilmiah)
EDIT Saya telah menemukan beberapa pertanyaan terkait pada SO:
pricing
estimation
cocomo
David Conde
sumber
sumber
Jawaban:
Jika Anda terjebak dalam Mode Terjun, satu-satunya metode yang cukup akurat yang saya gunakan adalah:
Anda akan berakhir dengan angka yang sangat tepat. Saya tidak mengatakan itu akurat, tetapi akan tepat.
Akurasi sepenuhnya tergantung pada kemampuan untuk menghasilkan angka untuk setiap tugas berdasarkan pengalaman masa lalu, atau untuk menemukan seseorang yang telah melakukannya sebelumnya. Semakin banyak pengalaman yang Anda miliki, semakin baik estimasi Anda.
Ketika Anda menjalankan proyek, melacak waktu Anda terhadap setiap tugas, dan menuliskan yang Anda lewatkan, sehingga Anda dapat membandingkan. Ini akan membuat Anda lebih baik seiring waktu.
sumber
Perkiraan perangkat lunak sangat sulit. Salah satu pendekatan yang saya gunakan adalah untuk memecah persyaratan menjadi halus mungkin dan memperkirakan masing-masing bagian secara terpisah. Kemudian tambahkan "faktor fudge" yang bisa berupa pengganda (gandakan) atau jumlah tetap (x jam untuk pekerjaan yang tidak terduga). Jika Anda tidak memiliki estimasi persyaratan yang baik, mustahil untuk tujuan praktis.
sumber
Industri ini telah belajar banyak dalam 30 tahun sejak '81. Memperkirakan seperti itu tidak pernah berhasil. Dengan kegilaan Agile yang pada dasarnya menulis ulang lansekap, kami menggunakan "poin cerita" mewakili beberapa "kesulitan komparatif" yang kabur. Kami kemudian mendapatkan "kecepatan" sehingga mucky mucky dapat melakukan estimasi $$ mereka dengan sejumlah data empiris.
sumber
Saya telah mempelajari beberapa pendekatan "keras" seperti perkiraan titik fungsi dan beberapa variasi yang dirancang untuk aplikasi modern. Saya pikir bagian dari pendekatan ini yang berharga adalah itu memaksa analisis yang lebih rinci dari persyaratan yang dikenal maka saya mungkin memberikannya.
Mendapatkan set data yang baik untuk bekerja dengan sangat sulit bahkan jika Anda memiliki model yang baik. Mengukur produktivitas itu sulit. Game orang hampir semua metrik.
Saya telah berhenti menggunakannya karena organisasi saya terlalu disfungsional untuk mengambil manfaat dari perkiraan perangkat lunak, tetapi saya benar-benar memperhatikan kelompok Cost Xpert dan alat mereka; tetapi sangat mahal dan mungkin tidak sebanding dengan biaya dan kurva belajar untuk sebagian besar organisasi.
sumber
Sangat sulit untuk memperkirakan upaya dan biaya, tetapi jika Anda menginginkan sesuatu yang lebih tepat, maka:
bagi HoursOfWork menjadi 3 komponen:
hapus EstimatedIddle.
Perhatikan bahwa apa pun yang membutuhkan waktu lebih lama dari 8 jam akan menimbulkan kesalahan besar.
sumber
Apa yang biasanya kami lakukan adalah membagi lingkup kerja penuh menjadi modul / elemen utama yang dapat dianggap sebagai sub-proyek. Dengan kata lain mereka adalah bagian-bagian pekerjaan yang dianggap klien sebagai bagian terpisah dari proyek dan yang ingin ditaksir secara terpisah oleh klien.
Setelah selesai, kami membagi masing-masing modul menjadi tugas, sub tugas dan bahkan sub tugas yang lebih kecil sehingga masing-masing modul dapat diperkirakan dengan cukup mudah dan estimasi memakan waktu dari satu hingga sepuluh jam kerja. Dengan begitu kita mendapatkan rincian lingkup pekerjaan untuk proyek tersebut.
Langkah terakhir adalah mendistribusikan tugas di antara tonggak sejarah. Kami melakukannya dengan cara sehingga setelah setiap tonggak klien mendapatkan hasil yang terlihat. Itu membantu untuk melewati satu tonggak sejarah dan pindah ke tonggak lain. Jadi akhirnya kami mendapatkan sesuatu seperti:
Modul 1
Awalnya kami melakukannya hanya menggunakan lembar excel. Tetapi lebih dari dua tahun yang lalu kami mulai menggunakan alat perangkat lunak untuk itu. Ada beberapa produk serupa yang membantu dengan itu www.evenflow.com , www.swproposal.com dan beberapa lainnya. Saya tidak ingat semua daftar. Kami melakukan penelitian sejak lama. Semoga itu bisa membantu.
Pertanyaan yang bagus adalah bagaimana cara memperkirakan dengan tepat. Tidak ada estimasi yang benar 100% seperti yang kami yakini. Satu-satunya cara adalah membagi ruang kerja penuh menjadi tugas sekecil mungkin. Semakin kecil tugas yang Anda miliki, ulasan dan analisis yang lebih rinci tentang proyek yang Anda lakukan. Sehingga toh meningkatkan akurasi.
sumber