Sebelum saya melangkah terlalu jauh, izinkan saya mengatakan bahwa Perkiraan Perangkat Lunak: Demistifying the Black Art adalah sumber yang bagus untuk orang-orang yang melihat dan berpikir tentang perkiraan. Kedua gambar di bawah ini berasal dari buku itu sebagaimana inti jika ide-ide yang disajikan berikut.
Seperti yang telah Anda catat, estimasi adalah bagian penting untuk dapat memprediksi dan merencanakan pekerjaan secara akurat. Tidak memiliki estimasi membuat bisnis buta tentang berapa lama sesuatu akan terjadi. Bukan hal yang aneh bagi bisnis untuk memiliki gagasan yang sepenuhnya keliru mengenai berapa lama hal itu akan terjadi - apa yang menurut mereka mudah memakan waktu enam hingga delapan minggu dan apa yang dianggap sulit adalah hack sore hari Jumat.
Hal pertama adalah memberi perkiraan. Perkiraan itu sendiri bukan angka tunggal - itu komitmen. "Berapa lama ABC berlangsung" -> "Sekitar 5 hari" berarti sekitar 5 hari. Namun, perkiraan yang baik adalah rentang di mana Anda 90% yakin bahwa Anda akan memilikinya dalam kisaran itu. Jika Anda bermaksud mengatakan "Saya 90% yakin bahwa itu akan memakan waktu antara 1 dan 5 hari" maka katakan itu. Jangan bekerja dari "Saya pikir itu akan memakan waktu antara 1 dan 10 hari, jadi 5 hari mungkin tentang rata-rata" - itu bukan perkiraan dan Anda akan salah 50% dari waktu.
Nah, 50% atau lebih dari waktu itu, programmer terkenal sebagai underestimator yang terkenal untuk waktu tugas.
Pertimbangkan Kerucut Ketidakpastian:
Gambar dari http://www.construx.com - artikel lengkap di http://www.construx.com/Thought_Leadership/Books/The_Cone_of_Uncertainty/
Sadarilah bahwa perkiraan pertama dalam kisaran itu adalah 16x. Ini mirip dengan mengatakan "Saya pikir itu akan memakan waktu antara siang dan dua minggu" - tetapi Anda belum tahu. Saat Anda maju sedikit dengan desain, kisaran menyempit ke 4x. Ini tidak berarti bahwa itu akan memakan waktu satu minggu, itu berarti bahwa Anda malah akan mengatakan "setelah melihat ini sedikit, itu akan memakan waktu antara tiga minggu" - ya, perkiraan naik, tetapi juga kisaran perkiraan pergi turun.
Dengan setiap taksiran yang Anda berikan, Anda harus yakin 90% bahwa taksiran itu berada dalam kisaran itu. Anda bisa salah - 10% dari waktu itu akan jatuh dari kisaran itu.
Ada banyak cara untuk memperkirakan ukuran proyek. Membandingkannya dengan proyek-proyek sebelumnya, menggunakan proxy (saya pikir itu akan membutuhkan 1000 baris kode yang akan memakan waktu selama ini untuk menulis), menggunakan titik fungsi (untuk mengkonversi menjadi LOC ...), mendapatkan perkiraan dari sejumlah orang dan kemudian menyempurnakannya secara iteratif ... beberapa pekerjaan untuk beberapa proyek, beberapa pekerjaan untuk proyek lain.
Sebuah sangat bab penting dalam buku ini yang saya sebutkan di atas adalah # 23 yang berkaitan dengan politik estimasi dan berurusan dengan manajer dan eksekutif.
Kunci untuk estimasi adalah proses berulang menyempurnakannya setelah mengerjakannya sedikit.
Memberikan perkiraan yang terlalu tepat terlalu awal dalam proses bisa sangat rawan kesalahan. Jika Anda tidak yakin tentang hal itu, berikan perkiraan luas dan kemudian kembalilah dengan perkiraan lain setelah beberapa periode waktu untuk introspeksi lebih dalam masalah dan mungkin menggambarkan bagaimana Anda akan melakukannya, melihat berapa banyak kode yang Anda buat untuk itu masalah serupa yang terakhir dan faktor-faktor lain yang akan mempengaruhi estimasi.
Perkiraan membutuhkan beberapa pemikiran - jangan berikan perkiraan manset. Ini sering memiliki kesalahan besar yang terkait dengan mereka dibandingkan dengan apa yang diperlukan ketika Anda memikirkannya sedikit.
Dari Bagaimana merespons ketika Anda diminta perkiraan?
Apa yang Harus Dikatakan Ketika Diminta Perkiraan
Anda berkata, "Aku akan kembali padamu."
Anda hampir selalu mendapatkan hasil yang lebih baik jika Anda memperlambat proses dan meluangkan waktu melewati langkah-langkah yang kami jelaskan di bagian ini. Perkiraan yang diberikan di mesin kopi akan (seperti kopi) kembali menghantui Anda.
Dari Bab 4 Estimasi Perangkat Lunak:
Perhatikan bahwa dalam hal ini, perkiraan setelah sedikit peninjauan secara sistematis kurang liar dan rawan kesalahan daripada taksiran perkiraan. Jangan lakukan perkiraan manset. Duduk dan pikirkan tugas itu dan perkirakan setelah sedikit memikirkannya.