Saya seorang pengembang perangkat lunak, dan saya bekerja di sebuah perusahaan pengembangan web kecil. Tampaknya menjadi tema yang berulang bahwa manajer menengah akan bertanya kepada saya berapa lama akan dibutuhkan, dan ketika saya memberi mereka perkiraan saya, mereka pikir itu terlalu tinggi. Jika itu manajer yang lebih teknis, atau pengembang lain, mereka biasanya sudah memiliki perkiraan sendiri, dan mulai mencoba menerapkannya dengan cara mereka sendiri karena mereka pikir mereka dapat melakukannya lebih cepat.
Namun, ada tren di mana pengembang lain akhirnya menggunakan waktu lebih banyak daripada yang mereka kutip. Mereka akan mendapatkan setengah dari anggaran mereka, kemudian menyadari bahwa ada beberapa kebutuhan bisnis yang tidak dapat ditangani oleh rencana implementasi mereka dengan benar. Lebih sering daripada tidak, rencanaku akan menjawab kebutuhan ini, tetapi itu dianggap sebagai fitur " Kamu tidak akan membutuhkannya ".
Lebih buruk lagi, ketika mereka menabrak dinding ini, mereka biasanya akan datang kepada saya untuk membantu mereka keluar dari sudut yang telah mereka lukis sendiri, tetapi hanya ada berjam-jam di hari saya.
Kasus terbaik : Gangguan ini memotong waktu yang saya alokasikan untuk pekerjaan pengembangan saya sendiri, mengakibatkan proyek lain tertunda, atau saya harus bekerja lembur karena saya "satu-satunya yang dapat melakukan X".
Kasus terburuk : Saya akhirnya harus mengambil alih tugas / proyek sebagai tugas saya, dan pada saat itu tidak ada waktu tersisa dalam anggaran bagi saya untuk melakukannya dengan cara "saya". Saya harus mencoba menyelesaikan apa yang mereka mulai dengan cara mereka memulainya, jadi "perusahaan tidak kehilangan uang lagi". Ini selalu kembali menggigit saya karena kemudian itu menjadi kode hacky "saya", dan ketika rusak orang bertanya kepada saya mengapa itu dibuat seperti itu (toh, mereka tidak tahu siapa yang sebenarnya membuatnya.)
Jadi pertanyaan saya adalah : Bagaimana saya bisa membantu kolega ini untuk memahami ketika hal-hal tidak sesederhana seperti yang mereka bayangkan, dan mereka perlu mengevaluasi kembali pemahaman mereka tentang kebutuhan klien?
Tidak seperti pertanyaan serupa tentang manajemen yang meyakinkan untuk menangani utang teknis [yang ada] , pertanyaan saya mencari strategi untuk membantu tim untuk merealisasikan [secara proaktif] sebelum mereka akan menanggung utang teknis, dalam upaya untuk mencegahnya terjadi sejak awal. Kedua hal ini berjalan beriringan, tetapi mereka jelas berbeda dalam pikiran saya. Jawaban pertanyaan lain menyarankan menambahkan waktu refactoring ke perkiraan untuk fitur masa depan. Ini tidak akan pernah berhasil jika pengembang lain (dan karena itu manajer) selalu berpikir bahwa fitur masa depan mengatakan akan memakan waktu lebih sedikit daripada yang sebenarnya, dan saya tidak dapat meyakinkan mereka bahwa perkiraan saya lebih realistis.