Selasa, 04 September 2012

Membuat Kesalahan yang Lebih Benar


Pada video di atas, seorang ekonom bernama Tim Harford mengatakan bahwa kita manusia seringkali berpikir diri kita adalah Tuhan, dalam arti menganggap bahwa kita tidak bisa salah. Dalam film Malice, seorang dokter yang diperankan oleh Alec Baldwin digambarkan sedemikian angkuhnya sehingga dokter tersebut mengatakan bahwa, jika dia sedang melakukan operasi untuk menyelamatkan nyawa seorang pasien yang sedang sekarat, maka ketika keluarga si pasien menunggu sambil berharap dan berdoa, sebenarnya yang sedang diharapkan bukanlah Tuhan, tapi dirinya sebagai dokter yang memiliki kemampuan untuk menyelamatkan orang yang sedang sekarat tersebut.

Dalam pembangunan sistem, mungkin tanpa disadari kita seringkali juga berperilaku angkuh seperti itu. Kita berpikir analisa kebutuhan kita sudah yang paling benar dan tidak mungkin meleset. Kita menganggap solusi yang kita rancang sudah yang paling sempurna dan tidak mungkin keliru. Apa yang tertulis dalam dokumen analisis kebutuhan dan dokumen rancangan kita anggap sebagai hukum Tuhan yang tidak boleh diganggu gugat. Kesalahan kita anggap sebagai kelemahan. Perubahan kita anggap sebagai dosa.

Jika konstitusi negara saja bisa di-amandemen, bagaimana kita bisa dengan angkuh mengatakan hasil analisis dan perancangan sistem sebagai dokumen keramat yang tidak boleh dikoreksi dan diperbaharui? Jika proyek Apollo yang dikerjakan oleh ribuan ilmuwan dan teknisi jenius saja harus melalui berbagai tahapan “trial and error” untuk kemudian mencapai tujuannya mendaratkan manusia di bulan pada Apollo 11 (bukan Apollo 1),  bagaimana kita bisa dengan yakin menganggap satu siklus pembangunan sistem sudah cukup untuk membuat sistem yang sempurna?


Daripada memiliki pola pikir “sekali tembak” yang menolak kesalahan dan menghindari perubahan, kita sebaiknya memulai pendekatan evolusioner yang justru bercirikan kesalahan-kesalahan yang terus dikoreksi dan perubahan gradual untuk menjadi lebih baik. Ada 2 karakteristik dalam pendekatan ini, yakni iteratif dan inkremental. Iteratif berarti pembangunan sistem harus dilakukan dalam sejumlah siklus yang berulang. Dalam sebuah proyek 6 bulan, daripada 1 bulan dihabiskan untuk analisis dan desain, 4 bulan untuk membangun, dan 1 bulan untuk pengujian dan implementasi, akan lebih baik bila dibagi dalam 3 “mini-proyek” yang masing-masing terdiri dari 2 minggu analisis dan desain, 4 minggu membangun, dan 2 minggu untuk pengujian dan implementasi. Setiap iterasi menghasilkan produk siap pakai yang sudah dapat dicoba oleh pengguna. Inkremental, berarti setiap iterasi harus memberikan hasil akhir yang lebih baik.  Kita tidak melakukan hal yang sama dan berputar-putar sebanyak 3 kali. Pada setiap iterasi harus ada persepsi yang diluruskan, kesalahan yang dikoreksi, proses yang diperbaiki, dan produk yang disempurnakan.



Tidak ada komentar:

Posting Komentar