Selasa, 24 April 2012

Silver bullets dlm software project?

Baru baru ini, saya "menghentikan" sebuah project pengembangan perangkat lunak berbasis Web 2.0. Banyak spektrum pertimbangan yang saya telusuri, dan pada akhirnya saya memutuskan untuk "closing" project tersebut. Dari sekian banyak faktor yang dipertimbangkan, yang menjadi perhatian utamanya adalah: people.

Keilmuan software engineering mengajarkan bahwa keberhasilan suatu proyek perangkat lunak ditentukan oleh 3 (tiga) spektrum utama, yakni: people, process and technology/tools


Dalam keilmuan Manajemen Proyek Teknologi Informasi, ketiga spektrum tadi, harus dioptimalkan untuk memenuhi 3 (tiga) kriteria keberhasilan proyek, yakni:
1) scope goal; yakni menyangkut lingkup pengerjaan proyek, dimana dalam konteks proyek perangkat lunak adalah menyangkut fitur yang akan dikembangkan, atau disebut persyaratan fungsional)
2) cost goal; yakni menyangkut besaran biaya (dan tentu saja manfaat) yang dibutuhkan dalam pengerjaan proyek;
3) time goal; yakni menyangkut alokasi waktu pengerjaan proyek.

Disinilah dibutuhkan kemampuan seorang manager project perangkat lunak, untuk berpikir dan bertindak, dalam konteks mengoptimalkan "trade offs" antara keenam spektrum keberhasilan proyek tersebut diatas.


Saya kembali menyinggung, mengenai "closing" proyek diatas. Dari pengalaman saya berperan aktif dalam pengerjaan proyek pengembangkan perangkat lunak dalam berbagai jenis (puluhan proyek dalam kurun waktu 2008 - 2012), maupun membimbing penyelesaian tugas proyek mahasiswa (ratusan proyek Mata Kuliah, Kerja Praktek dan Karya Akhir), maka dapat saya simpulkan, bahwa faktor kritis yang menentukan derajat keberhasilan proyek perangkat lunak tersebut adalah faktor PEOPLE, atau manusianya. Pada tulisan ini, saya akan membahasa tentang faktor manusia/people.

Faktor manusia merupakan unsur yang terutama dalam menentukan sukses atau gagalnya suatu proyek pengembangan perangkat lunak. Sehingga jikalau ditanyakan apakah ada "silver bullets" dlm penentuan keberhasilan perangkat lunak, maka jawabnya adalah tanyakan pada setiap manusia yang terlibat dalam pengembangan proyek tersebut.

Secara mendasar, mengerjakan proyek perangkat lunak, tim pengembang harus selalu mengajukan tiga pertanyaan penting:

1) pertanyaan What, yakni menyangkut dimensi "what are we trying to do?";

2) pertanyaan Why, yakni "why are we doing that?";

3) pertanyaan How, yakni "how do we plan and execute to get it done?"

Ingat, menurut pengertian keilmuan software engineering, proyek perangkat lunak itu SELALU diberi pengertian "dalam kurun waktu tertentu". Proyek perangkat lunak harus memiliki deadline, atau batas akhir. Sehingga, setiap mereka yang terlibat harus memiliki tiga kemampuan dasar, yakni
1) kecerdasan. Kemampuan ini dibutuhkan untuk menemukan "the what" yang saya sebutkan diatas,
2) motivation. Kemampuan inimdibutuhkan untuk menemukan "the why"
3) skill atau kompetensi. Kemampuan ini dibutuhkan untuk menemukan "the how".

Jadi, singkatnya, bentuklah tim pengembang perangkat lunak yang memiliki kemampuan untuk menjawab pasangan - pertanyaan tersebut diatas. Isu disini bukanlah berapa banyak anggota tim pengembang. Sedangkan hanya satu orang anggota tim pengembang, tapi jika dia bisa "berfungsi" dalam konteks menjawab pertanyaan tersebut diatas, maka keberhasilan suatu proyek pengembangan perangkat lunak, sudah hampir dipastikan. Dalam pengalaman saya membimbing mahasiswa pun, maka setiap mahasiswa yang mampu terus-menerus menemukan jawaban dari tiga pertanyaan tersebut diatas, mereka cenderung akan lebih berhasil dalam pengerjaan tugas proyek.

Mari kita lihat sebuah gambaran, dari sejarah pergerakan kemerdekaan Indonesia. Di era tahun-tahun awal berdirinya Negara Kesatuan Republik Indonesia (NKRI), maka negara ini memiliki tiga tokoh penting, terkait bahasan diatas! Yang pertama Indonesia punya Soekarno, beliau memiliki peran sebagai figur yang menmberi jawaban "the why" atas berdirinya NKRI. Saat berpidato, maka Bung Karno, sanggup memotivasi segenap rakyat Indonesia. Rakyat Indonesia memiliki pemahaman dan semangat untuk memperjuangkan kemerdekaan, dan mau dengan tekad bulat membayar dengan harga nyawa. Figur yang kedua adalah Muhammad Hatta, atau Bung Hatta. Beliau adalah figur yang menjawab pertanyaan "the what" terkait pendirian Negara Kesatuan Republik Indonesia. Konsep beliau tentang ekonomi kerakyatan dan administrasi penyelenggaraan negara, benar-benar mampu menjawab bentuk seperti apa Negara Kesatuan Republik Indonesia ini jadinya. Figur ketiga adalah Panglima Besar Jendral Soedirman. Beliau adalah figur yang menjawab pertanyaan "the how", beliau memiliki skill sebagai seorang pejuang, petarung yang kompeten untuk melakukan peperangan di garis depan. Saya bukan seorang pakar sejarah, tapi saya berkeyakinan bahwa Negara Kesatuan Republik Indonesia bisa bertahan di tahun tahun awal kemerdekaannya, karena Indonesia punya "the why" Bung Karno, "the what" Bung Hatta, dan "the how" Panglima Besar Soedirman.

Joe Marasco mengajarkan bahwa, the what, the why dan the how akan mampu menyelesaikan proyek perangkat lunak yang relatif sukses memenuhi kriteria proyek perangkat lunak yang berhasil. Menurut Joe, mappingnya adalah seperti ini:
what  →  intelligence  →  the brain (analytic);
why  →  motivation  →  the soul (affective); and
how  → skills  → the sword (pragmatic implementation).

Selanjutnya, Joe menulis:
what →  intelligence →  customer focus →  the brain (analytic);
why →  motivation →  integrity →  the soul (affective); and
how →  skills →  results orientation → the sword (pragmatic implementation).

Melihat "best practices" dari Joe Marasco, maka tentu saja, kita mulai memahami, bahwa faktor people dan managing people merupakan hal krusial dalam pengembangan perangkat lunak. Saya sebagai seorang profesional Teknologi Informasi, selalu menggunakan paradigma Joe Marasco dalam mengembangkan proyek perangkat lunak, dan sebagai dosen saya selalu membimbing mahasiswa2 saya untuk mengikuti paradigma sukses dari Joe Marasco tersebut. Sebaliknya, jika ketiga spektrum Joe Marasco ini tidak terlihat lagi dalam suatu proyek pengembangan perangkat lunak, maka saya bisa pastikan, kegagalan proyek TI tersebut sudah diambang pintu. 
Sudah waktunya untuk melakukan perubahan, dan perubahan itu selalu dimulai dari me, myself and I ... keep asking: "what are we trying to do?"; "why are we doing that?"; "how do we plan and execute to get it done?"


Catatan: Tentang Joe Marasco
JOE MARASCO retired as a senior vice president and business-unit manager for Rational Software in 2003 after 17 years of service. From 2005 to 2008, he was president and CEO of Ravenflow, a software start-up addressing requirements definition using natural language processing. He is the author of The Software Development Edge: Essays on Managing Successful Projects (Addison-Wesley, 2005

Tidak ada komentar:

Posting Komentar