Breaking News

Biaya Tetap tetapi klien ingin perubahan ruang lingkup?


Tantangan terbesar dalam pengembangan perangkat lunak berbiaya tetap (fixed-price/fixed-budget) adalah mengelola perubahan spesifikasi di tengah berjalannya proyek. Pada post ini  kita akan merumuskan metodologi estimasi user story yang memfasilitasi kalkulasi ulang secara presisi, serta prosedur negosiasi saat perubahan tidak dapat dihindari namun anggaran tidak dapat ditambah.

1. Estimasi Pengukuran User Story yang Mendetail

Untuk memastikan setiap perubahan dapat dihitung dan dipertukarkan dengan adil, estimasi harus dilakukan secara terstruktur sejak awal.

  • Pemisahan Kompleksitas dan Waktu: Gunakan Story Points untuk mengukur ukuran relatif dan kompleksitas, bukan sekadar durasi waktu penyelesaian. Elemen yang diukur meliputi Risiko, Tingkat Kesulitan teknis, dan Volume pekerjaan.
    • Resiko ini sudah jelas belum prosesnya (3 jika belum jelas, 2 kalau ada yang belum jelas, 1 kalau sudah jelas)
    • Tingkat kesulitan (3 kalau tim belum pernah melakukan, 2 kalau tim sudah pernah melakukan, 1 kalau kode tinggal pasang)
    • Volume pekerjaan (pakai fibonacci) 
  • Penerapan Kriteria INVEST: Pastikan setiap user story bersifat Independent, Negotiable, Valuable, Estimable, Small, dan Testable. User story yang terlalu besar (Feature) harus dipecah hingga ukurannya setara dengan penyelesaian dalam 1-3 hari kerja.
    • Epic - satu modul misalnya modul approval
    • Feature - satu set fungsi berelasi misalnya fitur assign, filter, dan delete approver
    • User Story - satu fungsi misalnya admin bisa mengassign approver
  • Detailing Kriteria Penerimaan (Acceptance Criteria): Setiap user story wajib memiliki acceptance criteria yang sangat spesifik. Hal ini mencegah scope creep tersembunyi. Jika klien meminta fungsi di luar kriteria tersebut, maka itu dihitung sebagai user story baru.
    • basic path - aliran seharusnya misalnya registrasi berhasil (wajib)
    • alternate path - aliran alternatif misalnya registrasi menggunakan email yang sama (wajib)
    • error path - misalnya registrasi gagal karena error token Google ID. (opsional)
  • Pembuatan Matriks Konversi (Story Point ke Man-Days): Pada proyek berbiaya tetap, klien umumnya memahami metrik hari kerja (Man-Days). Lakukan konversi berbasis data historis kecepatan tim (Velocity).
    • Contoh: Tim dengan kecepatan 20 Story Points dalam satu Sprint (10 hari) dengan 4 developer (Total 40 Man-Days). Berarti 1 Story Point secara kasar setara dengan 2 Man-Days.
    • Matriks ini digunakan hanya sebagai alat komunikasi perubahan kontrak dengan pihak manajemen/klien.
    • Bedakan man days dengan kalendar days berdasar jumlah tim dan klien harus tahu transparansi tersebut

2. Prosedur Penukaran Kebutuhan (Scope Swapping)

Ketika terjadi perubahan di tengah proyek berbiaya tetap, penambahan beban kerja tanpa kompensasi tidak dapat diterima. Solusinya adalah mekanisme barter spesifikasi.

  • Audit Kapasitas Tersisa: Hitung total Man-Days (atau anggaran) yang tersisa dalam kontrak dan bandingkan dengan backlog (daftar pekerjaan) yang belum dikerjakan.
  • Estimasi Kebutuhan Baru: Lakukan estimasi detail pada user story baru menggunakan metode yang sama (misalnya Planning Poker) untuk mendapatkan nilai Story Points dan konversikan ke Man-Days.
  • Prinsip Zero-Sum Game: Setiap penambahan 1 Man-Day pekerjaan baru mensyaratkan pengurangan 1 Man-Day pada pekerjaan lama yang belum dimulai.
  • Pemilihan Fitur Pengganti: Minta klien untuk memilih fitur dengan prioritas terendah di backlog (yang memiliki total nilai Man-Days setara dengan fitur baru) untuk dibatalkan atau ditunda ke fase pengembangan selanjutnya.
  • Kalau klien tidak ada titik temu fokus ke pembiayaan tambahan

3. Prosedur Negosiasi Proyek Fixed-Budget

Menghadapi klien yang bersikeras meminta penambahan fitur tanpa penambahan waktu atau biaya memerlukan pendekatan faktual dan batasan yang tegas.

  • Jelaskan Paradigma Iron Triangle: Komunikasikan bahwa manajemen proyek dibatasi oleh tiga sudut: Lingkup (Scope), Waktu (Time), dan Biaya (Cost). Jika Biaya dan Waktu dikunci (fixed), maka satu-satunya elemen yang bisa dikompromikan adalah Lingkup pekerjaan.
  • Pembekuan Pengerjaan Sementara: Jika user story yang sedang dikerjakan mendadak diubah, hentikan sementara pengerjaan pada fitur tersebut untuk mencegah pembuangan Man-Days pada kode yang nantinya tidak terpakai.
  • Penyusunan Change Request Form (Formulir Permintaan Perubahan): * Dokumentasikan permintaan secara formal.
    • Sertakan analisis dampak terhadap arsitektur sistem yang ada.
    • Sertakan estimasi Man-Days tambahan yang dibutuhkan.
  • Penawaran Opsi Faktual: Berikan pilihan yang jelas kepada klien untuk diputuskan:
    • Opsi 1 (Swap/Barter): Terima fitur baru, batalkan fitur X dan Y (nilai Man-Days seimbang). Tidak ada biaya tambahan.
    • Opsi 2 (Adendum Kontrak): Terima fitur baru, pertahankan fitur X dan Y. Terbitkan surat pesanan kerja baru (Change Order) yang mencakup tambahan biaya operasional dan perpanjangan waktu.
    • Opsi 3 (Backlog Fase 2): Tolak perubahan saat ini agar proyek selesai sesuai jadwal awal, lalu masukkan fitur baru tersebut ke dalam kontrak maintenance atau pengembangan Fase 2 di masa depan.
  • Persetujuan Tertulis (Sign-off): Jangan pernah menulis baris kode baru untuk perubahan kebutuhan sampai klien menandatangani secara resmi salah satu opsi di atas.

Baca detail di 

  • Agile Estimation & Story Points: Cohn, M. (2005). Agile Estimating and Planning. Prentice Hall. (Menjelaskan fundamental estimasi kompleksitas terpisah dari waktu).
  • Prinsip INVEST: Wake, B. (2003). INVEST in Good Stories, and SMART Tasks. (Standar perancangan user story yang efektif dan terukur).
  • Iron Triangle & Change Control: Project Management Institute (PMI). (2021). A Guide to the Project Management Body of Knowledge (PMBOK® Guide). (Kerangka kerja standar untuk negosiasi dan manajemen kendala/batasan proyek).


Tidak ada komentar