Saya pikir jawaban menyeluruhnya adalah bahwa seringkali terlalu rumit (atau tidak mungkin) untuk menghitung jumlah waktu yang diperlukan.
Kadang-kadang itu hanya akan menambah waktu komputasi untuk memperkirakan lebih baik jumlah pekerjaan yang diperlukan (misalnya, mengambil analisis yang lebih baik dari file yang akan disalin, atau menerapkan perhitungan yang lebih kompleks untuk lebih baik memperkirakan jumlah langkah yang diperlukan untuk lengkapi simulasi).
Di lain waktu itu agak tidak pasti. Ketika sistem Anda menginstal program baru, seringkali ada banyak dependensi untuk memeriksa apakah diinstal. Dan pada umumnya ia tidak memiliki gagasan tentang berapa lama masing-masing akan memakan waktu, dan dependensi apa yang mungkin dibutuhkan pada gilirannya. Anda mungkin sudah menginstal semua dependensi dan itu bisa memakan waktu 30 detik, atau Anda mungkin kekurangan puluhan dan butuh berjam-jam. Sulit untuk memberikan gambaran kasar tentang itu, terutama ketika setiap situasi akan unik.
Selain itu, saluran air lain pada sistem dapat berubah seiring waktu (karena apa yang dilakukan pengguna ... atau latar belakang / proses terjadwal).
Terkadang estimasi dapat ditingkatkan jika programmer akan menempatkan sedikit lebih banyak pekerjaan ke dalamnya. Tapi kemudian itu kenyataan lain bahwa ini mungkin bukan perhatian utama sebagian besar pengembang, dibandingkan dengan memajukan tugas-tugas produktif sebenarnya yang dapat dilakukan aplikasi.
Pada akhirnya, saat ini, saya percaya ini cukup sering hanya perkiraan linier - lihat berapa banyak tugas dasar yang diperlukan telah diselesaikan oleh program. Jadi itu memang cenderung menjadi perkiraan yang sangat kasar, dan Anda umumnya harus menganggapnya sebagai masuk.
Analogi yang bagus mungkin ketika Anda membaca buku.
Dan Anda memutuskan ingin mengetahui berapa lama waktu yang dibutuhkan untuk menyelesaikan buku ...
Anda dapat memeriksa jumlah halaman dan mendapatkan perkiraan cepat berdasarkan langkah sejauh ini.
Ini mungkin perkiraan yang buruk jika Anda baru saja mulai membaca, karena kecepatan Anda mungkin belum khas. Tapi seringkali itu hanya tebakan kasar.
Atau Anda juga bisa membaca buku, mendapatkan gambaran kasar tentang berapa banyak gambar yang ada dan jarak teks. Dan kemudian memiliki gagasan yang lebih baik tentang apa yang Anda hadapi.
Tapi itu masih bisa menjadi perkiraan yang buruk jika, misalnya, keterbacaan teks menurun, mungkin transisi dari prosa sederhana ke kompleks. Atau perkiraan tersebut mungkin salah jalan karena Anda gagal mengantisipasi tugas lain yang akan mengalihkan perhatian Anda.
Anda bisa mendapatkan perkiraan yang bagus dengan menerapkan sejumlah besar waktu untuk menganalisis dengan hati-hati apa yang tersisa di halaman buku demi halaman, dan juga bisa memperbaikinya dengan memeriksa kalender Anda dan menyimpan daftar langkah membaca jangka panjang untuk berbagai buku di masa lalu.
Tetapi pada akhirnya, apakah waktu yang diperlukan untuk melakukan itu sepadan dengan penundaan untuk hanya membaca buku?
Kita semua menyukai indikator yang lebih baik. Tetapi sebagaimana adanya, kita mungkin harus membuat karena perkiraan kasar, setidaknya sampai komputer secara keseluruhan mulai mendapatkan peningkatan algoritma standar, dan mahir dalam "cerdas" menimbang dan mengantisipasi faktor-faktor dinamis (seperti cara Anda)!
Dan progress bar yang mungkin macet 5% sekarang. Kita hanya harus melihat bagaimana hasilnya 8-)