Tuesday, September 25, 2007

Lesson Learned

Kali ini tentang Project Management. Ada sebuah dokumen yang ada dalam rangkaian fase dalam project management, ada 1 dokumen yang isinya memuat berbagai pelajaran yang dipetik dari pengerjaan suatu project yang disebut sebagai "Lesson Learned Report". Pelajaran itu bisa berupa pelajaran baik maupun yang buruk. Tujuan pembuatan dokumen adalah untuk pembelajaran, baik untuk project itu sendiri (andaikata belum selesai) maupun project-project lain yang akan dikerjakan.

Dari pengalaman pengerjaan di beberapa project, ternyata ada beberapa hal yang bisa di-share di sini. Mungkin rekan-rekan sekalian pernah mengalaminya, atau bahkan mengalami hal yang belum ada di sini. Ini hanya keinginan untuk men-share sebuah pengalaman dan pengamatan.

Dari beberapa pengamatan terhadap project yang ada, biasanya akan mengalami pemekaran scope project, requirement gathering yang tidak sempurna, serta development yang tidak/kurang memuaskan.
  • Pemekaran scope project
    • Pemekaran scope project ini biasanya terjadi karena kurangnya antisipasi tim project yang bersangkutan (tim yang dimaksud ini mencakup tim pemasaran hingga tim produksi) dan "terlalu percaya" pada fase yang namanya pre-assessment. Dari pengalaman di berbagai project, dapat disimpulkan bahwa apa yang dipromosikan dan diterima oleh (calon) klien pada saat pre-assessment atau pra-proyek itu sebenarnya masih jauh dari bayangan sebenarnya. Jadi jangan harapkan mendapat bayangan lebih dari separo ketika fase ini. Jika mempunyai produk dan memiliki kebijakan kustomisasi sekian persen (misal: 30% seperti di kantor saya) asumsikan saja ketika masa pre-assessment baru didapat 10% dari keinginan kustomisasi keseluruhannya, sehingga dengan asumsi seperti itu kita bisa membuat antisipasi yang lebih nyaman, misal dengan mematok harga lebih tinggi (tidak menetapkan margin yang mepet), atau mematok target waktu lebih panjang, dan juga membatasi request-request pada masa pre-assessment dengan asumsi bahwa di masa pengembangan pasti tetap ada request tambahan yang sulit untuk ditolak.
    • Mengapa pre-assessment harus diasumsikan meleset jauh? Hal ini pertama disebabkan oleh terlalu sedikitnya waktu yang dipunyai oleh tim pada masa itu. Dalam waktu yang sedikit, tentu saja hampir tidak mungkin jika berharap hasil yang didapat akan banyak. Yang kedua, perlu diasumsikan bahwa klien tidak "siap setiap saat" untuk memberikan jawaban atas pertanyaan-pertanyaan kita maupun memberi feedback saat aplikasi yang kita bangun telah jadi atau setengah jadi. Bisa jadi mereka hanya akan siap pada saat-saat tertentu saja. Misal kita membangun sistem untuk pendaftaran ujian masuk PT secara online. Maka asumsikan saja klien akan mencermati hasil kerja yang kita bangun hanyalah pada masa-masa kelulusan SMA, karena pada saat itulah mereka memerlukan/memakai aplikasi kita. Di luar waktu tersebut, asumsikan saja feedback yang ada hanya mencerminkan 10% dari keseluruhan feedback.
    • Lemahnya perjanjian maupun kesepakatan pada saat project belum deal, sehingga pada saat pengembangan para project manager beserta tim developer-nya tidak kuasa saat menghadapi request yang terus membengkak.
  • Requirement Gathering (RG) yang tidak sempurna. RG merupakan hal yang sangat penting bagi pengembangan software. Kesalahan yang terjadi di fase ini akan berakibat pengembangan berikutnya akan salah semua. RG yang tidak sempurna ini bisa disebabkan karena berbagai faktor:
    • Kualitas para system analyst (SA) yang belum sesuai dengan harapan. Untuk menganalisis sistem dengan baik memang tidak "sesederhana" fase konstruksi (coding). Coding saya sebut sebagai sederhana karena sesulit apapun di dalamnya, namun aspek yang dipikirkan hanya sampai pada level output yang sesuai dengan harapan, dan efektifitas coding itu sendiri. Sedangkan analysis harus mempertimbangkan aspek teknis (feasible atau tidak), kemudian berapa estimasi effort yang dibutuhkan untuk mengakomodir suatu request, kemudian kemungkinan pengembangan dari suatu request, dan bagaimana menyikapi kemungkinan pengembangan itu, dst. Semakin tinggi jam kerja seorang system analyst, maka akan semakin tajam juga kemampuannya.
    • Selain kualitas, pengetahuan seorang SA terhadap aplikasi/program yang ditanganinya juga menjadi faktor penentu kualitas RG. RG untuk aplikasi yang sudah biasa ditangani akan lebih baik dibanding RG untuk aplikasi yang baru untuk dia, walaupun dia sudah diberi waktu dan tugas untuk mempelajari.
    • Waktu/kesempatan untuk melakukan RG. Makin lama dan sering waktu/kesempatan untuk RG, maka akan semakin tajam dan bagus pula hasil analisa yang diperoleh. (RG sebagaimana fase development yang lain, bisa dan sangat baik jika diperlakukan secara iteratif). Dan ketidaksempurnaan RG ini, salah satunya adalah minimnya waktu dan kesempatan yang diberikan kepada SA untuk bereksplorasi di fase ini, karena biasanya titik perhatian adalah di fase konstruksi.
  • Development yang kurang memuaskan.
    • Fase ini biasanya jarang menjadi biang-keladi dari kegagalan dalam pengembangan project. Namun fase ini juga bisa menjadi salah satu faktor. Kondisi development yang kurang memuaskan ini --menilik dari pengalaman pribadi-- terjadi apabila developer ybs memang di bawah standar, atau bisa jadi karena beban kerjanya yang di atas rata-rata. Misalnya bekerja paralel untuk mengerjakan beberapa aplikasi. Paralelisme hanya akan efektif sampai batas tertentu, untuk kemudian akan menurunkan performa jika diperbanyak paralelnya.
Well, itu dari sisi teknis. Bagaimana dengan non-teknis? Beberapa pengalaman yang bisa di-share adalah:
  • Komunikasi antara developer dengan klien. Semakin intensif komunikasi yang terjadi (dengan media apapun) maka pengembangan project akan semakin baik. Tentu saja mekanisme komunikasi ini perlu diformulakan dengan formulasi terbaik. Misal: kita tidak bisa memaksakan komunikasi dengan e-mail (yang relatif murah dan cukup praktis) sementara klien kita susah sekali untuk konek ke internet dengan berbagai alasannya. Itu tidak akan efektif.
  • Klien yang kurang proaktif. Jika klien semakin proaktif, maka hasil yang diperoleh akan semakin baik, walaupun klien yang proaktif ini sering membuat kuping jadi panas hehehe. Namun jika klien tidak proaktif, akan mengakibatkan SA kita tidak bisa menganalisi sistem dengan sempurna, kemudian aplikasi kita tidak dapat dites dengan sempurna (sehebat-hebatnya aplikasi, pasti ada aja kekurangannya, dan sehebat-hebat tester di sisi developer, pasti akan tetap dibutuhkan tester di sisi klien/tester saat implementasi). --tentang aplikasi yang tidak ada yang sempurna ini, kalo mau mendebat saya silakan, kalo ada aplikasi yang "sempurna", ya pasti dia memang sudah mengalami penyempurnaan berkali-kali :p itu pendapat saya--
  • Pelatihan aplikasi (pelatihan ini biasanya diperlukan agar para pengguna lebih mudah dalam masa transisi penggunaan program) sebaiknya tidak diletakkan di bagian yang sangat akhir. Memang pelatihan ini idealnya dilakukan setelah semua development selesai, namun biasanya event inilah yang menjadi gerbang terakhir datangnya change request dari klien. Nah, kalau ini diletakkan benar-benar di akhir, maka developer akan kehabisan waktu untuk memperbaiki program/aplikasi. Sehingga terpaksa dilakukan perpanjangan, padahal sebenarnya kita bisa mengakalinya dengan menempatkan pelatihan agak ke tengah waktu.
  • Perlunya didapat kesepakatan tentang perbedaan "pelatihan" dan "pendampingan" dalam implementasi program/aplikasi karena 2 hal ini memang berbeda, dan "bagusnya" biasanya terjadi perbedaan persepsi antara developer dan klien terhadap 2 ini hehehe.
  • Struktur organisasi pada klien maupun developer ternyata sangat mempengaruhi struktur organisasi pada proyek. Walaupun sering dibilang bahwa orang-orang pada proyek itu bertanggung jawab untuk proyek dan berbeda dengan tanggung jawab jabatan di instansi, namun tetap saja itu sangat berpengaruh pada kenyataannya. Dan itu perlu diwaspadai, terutama ketika terjadi mutasi jabatan, baik di sisi klien maupun developer.

Wew..... ternyata panjang juga hehehe. Yach, itu "sedikit" yang bisa saya share dalam kesempatan kali ini. Mungkin sedikit (atau malah banyak) meleset dari teori, karena memang tidak based-on-theory. Sekedar memperkaya pengalaman saja.

Saturday, September 22, 2007

--- Empty ---

Suddenly.... I feel very tired this afternoon. I look at my computer clock, ufff... 1 pm. It's still a long... long... long day to spend.

My mood is suddenly shattered, dissolved, disorganized.... I don't know....

a shocking phone call just before the end of work-time...
a buzz in my messenger that I didn't understand what it meant...
an unusual action and strange decision that caught in my eye...

I want to sleep, but there are still much work to do
I want to smoke lots of cigarrettes, but it is still fasting time now


I don't know what has happened to me, but now I only want to be alone for awhile....
God, please forgive my impatience in Your Ramadhan. Please, forgive my weakness.... forgive me for feeling tired..... very tired.....

Friday, September 21, 2007

Kerinduan di Suatu Senja

Kuberlari-lari ke sebuah halte, yang berada tak begitu jauh dari kantorku. Dengan napas yang masih terengah-engah dan haus yang mulai menyergap (maklum, puasa... sore-sore, dah seharian kerongkongan tidak basah) mataku mulai menyapu halte yang tidak terlalu besar itu, meneliti satu-persatu orang yang ada di situ. Sore itu, seperti sore biasanya, halte kecil itu penuh sesak dengan orang. Sebagian besar mereka adalah pekerja kantoran sepertiku yang sedang menanti bis yang mengantar mereka pulang.

Seluruh orang yang ada di situ telah kupandangi, bahkan hingga kuulang lagi. Namun sosok yang kucari tidak ada di situ. Sosok yang mengisi relung hati akhir-akhir ini, namun kutak tau isi relung hatinya. Persendianku langsung terasa makin lemas. Apakah secepat itu dia menghilang? Padahal baru beberapa menit saja berlalu sejak kuterima pesannya di handphone-ku bahwa dia sedang menunggu bis di halte itu. Sejenak, pikiranku melayang kemana-mana. Berbagai pikiran buruk melayang di pikiran, namun segera kuhapus lagi. Tak baik berprasangka buruk, apalagi sedang puasa. Bisa rusak nilai puasa hari ini yang sudah tinggal sebentar lagi akan selesai dalam hitungan menit.

Akhirnya dengan langkah gontai aku kembali lagi ke kantorku, mengambil motor dan tas kerjaku kemudian melaju ke arah selatan, menuju warung tenda favoritku dan menghabiskan waktu berbuka puasa di sana, menikmati es buah dan menghisap sebatang rokok, sambil menahan sebuah kerinduan.

Saturday, September 15, 2007

Ibadah yang Paling Disukai

Tak terasa, sudah hampir setahun yang lalu aku membuat artikel tentang Ramadhan di blog ini juga. Sebuah ketidakpuasan, melihat budaya yang dilakukan ketika Ramadhan tiba. Yach, sekarang lagi males membahas itu. Kita bahas fenomena yang lain lagi aja. Masih dalam episode sakit flu berat, hari pertama Ramadhan kuisi dengan ibadah yang hanya ada di Bulan Ramadhan, yaitu tidur.. hehehe. Well, khusus di bulan Ramadhan, tidur ketika puasa adalah ibadah. Apakah ini adalah ibadah yang paling disukai? Ini memang disukai, tetapi akan ada yang mengalahkannya nanti.

Walau sakit dan tidak berangkat kantor (saingan dengan anak-anak sekolah yang libur di hari pertama puasa hehe) namun sore harinya tetap saja ada niat untuk mencari makanan buka puasa. Lagi pengin beli martabak, baik martabak telor maupun martabak manis (a.k.a terang bulan). Sayangnya, aku berangkat terlalu sore sehingga adanya juga serba terburu-buru. Di perjalanan yang serba buru-buru itulah, tiba-tiba aku menyadari sesuatu yaitu ternyata bukan hanya aku yang terburu-buru dan mengendarai kendaraan dengan brutal. Dan jalan terasa rame sekali, beda dengan sore-sore biasanya yang juga sudah rame. Setelah kupikir-pikir lagi sembari tetap mengendarai mobilku dengan sedikit brutal, ternyata mereka mengejar momen "buka puasa". Dan memang ramainya jalan itu akan berubah dan terasa sepi setelah waktu buka puasa itu tiba. Yach, 5 sampai 10 menit setelah waktu berbuka lah, jalanan dipastikan dalam kondisi paling sepi dibanding jam dan menit-menit sebelumnya, maupun sesudahnya.

Mengapa orang bersemangat sekali mengejar buka puasa? Apa sudah sangat tidak tahan menahan lapar dan haus, sehingga harus buru-buru? Tapi jika suatu hari, waktu berbuka itu mundur dari hari sebelumnya, mereka juga masih sanggup menahannya. Jadi kenapa harus terburu-buru, bahkan cenderung brutal, untuk mengejar momen ini? Mencoba menahan barang 1 atau 2 menit, paling lama 5 menit, mosok gak kuat sih? Dan dibela-belain mengendarai kendaraan dengan style pembalap semua gitu. Dah gitu kadang masih pakai misuh-misuh pula. Malah jadi merusak puasa, kan?

-- Yang utama ketika puasa itu adalah mengakhirkan sahur, dan menyegerakan berbuka --

owww... tiba-tiba pula, aku teringat pada sunnah itu (ini sunnah ya? cmiiw). Nah, sekarang aku mulai dapat jawabannya. Ternyata bersegera pulang (dalam arti menyegerakan berbuka) itu adalah ibadah. Ternyata ibadah inilah yang paling disukai. Begitukah? Wallahu'alam. Semoga saja niatnya begitu. Bukan sekedar budaya atau sugesti yang mengatakan bahwa sudah puasa seharian itu lapar, haus, maka... segera cari minum...!!! segera...!!! cepat...!!! Semoga bukan sekedar seperti itu. Selamat Berpuasa...

3 Ramadhan 1428 H

Don't Fly When You're Got A Flu

yup... don't fly when you're got a flu.

Perjalanan dinasku yang terakhir kemarin, membuahkan sakit flu yang cukup berat. Sampai ku harus istirahat 2 hari. Padahal, rencana 2 hari itu dipakai cuti, tapi malah dipakai sebagai masa penyembuhan. hikz...

Sakit flu ini sepertinya remeh. Semua orang juga dah pernah ngalamin. "ntar juga sembuh sendiri," kata sebagian orang. Tapi ternyata, tidak seremeh itu kalo sedang berada di angkasa. Sore itu aku berangkat dari Padang, menuju Jakarta. Jakarta adalah kota transit untukku karena tujuanku adalah Jogja, namun sore itu sudah tidak ada lagi penerbangan yang memungkinkan dari Padang ke Jogja. So kuputuskan, menginap di Jakarta 1 malam, dan baru besok paginya berangkat ke Jogja. Kalo ditanya, kenapa gak besok pagi aja sekalian berangkat dari Padang langsung ke Jogja? Well, ini karena urusan kerjaan yang menuntutku masih di Padang sore itu dan menuntutku berada di Jogja besok siangnya. Sore itu, dengan hidung yang meler-mampet aku pede aja memasuki bandara dan pesawat. Tujuanku hanya untuk tidur dan istirahat di pesawat. Maklum, itu perjalanan malam jadi gak ada pemandangan yang bisa dilihat. Cari kenalan di pesawat? humm, gak deh. Lagi gak mood, mending tidur. Dan ternyata, di pesawat aku dapet duduk di tengah, dan kiri-kananku ternyata cowo semua. Ach.. ya sudah, semakin memantapkan keinginanku untuk tidur. Lumayan kalo bisa tidur selama 1,5 jam perjalanan.

Ku terbangun saat hampir sampai di Jakarta. Saat itu pesawat sudah bersiap menurun dan lampu di dalam kabin pun mulai dimatikan. Saat itulah, tiba-tiba aku merasa kedua telingaku seperti ditusuk. Tusukan itu semakin lama semakin kuat, seakan berusaha memecahkan gendang telingaku dan membuatku semakin tidak bisa mendengar. Segala cara kucoba, dari mulai nelan ludah, menguap, membuka mulut, ampe korek-korek kuping (dah gak peduli kiri-kanan, mo jorok mo nggak, sebodo), tapi tetep saja tidak mengurangi ketulianku. Dan parahnya, tetap tidak mengurangi rasa sakit yang kuderita. Aku hanya bisa berharap landasan Cengkareng semakin dekat, karena aku sudah semakin tersiksa di atas sana. Sempat kepikiran disantet orang, tapi siapa juga yang iseng main santet di pesawat. Kalau dikirim ke tempat tidur atau di suatu ruang di rumah atau kantor, aku sering denger. Wah... gak tau deh. Setelah mendarat baru terasa agak lega. Sakitnya berkurang, walaupun masih setengah tuli. Baru aku mulai berpikir kalo ini terjadi gara-gara hidungku mampet karena flu. Waduh... mosok rasanya gendang telinga ampe mau pecah? Gimana kalo gak tahan dan pecah beneran? hummm... Apalagi, besok pagi aku harus terbang lagi ke Jogja. Yach... tersiksa lagi dunk.. hikz. Dan benar saja, besoknya memang terulang lagi :-(

Setelah sampai Jogja, baru dapat penjelasan dari dokter yang memeriksaku. "Ya emang gitu mas, kalau sedang flu atau sakit gigi, naik pesawat bisa kesakitan." Haduh... ternyata begitu ya. Yach semoga besok-besok gak flu lagi kalo terbang. Lha kalo pas apes kena flu gimana? Wah, yach.... mmm... tauk deh. Kalo bisa nolak mending nolak aja kali ya. Traumatis :-(

Seminggu Tanpa Dunia Maya

Seminggu yang lalu aku "jalan-jalan" lagi ke Padang. Ngapelin BIM lagi, sebuah bandara yang punya kenangan khusus untukku, juga hilir-mudik ke sebuah kampus yang terletak di pinggir pantai barat Sumatra, yang sudah beberapa kali kukunjungi.

Jalan-jalan kali ini terasa capek, ya namanya juga jalan-jalan kerjaan. Kalo jalan-jalan rekreasi tuh baru.... capek juga :D <emang 'ku rada males dengan yang capek-capek hehe>. Yang paling bikin capek itu karena 'ku susah sekali terhubung ke dunia maya. Udah di kampus cuman bisa connect sekali, trus nyari-nyari hotspot juga susah. Warnet?? duh koneksi warnetnya juga gak kayak di Jogja kalee. Kayaknya emang lagi apes aja, padahal pas lagi butuh-butuhnya. Hunting hotspot aja ampe dibantuin keluar malem-malem, ternyata adanya bayar. Itu aja resto-nya dah mo tutup (Padang gak kayak di Jogja, di Jogja mah keluar malem tuh dah jamak kalee, di sana hanya di tempat-tempat tertentu aja yang on ampe malem). Ada yang masi buka malemnya, ternyata hotspotnya pake password, dan yang tahu passwordnya cuman pemiliknya yang baru pergi ke Jakarta. Alamaaak, susahnyooo...... Usaha koneksi ke dunia maya diakhiri dengan ngetem di warnet jam setengah 1 malem. Untung masi ada yang buka, yach biar pun seadanya dan banyak proteksi, biar lah. Ini hunting juga gara-gara kerjaan, harus submit file ke bos. Kalo gak, dah males banget, mending tidur jam segitu.

Besok malemnya, aku dan temen-temen hotspot hunter jalan-jalan lagi. Tapi kali ini gak nyari hotspot dan koneksi internet lagi, dah gak mood. We lha, pas mampir di sebuah resto di Plaza Andalas, ada tulisan: "Free Hotspot" --yach gitu-gitu deh, lupa tulisan aslinya-- Tulisan itu ampe kubaca dengan ati-ati, trus nanya ke salah satu pelayannya, ternyata memang di situ ada hotspot dan gratis. hummmm....... Padahal pas gak ada satu pun dari kami yang bawa laptop seperti malem sebelumnya. Dan ketika aku di BIM sedang menunggu pesawat yang akan membawaku pergi dari Padang menuju Jakarta, aku pun membaca tulisan bahwa di BIM tersedia koneksi internet dengan hotspot. Sayangnya, baru saja aku ingin membuka tas dan mengeluarkan laptop untuk mencobanya, ternyata telah ada panggilan bahwa pesawatku telah siap dan aku dipersilakan masuk ke pesawat. Yach.... nasib, bener-bener deh.

**aku pergi dari Padang 2 hari sebelum Gempa berkekuatan 7,9 Skala Richter terjadi di Bengkulu, dan turut mengguncang Padang. Semoga semua baik-baik saja di sana, karena Padang adalah sebuah kota yang indah, yang menarikku untuk kembali, meski sulit terhubung dengan dunia maya**