Memberikan Perkiraan Saat Bekerja dengan Teknologi Tidak Asing?

19

Saya dihadapkan dengan masalah baru baru-baru ini, untuk memberikan perkiraan untuk sebuah proyek di mana saya harus menggunakan kerangka kerja (dan berpotensi bit kerangka kerja lain) yang saya tidak kenal. Jauh lebih mudah bagi saya untuk memberikan perkiraan ketika saya bebas untuk menggunakan apa yang saya kenal, tetapi seolah-olah kelumpuhan melumpuhkan dengan analisis telah muncul ketika perkiraan diminta untuk bekerja di wilayah asing.

Solusi saya, dalam retrospeksi, salah. Saya hanya mulai bekerja.

Bagaimana saya bisa lebih baik memperkirakan proyek dan tugas ketika saya diminta untuk bekerja dengan bahasa / teknologi / kerangka kerja yang tidak dikenal?

Sampson
sumber
2
Memberikan perkiraan pada sesuatu yang belum pernah Anda lakukan adalah, dalam semua kepraktisan, tidak mungkin dilakukan dengan ketepatan apapun. Baru-baru ini saya memberikan analogi ini ketika ditanya berapa lama waktu yang dibutuhkan ketika ada banyak yang tidak diketahui: "Bayangkan Anda berjalan di pedesaan pada malam hari. Warnanya gelap. Anda harus berjalan satu mil ke daratan. Anda tahu ke arah mana Anda perlu pergi, tetapi Anda hanya memiliki lentera yang menyala sepuluh kaki. Anda tidak tahu apa yang ada di depan Anda: lapangan, sungai, gunung. Mengingat ini, Anda dapat membuat tebakan yang berpendidikan, tetapi pada akhirnya Anda tunduk pada hal-hal di luar kendali Anda "
Nemi
Ini juga tergantung pada tujuan estimasi. Apakah Anda memperkirakan untuk kasus yang paling mungkin? Kasus terburuk? Apakah ada tenggat waktu yang sulit?
David Thornley
@ David Saya yakin ini akan menjadi kasus "yang paling mungkin".
Sampson

Jawaban:

18

Jawaban standar dari buku teks gesit adalah melakukan lonjakan. Spike adalah tugas kotak waktu untuk mengeksplorasi yang tidak diketahui, sehingga pada akhirnya Anda memiliki (semoga) informasi yang cukup untuk memberikan perkiraan yang berguna atau Anda memiliki gagasan yang lebih baik tentang berapa banyak lagi waktu yang Anda perlukan untuk sampai ke titik itu .

Paku bisa bertahan di mana saja dari 1 jam hingga beberapa hari atau bahkan lebih lama. Karena kotak waktu, tidak ada risiko yang terlibat untuk salah satu pihak, dan pengeluaran sangat terbatas.

Idealnya selama spike Anda akan mengidentifikasi beberapa hal sederhana yang perlu dicapai dengan kerangka kerja baru ini dan menetapkan solusi yang sangat sederhana menggunakannya. Seiring berjalannya waktu, Anda belajar, dan itulah gunanya duri.

wolfgangsz
sumber
Mungkin itu ide yang baik untuk menambahkan bahwa "lonjakan" adalah terminologi dari Scrum .
Jesper
1
Kedengarannya seperti pendekatan yang bagus. Dalam kasus khusus saya, "lonjakan" saya terdiri dari proyek itu sendiri. Tampaknya penggunaan waktu saya yang berharga untuk benar-benar menggunakan tugas sebagai pintu gerbang menuju keakraban daripada beberapa tugas yang tidak terkait.
Sampson
10

Cara klasik untuk melakukan ini adalah dengan penyempurnaan. Pada pertemuan perencanaan pertama Anda berkata;

"Saya tidak tahu - kita pada dasarnya melakukan penelitian perangkat lunak di sini. Namun, saya akan memiliki perkiraan yang lebih baik pada pertemuan berikutnya, dalam waktu beberapa bulan"

Kemudian Anda pergi dan melakukan penelitian. Pertemuan berikutnya:

"Sepertinya butuh waktu mulai dari dua hingga empat kuartal. Kami akan membangun prototipe yang akan memungkinkan kami memperbaiki angka lebih lanjut".

Pertemuan berikutnya:

"Prototipe itu lebih mudah dibangun daripada yang kita duga. Sepertinya kita bisa melakukannya dalam 2 kuartal, plus atau minus sebulan."

dan seterusnya. Pada setiap tahap, bisnis memiliki opsi untuk pengalengan proyek, atau membiarkannya berlanjut, mendapatkan perkiraan tanggal penyelesaian yang lebih baik dan lebih baik.

Ini dijelaskan dengan sangat baik dalam buku besar Steve McConnell, Rapid Development , yang pantas untuk dikenal lebih baik. Tentu saja itu jauh lebih unggul daripada buku-buku tentang "gesit" yang saya baca.

Neil Butterworth
sumber
+1 Terima kasih atas wawasannya, @Neil. Saya akan melihat saran buku juga.
Sampson
2

Anda dapat melakukan penelitian dan masih menghasilkan perkiraan yang salah. Lihat Batas Batas Estimasi Perangkat Lunak oleh JP Lewis, dan materi yang menyertainya Batas Matematika Estimasi Perangkat Lunak . Saya tidak mengatakan bahwa Anda tidak perlu repot-repot memperkirakan atau melakukan penelitian, hanya saja Anda tidak dapat membuat perkiraan yang akurat secara objektif, dan Anda perlu mengatakan ini bersama dengan perkiraan apa pun yang Anda pilih.

Bruce Ediger
sumber
3
Perkiraan menurut definisi tidak akurat, dan tampaknya banyak manajer dan / atau pelanggan berjuang dengan kenyataan ini.
wolfgangsz