Friday, March 10, 2006

Jawaban yang aneh: Maksudnya me-manage apa?

Perusahaan tempat saya bekerja memang tidak besar, maksimum jumlah pegawai yang pernah ada saja tidak pernah sampai 30 orang. Salah satu perusahaan IBM business partner. Bosnya pun mantan pegawai IBM yang mungkin termauk top level employee.

Dalam proposal-proposal yang dibuat perusahaan seringkali mengedepankan RUP (Rational Unified Process) sebagai metode project management. Entah kenapa, mungkin karena Rational sudah merupakan bagian dari IBM sekarang, atau karena mungkin hanya itu metode yang 'mereka' tahu. Yang jelas, dalam setiap proposal yang perlu menjelaskan deskripsi manajemen proyek yang akan dilakukan pasti gambar yang sangat populer ini selalu muncul.

Tapi lucunya, RUP itu hanya ada dalam proposal. Sebenarnya kita sama sekali tidak melakukan manajemen proyek. Hmm.. mungkin kata ini tidak tepat. Proyek tetap di-manage tapi tidak menggunakan framework atau metode tertentu. Kita disini hanya me-manage proyek dengan cara mmm.. susah mencari kata yang tepat. Ciri-ciri manajemen proyek disini jika saya tulis:
  • Semau gue dan semaunya tim. Tim yang berbeda akan memiliki behaviour yang sangat berbeda.
  • Tidak ada tester atau QA at all (yang menjadi tester akan didefinisikan nanti)
  • Tidak ada best practise. Best practise hanya akan ada dalam masing-masing employee. Artinya pengalaman dalam satu proyek bukan menjadi pengalaman untuk proyek yang lain, karena timnya pun sudah berbeda.
  • Kadang-kadang technology minded. Kata-kata "Kita pakai framework X?" hampir sering muncul diawal proyek.
  • Get things done. Yang penting jalan dulu, urusan lambat atau error akan dipikir belakangan.
  • Disini 1 + 1 akan selalu sama dengan 2. Seharusnya jika tim berkolaborasi 1 + 1 bisa sama dengan 4 atau 5 (Kata-kata bijak dari seseorang).
  • Buat schedule bersama-sama, tentukan mandays bersama-sama, coding sendiri-sendiri, bug fixing sendiri-sendiri, maintenance..?? "Kamu yang maintain ya" artinya "Kamu akan bertemu user/client, tau bagaimana jelek atau kurangnya software yang dibuat, tau masalah-masalah yang timbul di production, kamu harus siap diomelin client dan kamu solve semua itu, kalau ada apa-apa kita bicarakan nanti". Berutunglah orang-orang yang tidak ikut maintenance :)
  • Perlu satu atau dua orang yang akan selalu meng-upgrade skill-nya, learn emerging technologies and new product, melakukan prove of concept (POC), mendesain arsitektur software dan menjalan proyek pada saat awal. Orang ini adalah orang tipe pertama, yang setelah pekerjaan orang ini selesai akan dilempar ke orang-orang tipe kedua.
  • Perlu beberapa orang yang siap dicemplungin ditengah-tengah proyek, fixing other people codes, dan (disuruh) jadi maintainer. Orang ini orang tipe kedua yang sayangnya saya termasuk didalamnya :(
Sebagai penutup, jawaban aneh ini mungkin bisa menggambarkan bagaimana manajemen proyek software disini dilakukan: "Maksudnya me-manage apa?"

Jawaban itu terlontar ketika saya bertanya: "Siapa yang akan me-manage fase 2?" Ketika fase - akan berjalan. (Fase atau phase 2 biasanya adalah fase development setelah software dianggap selesai dan bisa dipakai user, fase ini biasanya dilakukan setelah UAT fase-1, fase-2 mempunyai ciri-ciri: kurang dokumentasi, dianggap bukan bagian penting dan tidak didesain dari awal).

Saya harus kembali bekerja. Mungkin topik berikutnya adalah "Bagaimana RUP bisa digunakan untuk proyek kecil" ini akan menarik jika RUP untuk proyek kecil ini dibadingkan dengan agile project management (agile method).

Followers