Reborn

Sebagai praktisi tehnologi, saya telah berulang kali tergoda untuk menyelesaikan segala sesuatu secara mandiri. Sepintas pemikiran ini dirasakan sebagai pilihan terbaik.  Namun batin saya terus bergejolak, tidak  jarang pemiikiran tersebut menjadi salah setelah dicermati berulang kali.

Sebagai perbandingan, diambilkan contoh saat kita hendak membangun atap sebuah rumah dari bahan dasar genteng.  Terdapat dua pilihan untuk menyediakan gentengnya:

  1. Membuat sendiri genteng yang diperlukan.
  2. Membeli genteng yang telah jadi pasar

Dilema muncul dengan asumsi seperti:

  • Genteng yang kita buat sendiri akan lebih baik kualitasnya.
  • Genteng yang kita buat sendiri dapat kita buat sesuai dengan gaya dan kebutuhan kita.
  • Biaya yang dibutuhkan untuk genteng akan relatif lebih murah.

Dalam rekayasa piranti lunak, permasalahan genteng tersebut serupa dengan penyediaan sebuah komponen dalam sistem yang ingin kita buat.  Pergolakan muncul ketika munculnya kebutuhan sebuah komponen yang telah tersedia oleh pihak lain, baik gratis (open source)  atau pun berbayar (commercial).  Apa pun pilihan kita, akan selalu terdapat faktor yang merugikan pada akhirnya.

Memang benar, idealnya, apa pun keputusan akhirnya, kita harus mempertimbangan relasi komponen tersebut dengan kelangsungan produk kita.  Semakin kritikal fungsi komponen tersebut, semakin baik bila komponen tersebut kita buat sendiri.  Namun demikian, keputusan ini akan menambah beban waktu dan biaya untuk mengembangkannya.

Tidak ada jawaban pasti dalam memecahkan masalah ini.  Inilah yang menyebabkan proses rekayasa piranti lunak merupakan hal yang sangat kritikal dan penuh dengan ketidak-pastian.

No comments:

Post a Comment