Software Development itu mirip dengan sebuah peperangan. Anda tahu kapan memulai perangnya tetapi Anda tidak tahu kapan perang akan berhenti. Seperti itu pula Sofware Development.
Tiap fasenya adalah pertempuran-pertempuran yang tak terpisahkan dari peperangan itu sendiri. Sebut saja fase requirement gathering. Anggap saja fase ini sebagai fase diplomasi antara dua belah pihak. Pihak kita dengan pihak lawan, pihak developer dengan pihak client.
Fase diplomasi tentu hanya diikuti oleh para pimpinan pasukan. Prajurit bawahan seperti pion catur biasanya hanya bisa tunggu putusan. Tempo hari bilang perang gerilya, kini malah gencatan senjata, mungkin lain kali akan turun perintah serbu-tembak di tempat.
Pun demikian dengan fase requirement gathering. Dulu minta disediakan fitur download, sekarang minta agar tidak semua user bisa download (permintaan yang abstrak), mungkin besok akan minta hanya yang bayar yang bisa download.
Justru di bagian itulah serunya software development. Bagaimana seorang Project Manager, System Analist, dan petinggi-petinggi lain memainkan peran dalam proses requirement gathering. Bagaimana mereka memperjelas permintaan client sehingga permintaan menjadi jelas, batas skupnya juga jelas, mudah dikerjakan programmer, tetapi tetap memuaskan client. Tentu saja mereka juga berperan dalam proses tawar-menawar harga.
Programmer memang mirip dengan prajurit invantri. Maju perang hanya dengan jalan kaki. Kerjanya keras, siang malam. Kapan berhenti? Entahlah, mungkin saat dia mati 😀 .
Semakin sering seorang prajurit berperang, semakin dia tahu kejamnya perubahan kebijakan diplomatik terhapad nasib tiap prajurit. Dulu, saat mengantarkan teman-teman 2007 MK, saya memilih duduk dengan Pak Supir Truk Brimob, yang pastinya juga anggota Brimob. “Dulu, kami sangat senang ketika dapat perintah dari pusat untuk tembak di tempat.”, berceritalah beliau tentang pertempurannya di Timor Timur, propinsi bungsu Indonesia, yang “mati” lebih dulu dari “kakak-kakaknya”.
“Sebelumnya, kami tak boleh menembak padahal para gerilyawan itu sudah menembaki kami berkali-kali.”, ujar beliau.
Semakin sering seorang programmer terlibat dalam proses Software Development, semakin dia tahu kejamnya perubahan user requirement terhadap siklus hidup programmer (ngopi beberapa kata dari tulisan KIKI 🙂 ). Gara-gara sebuah perubahan kecil pada requirement, seorang programmer bisa tak jadi pulang ke rumah. Apakah anak istrinya harus menunggu 6 BULAN lagi hanya untuk sekedar berpelukan dengannya?? (alah…., lebay )
Jadi semakin tertantang untuk tidak menjadi prajurit biasa 😛 .
=================================
NB: gambar di atas adalah gambaran sederhana metode agile untuk software development. Apa itu? Mungkin lain kali ceritanya 🙂 .
ada sebuah adagium dari software engineering:
ada juga sebuah ungkapan yang kayaknya lumayan kena:
~got the joke?
sebelum jadi jenderal kan harus nenteng senjata jalan kaki dulu..
hehehehehhe
programmer infantri bersenjatakan netbeans…boleh juga tuh gung..
🙂
🙂 bagus gung artikelnya yg ini…. nulis ttg software developemnt dengan gaya yang unik
prajurit Agung,
laporkan misi di BGS, gantiii….
~hmmm, memang seperti itu
ya gung nasib prajurit.
tapi ga ada salahnya “bukan prajurit biasa”
pernah jadi “prajurit biasa”
biar bisa lebih merasa. 🙂
roger that
@yud1
Wah, kena bgt tuh joke. Tp masa Tuhan g tau?! 🙄 . Pasti tahu lah.. 😀 .
@Kiki Ahmadi
).
Haha.., senjatanya netbeans. Versi 6.0 😀 . Ada yang tau netbeans? Netbeans adalah jaringan kacang polong (bercanda BOs…
@kamal
Berarti sekarang gantian ente donk Mal 😛 .
@yanssp
).
Lapor Jendral Yan (ga pake ‘s’ biar mirip pasukan Tiongkok
Misi di BGS berhasil dijalankan. Sekarang pasukan menuju ke arah utara untuk mengamankan jalur darat. 🙂
==================
Memang rasanya harus jadi “prajurit biasa” dulu nih. Tp, rasanya juga, cukup di KP ini aja deh 😀 . Doakan ya 🙂 . Blog ente mana? Masa blog walker ga punya blog?
@Andra & your Backbone
roger diterima (emang kaya gini ya jawabannya?? 🙄 ). Hehe..
Setuju gung ! sudah susah-susah desain interface. Eh… minta di ubah lagi hanya karena desain yang ada sudutnya terlalu banyak. Maksudnya desainya terlalu kotak. Minta sudut-sudutnya di bunderin…
Desain lagi dech… Tapi itu untuk yang desainer alias programmer CSS. hehe 😀
Yang penting di kontrak jelas. Harus ada hitam di atas putih biar klien gak minta perpanjangan. Yang paling gampang ( kalo kata dosenku gung ), di kontrak disertakan poin jika di lakukan perpanjangan waktu dan penambahan requirement, maka nilai kontrak juga harus ditambahkan. Biar kliennya gak seenaknya..
Ya itu tips dari dosenku. Biar tau kapan selesainya perang.
dengan sedikit satire dan exaggeration… yah, namanya juga joke.
wah kalo saya koment disini, rada nyasar kali ya..
ga banyak nyambung si…
sec. genaral si dapet maksud blog ini, tapi kan tetep.. “ga banyak nyambung si..”
@Gyl
Wah…, curha seorang designer kita… 😀 . Tips mantab tuh… (^_~)d. Memang perjanjian komersial harus diikat dengan kontrak yg kuat. Thx Bro…
@yud1
Joke nya orang Barat emang kaya gitu. Kok Tuhan dimainin… 😐 . Thx Yud atas infonya 😀
MeraLda
Lha…, ini kan baru saja komentar 🙂 . Ga nyambung gpp. Anggap aja lagi ngambil kuliah luar fakultas 😀 . Btw, blog mu opo’o? Kok g iso dibuka?
prilens dong prilens…kaga ada yg nyuruh2…kalo ada tinggal risen
gitu aja kok susah
@rimphy
Wah…, ide bagus. Mantab buat permulaan.
Setelah itu kita bisa langsung mikirin bagaimana membangun aset 😛 .
tapikan kebutuhan masing2 pasar beda, tinggal masing2 programmer menyiapkan apa yang diperlukan… ndak perlu sampe terjadi peperangan 😀 hehehe
dadi iling war game gung..!!!
@aTuL
Hahaha…, ente bisa aja 🙂 .
@icalmahdi
war game pas nang kebun raya purwodadi yo?
Memang war game paling mantab itu… 😛 . Dadi pingin maneh.
untung sy ngak sekolah formal pemograman jadi selamat dari kepusingan itu hehehe kayaknya teorinya gak rumit beribet.