Teknik umum agak masuk akal, yang penting untuk diketahui adalah bahwa mereka tidak memerlukan banyak keahlian teknis.
Titik awal dengan perencanaan adalah untuk mengidentifikasi masalah yang tepat yang perlu diselesaikan dan memiliki persyaratan yang jelas dan tidak ambigu. Jika Anda tidak memilikinya, perkiraan Anda akan salah. Memiliki ini didokumentasikan dalam semacam spesifikasi fitur sebelum siapa pun mulai menulis kode akan berarti bahwa setiap pertanyaan yang perlu ditanyakan akan ditanyakan sebelum pengkodean dimulai. Ini adalah penghemat waktu yang sangat efektif. Kembali dan mengklarifikasi persyaratan memecah aliran seseorang sebagai programmer dan menunggu tanggapan dapat menghalangi kemajuan.
Setelah Anda mengidentifikasi persyaratan, Anda perlu mengidentifikasi tugas-tugas pekerjaan yang terlibat dalam menyelesaikannya. Ini adalah latihan membagi dan menaklukkan klasik - tugas apa pun yang dapat dipecah lebih lanjut perlu dipecah lebih lanjut.
Dalam tim yang lebih besar, Anda dapat menggunakan poker estimasi untuk mendapatkan estimasi berdasarkan pengalaman semua orang yang terlibat. Itu tidak bekerja dengan baik di tim yang lebih kecil, tetapi masih berguna untuk mendapatkan perkiraan independen dari kedua pengembang Anda dan mungkin untuk memasukkan satu dari Anda sendiri juga - kurangnya keahlian khusus Anda dapat membantu di sini karena dalam menjelaskan kepada Anda apa tugas ini melibatkan dari perspektif mereka, tim pengembangan mungkin akan memahami masalah dengan lebih baik.
Dengan tim yang lebih kecil dapat membantu untuk mendapatkan estimasi kasus terbaik / yang diharapkan / terburuk untuk setiap tugas, yang memberi Anda berbagai nilai, tetapi jika Anda mendapatkan banyak perkiraan overrun, Anda dapat condong ke arah kasus terburuk sampai dev Anda belajar memperkirakan lebih akurat.
Di sebuah toko kecil, pengembang sering berakhir menjadi dua kali lipat sebagai sysadmin, tim pendukung, dan bahkan penguji (meskipun dari semua hal yang dapat mereka lakukan, pengujian adalah yang harus Anda coba hindari dengan cara apa pun) sehingga Anda perlu memperhitungkannya. Cari tahu berapa banyak waktu mereka yang dihabiskan pengembang Anda untuk mengerjakan fitur-fitur baru dan faktor yang menjadi perkiraan Anda. Jika tugas diperkirakan 2 hari tetapi devs Anda hanya dapat bekerja pada pengembangan baru 60% dari waktu, maka Anda akan membutuhkan 4 hari untuk selesai. Anda mungkin dapat membantu dengan ini juga dengan mengendalikan saluran tugas-tugas lain yang perlu mereka tangani sehingga admin yang tidak mendesak atau tugas-tugas pendukung dapat dikumpulkan bersamaan daripada ditangani secara ad-hoc. Banyak programmer (tentu termasuk saya yang satu ini) bukan manajer waktu yang hebat, jadi apa pun yang dapat Anda lakukan untuk membantu dalam hal itu akan membantu. Single-tasking selalu lebih mudah bagi programmer daripada multi-tasking. Memblokir waktu di siang hari juga bisa membantu.
Menyimpan catatan - setiap kali Anda memiliki sesi perencanaan, catat estimasi dan aktualnya. Anda kemudian dapat menggunakan ini a) sebagai panduan untuk berapa banyak mengembang perkiraan mereka dengan selama perencanaan dan b) untuk membantu mereka memperbaiki keterampilan estimasi mereka. Pada akhir setiap iterasi (atau apa pun yang setara dengan yang Anda miliki), seluruh tim harus meninjau pekerjaan yang telah dilakukan dan mencari tahu mengapa perlu waktu lebih lama dari yang diharapkan sehingga ini dapat dimasukkan dalam perkiraan di masa mendatang. Ini harus menjadi tugas yang tidak bersalah - Anda tampaknya memiliki sikap yang benar di sini tetapi jawaban ini mungkin ada beberapa saat sehingga saya akan melakukan pengamatan. Jika seseorang mengatakan "Saya membuat kesalahan di sini" Anda dapat mengubahnya menjadi "apa yang bisa Anda lakukan dengan lebih baik", tetapi mengatakan kepada orang-orang bahwa mereka terlalu lambat atau melakukan kesalahan hanya akan memperburuk keadaan.
Saya menyadari tidak ada peluru perak untuk masalah jenis ini tetapi faktor terbesar adalah komunikasi - yang sebenarnya lebih mudah dengan tim yang lebih kecil - dan menggunakan umpan balik untuk memperbaiki keterampilan kolektif Anda.