@ Jo "Kami adalah toko" Agile ", jadi saya mengerti bahwa kita seharusnya menyesuaikan dan tidak, tetapi kadang-kadang perubahannya besar dan tidak ada yang sepele."
Jika proses Anda tidak memungkinkan Anda untuk mengontrol laju perubahan dalam persyaratan, proses Anda tidak gesit, tetapi serampangan. Agile tidak berarti "mengambil apa pun yang datang kepadaku."
Untuk mengontrol perubahan / creep persyaratan, Anda dapat mengadopsi - dalam proses Anda - gagasan bahwa persyaratan tidak berubah (gagasan bahwa itu adalah inti dari Scrum.) Perlakukan perubahan persyaratan sebagai mengganti persyaratan lama dengan yang baru. Anda harus memiliki simpanan persyaratan, dan Anda harus membuat pengguna memilih yang mana yang ingin diimplementasikan.
Anda menginginkan X dan Y dalam dua minggu, tetapi tiba-tiba Anda menginginkan Z. Nah, maka saya dapat memberikan Anda ketiganya dalam 4 minggu. Atau saya dapat memberikan pasangan (X dan Z) atau (X dan Y) atau (Y dan Z) dalam dua minggu dan mengirimkan sisanya. Memilih.
Ini adalah bagaimana Anda bernegosiasi dengan pelanggan. Ini adalah bagaimana Anda mengkomunikasikan biaya perubahan persyaratan. Jika grup Anda tidak memiliki kekuatan itu, Anda tidak berada di toko lincah, dan tidak ada yang dapat Anda lakukan untuk itu. Itu menyebalkan, tapi itu benar.
Jika Anda dapat bernegosiasi, Anda harus melacak (dengan presisi) waktu yang diperlukan untuk menerapkan persyaratan dan perubahan persyaratan. Artinya, Anda harus mengumpulkan data ini dari proyek masa lalu dan sekarang.
Anda mengumpulkan perkiraan waktu asli dan waktu penyelesaian aktual (di samping sumber daya seperti jumlah pengembang) per permintaan (atau modul yang dipengaruhi oleh permintaan N). Lebih baik lagi, perkirakan ukuran permintaan / permintaan berubah (dalam hal garis kode atau titik fungsi dalam proyek dan permintaan sebelumnya).
Katakanlah Anda memiliki metrik yang dapat digunakan untuk berbicara dengan pengguna. Anda tahu bahwa permintaan baru akan mengambil, katakanlah, 1K baris kode, atau 10 halaman web dengan rata-rata masing-masing 5 bidang input (50 titik fungsi).
Kemudian dengan melihat data historis yang spesifik untuk proyek masa lalu Anda (beberapa demi baris kode, beberapa oleh halaman web, beberapa oleh titik fungsi aktual), dan Anda dapat memperkirakan berapa masing-masing biaya ini dalam hal waktu penyelesaian absolut. Bagi mereka yang memiliki data yang cukup, Anda juga dapat mengidentifikasi persyaratan yang melacak jumlah kepala pengembang yang sebenarnya.
Kemudian Anda menggunakannya dan Anda memberi tahu pelanggan Anda bahwa berdasarkan data historis; Anda berpendapat bahwa kegagalan proyek cenderung mengikuti tindak distribusi eksponensial; dan kemudian Anda dipersenjatai dengan argumen berikut untuk pelanggan Anda:
Berdasarkan data dari proyek kami dulu dan sekarang dan sumber daya yang tersedia, persyaratan yang Anda minta akan diambil
Jumlah X waktu untuk menyelesaikan dengan probabilitas kegagalan 25% (atau 75% keberhasilan)
1,5 * X jumlah waktu untuk menyelesaikan dengan kegagalan 5% (atau keberhasilan 95%)
0,5 * X jumlah waktu untuk menyelesaikan dengan kegagalan 95% (atau 5% sukses)
Probabilitas kegagalan sebagai fungsi dari jumlah sumber daya waktu biasanya naik 95%, 25% dan 5% (menyerupai distro eksponensial.) Anda menyampaikan pesan bahwa jumlah baseline tertentu memberikan peluang keberhasilan yang agak baik (tetapi dengan risiko nyata ). 1,5 dari yang mungkin memberikan hampir peluang keberhasilan tertentu dengan risiko minimal, tetapi jauh lebih kecil dari itu (0,5 dari jaminan asli kegagalan hampir pasti.)
Anda membiarkan mereka mencernanya. Jika mereka masih melakukan proposisi berisiko ( dilakukan kemarin! ) Setidaknya Anda memiliki secara tertulis bahwa Anda mengatakannya kepada mereka. Jika ada harapan untuk kelompok Anda tidak hanya gesit tetapi seperti rekayasa, maka, pelanggan mungkin mempertimbangkan dengan serius nomor Anda dan menjadwalkan ini dan permintaan masa depan sesuai.
Adalah tugas Anda sebagai insinyur untuk menjelaskan secara teknis, persyaratan yang dapat diverifikasi dan jelas bahwa permintaan perubahan bukanlah makanan gratis.