Teman saya baru aja keluar dari perusahaan, dia meninggalkan setumpuk code pada satu proyek. Saya masuk dalam proyek yang ditinggalkannya hanya dengan hand-over yang cuma dilakukan beberapa jam dengan cara diskusi apa yang masih perlu dilakukan dan isu-isu yang ada. Beberapa bug tertinggal dalam proyek tersebut dan tentu saja seperti biasanya minim dokumentasi.
Kejadian seperti itu bukan cuma sekali. Di bidang IT di Indonesia hal itu banyak terjadi. Saya gak ngerti bagaimana perusahan2 itu melakukan resource management.
Kalo kita runut lagi kebelakang, sebelum proyek dimulai, memang banyak kesalahan-kesalahan yang sering terjadi di proyek IT pada saat awal proses. Penyebab pertama dan yang utama biasanya adalah uang atau keuntungan. Seperti terjadi di semua perusahaan, di perusahaan IT pun profit pasti jadi tujuan utama. Tapi bagaimana bisa dengan harga perorang USD 200 sampai 350 perjam, project masih 'gagal' hanya karena minimalisasi resource demi minimalisasi cost project.
Yang terjadi di proyek IT yang riil kadang lebih parah. Misalnya, saat rencana tertulis 10 orang, sedangkan kenyataannya saat proyek berjalan, resource lebih kecil dari itu. Kalo kata teman saya, seirng ada 'developer bayangan' pada saat planning. Developer tersebut kenyataannya tidak pernah ada, dan pekerjaan developer bayangan itu kanyatannya menjadi pekerjaan developer riil. Hal tesebut bukanlah suatu mark-up yaitu untuk mendapatkan keuntungan yang lebih besar kemudian manajemen mencoba me-markup resource sehingga nilai proyek jadi lebih besar. Yang terjadi biasanya adalah mark-down yaitu mengurangi resource agar biaya produksi bisa ditekan sekecil mungkin. Kondisi seperti itu fatal karena proyek jelas sekali akan beresiko gagal. Resiko gagal ada karena developer kelebihan kerjaan sehingga pekerjaan bisa jadi tidak selesai tepat waktunya atau bagaian-bagain penting dalam proyek yang tidak utama tapi sebenernya penting seperti dokumentasi (sampai ke level source code) tidak dilakukan. Ada juga kemungkinan developer yang mengerjakan proyek sakit, stres, resign, atau bahkan mati :) gara-gara keseringan begadang, banyak minum kopi dan merokok sehingga resource berkurang.
Kejadian-kejadian seperti ini biasanya baru disadari setelah proyek mendekati terlihat kritis: perkerjaan masih banyak, waktu tinggal sedikit. Proyek semakin parah dengan menghilangnya beberapa developer karena developer kurang tangguh atau tidak cukup iman untuk berbakti kepada perusahaan. Apa yang dilakukan manajemen pada saat seperti itu? Ambil resource lain dari proyek yang tidak kritis, atau cari resource baru, atau meeting, meeting dan meeting.
Akhirnya UAT datang juga. Proyek selesai, tapi bug dimana-mana. Berutunglah kalau client tidak cukup pintar untuk menemukan bug dengan cepat. Dengan trik-trik khusus, client akan senang dengan hasil proyek. Tapi cepat atau lambat bug ditemukan juga, masalah-masalah lain ditemukan seperti berkurangnya performance sistem, sulitnya maintenance process dan lain-lain.
Demi memuaskan client (kalau manajemen tidak putusa asa) akhirnya untuk menyelesaikan masalah-masalah yang ada, ditambahlah beberapa orang developer untuk bug fixing atau penambahan-penambahan kecil permintaan client atau manajemen memutuskan membeli software lain untuk optimasi. Jadi akhirnya terjadi cost tambahan dibelakang, proyek sudah terlanjur 'gagal' dan cost pun tidak jadi terminimalisasi.
Parahnya, kondisi seperti itu biasanya terjadi lagi di proyek berikutnya.