Membuat estimasi proyek dengan memberikan seperangkat persyaratan adalah satu hal.
Tapi, apa yang terjadi ketika pengguna tiba-tiba mulai mengubahnya dengan cepat dan mulai menambahkan persyaratan baru ke set yang sudah ditentukan? Dan bahkan menjadi marah tentang mengapa proyek ini tidak selesai dalam kerangka waktu yang direncanakan semula.
Bagaimana saya harus menghadapi situasi ini? Mengusulkan beberapa metodologi dan bacaan bisa membantu.
estimation
scope-creep
TheBoyan
sumber
sumber
Jawaban:
Anda harus menjelaskan kepada pelanggan bahwa perubahan persyaratan juga merupakan perubahan dalam cakupan, dan memberikan pembaruan pada perkiraan setiap kali ada perubahan pada persyaratan.
Estimasi proyek disebut estimasi karena suatu alasan. Itu bukan janji. Jika pelanggan ingin membuat janji, itu kesepakatan yang berbeda; Anda sekarang harus memberikan perkiraan yang jauh lebih besar yang memiliki probabilitas keberhasilan yang lebih tinggi, menggunakan persyaratan beku .
Sebagian besar perkiraan proyek menyediakan tingkat padding tertentu, di mana saja dari 20% hingga 100% waktu premium (atau lebih) di atas perkiraan ideal. Pastikan estimasi Anda menyertakan lapisan ini.
Ada metodologi tangkas yang memberikan visibilitas yang lebih baik bagi pelanggan, sehingga mereka dapat memiliki gagasan yang lebih baik tentang upaya yang terlibat, dan bagaimana perubahannya memengaruhi jadwal.
sumber
Anda perlu memperbarui perkiraan ketika mereka memperbarui persyaratan, dan memiliki spesifikasi yang ditentukan tentang apa yang akan diterima klien sebagai "selesai". "Perkiraan saya sebelumnya adalah untuk set fitur X, Y. Jika Anda ingin saya menambahkan Z, saya memperkirakan bahwa akan memperpanjang tanggal pengiriman dengan ...", dll
sumber
Anda harus secara formal mengomunikasikan dampak pada jadwal dan biaya kepada pelanggan dan manajemen ketika mengubah persyaratan atau menambahkan yang baru. Lakukan yang terbaik untuk memaksakan mekanisme persetujuan resmi sehingga mereka berpikir secara mendalam sebelum mereka meminta sesuatu yang baru atau perubahan apa pun. Kalau tidak, Anda akan terus mendengar "Saya ingin Anda menambahkan XYZ" dan kemudian "Apakah saya mengatakan XYZ maksud saya ABC".
sumber
Pikirkan proyek Anda sebagai segitiga (seorang teman PM saya benar-benar membuat segitiga fisik yang ia gunakan untuk efek tambahan). Tepi disebut waktu , biaya , dan ruang lingkup . Anda memberi tahu klien Anda bahwa ia dapat memiliki kendali atas 2 sisi, tetapi Anda (yang bertanggung jawab atas pengiriman) harus memiliki kendali atas setidaknya satu sisi.
Jadi, Anda dapat melakukannya dengan cepat dan murah - tetapi kemudian Anda harus memiliki kekuatan untuk memotong ruang lingkup.
Atau, Anda bisa mendapatkan lebih banyak fitur, tetapi itu akan memakan waktu lebih banyak atau lebih banyak uang.
Baca lebih lanjut di http://en.wikipedia.org/wiki/Project_triangle
sumber
Anda dapat mencoba menerapkan Scrum , metodologi tangkas yang, menurut situasi Anda, bisa sangat membantu.
Dari Wikipedia:
sumber
Ini bukan tentang metodologi, tetapi tentang komunikasi dengan pelanggan.
Saya memiliki banyak situasi di mana pelanggan ingin terus-menerus menambahkan fitur baru ke proyek yang belum selesai, dan terkejut mengapa hal itu akan meningkatkan keseluruhan biaya dan penundaan. Konteks dan kepribadian para pelanggan itu berbeda, itu membutuhkan pendekatan yang berbeda, tetapi saya dapat mencoba untuk mengisolasi beberapa pedoman dan saran:
Misalnya, bagi kebanyakan orang, benar-benar aneh bahwa perubahan yang mereka anggap kecil mungkin berdampak besar pada proyek dan menjadi sangat mahal (lihat contoh dalam pertanyaan saya ). Jika mereka meminta untuk melakukan beberapa perubahan, dan setiap kali Anda memberi tahu mereka, tanpa menjelaskan apa pun, bahwa mereka harus membayar ribuan dolar ketika mereka mengharapkannya secara gratis atau untuk beberapa puluh dolar, mereka mungkin akan berpikir Anda hanya mencuri uang mereka. Ini terutama benar karena beberapa programmer dan perusahaan perangkat lunak yang tidak etis mengembangkan produk yang tidak dapat dipertahankan (jadi Anda tidak dapat meminta untuk mengubahnya nanti oleh pengembang normal), kemudian meminta Anda membayar terlalu banyak untuk setiap modifikasi.
Penjelasan seperti itu juga merupakan ide yang bagus karena memungkinkan pelanggan Anda untuk memiliki pemahaman yang lebih baik tentang produk dan perubahannya. Dalam beberapa kasus, beberapa pelanggan saya berakhir dengan mengatakan bahwa perubahan yang mereka inginkan tidak terlalu pintar, dan bahwa mereka akan melakukannya dengan cara lain. Anda juga dapat menyarankan beberapa hal. Ini sangat dihargai oleh beberapa pelanggan (peringatan: beberapa lainnya membencinya), dan menunjukkan bahwa Anda tahu apa yang Anda bicarakan (dengan membandingkannya dengan kode monyet yang hanya menerjemahkan persyaratan ke dalam kode, tanpa terlalu memikirkan pendekatan yang mungkin) .
Misalnya, saya memiliki pelanggan yang, setelah mengirim persyaratan "final", mengirim, rata-rata, sepuluh surat per hari dengan sepuluh perubahan persyaratan, pergi dari modifikasi kecil ("Bisakah Anda mengubah lebar perbatasan zona tengah di halaman beranda?) dari tiga hingga enam piksel? ") hingga perubahan yang memengaruhi seluruh proyek (setelah dua bulan pengembangan, satu minggu sebelum rilis:" Akhirnya, saya pikir ASP.NET adalah ide yang buruk. Bisakah Anda beralih ke PHP? " ).
Jadi untuk pelanggan itu , kami terpaksa mengunci semua persyaratan sebelum menulis kode. Itu tertulis dalam kontrak. Tidak ada perubahan yang diterima sebelum rilis final.
Itu tidak terlalu buruk, akhirnya, karena anehnya kami diizinkan untuk sangat terorganisir: proyek dirilis, sesuai dengan persyaratan lama, dan kemudian, beberapa hari kemudian, kami memulai versi berikutnya dari awal dengan set yang sama sekali berbeda persyaratan.
sumber