Saya telah bertemu orang-orang yang mengklaim mereka dapat memperkirakan perangkat lunak, tetapi saya tidak tahu bagaimana mereka melakukannya. Tak satu pun dari mereka yang bisa menjelaskan bagaimana mereka melakukannya.
Sebagai konsultan, klien saya sering meminta saya untuk bekerja berdasarkan penawaran tetap. Karenanya saya perlu memperkirakan sehingga saya dapat menyiapkan tawaran yang realistis. Saya tidak pernah berhasil dalam hal ini. Orang akan berpikir saya akan menawar sesering yang saya underbid, tapi itu tidak pernah terjadi. Hasilnya adalah saya sering kehilangan banyak uang pada kontrak saya, dan akhirnya mendapatkan penghasilan jauh lebih sedikit daripada yang saya lakukan jika saya bekerja untuk sebuah perusahaan sebagai karyawan tetap.
Saya telah mencari buku yang akan mengajarkan saya cara memperkirakan perangkat lunak selama bertahun-tahun, tetapi saya belum menemukannya.
Adapun menjelaskan hal ini kepada seseorang yang bukan pembuat kode. Anda dapat menunjukkan bahwa tidak ada seorang pun di industri ini yang secara konsisten dapat memenuhi perkiraan mereka. Itu terjadi setiap saat bahwa produk perangkat lunak baru diumumkan sebelumnya, hanya untuk mengirim berbulan-bulan atau bertahun-tahun setelah tanggal yang awalnya diumumkan.
Jika perusahaan besar seperti Microsoft tidak dapat memperkirakan bagaimana memperkirakan waktu yang dibutuhkan untuk memproduksi produknya sendiri, bagaimana saya bisa?
Apakah saya dibayar per jam atau berdasarkan pekerjaan, klien saya selalu mengharapkan saya untuk memberikan perkiraan ini. Saya tidak tahu bagaimana mereka mengharapkan saya untuk memproduksinya ketika estimasi seperti itu tidak diajarkan di mana pun, dan saya tidak punya dasar rasional untuk estimasi saya.