π¨βπ» Dari persepsi seorang software developer dalam bidang pembangunan perisian selama lebih 10 tahun.
Sekarang ni hampir semua orang mengunakan perisian.
Kita menggunakan perisian seperti WhatsApp dan Facebook setiap hari dalam kehidupan harian kita. Dalam bisnes pula, kita gunakan perisian seperti Google Sheet dan Gmail. Media sosial seperti Facebook, X dan Instagram juga terbina atas perisian.
Perisian dapat memudahkan dan mempercepatkan kerja kita. Contohnya, bila kita nak mencari kedai, kita akan membuat carian di Google atau Facebook, kemudian membuka lokasi kedai tersebut di Google Maps atau Waze. Sehinggakan dikatakan sesebuah bisnes bagaikan tidak wujud jika ia tidak wujud dalam talian.
Kita sebagai sebuah bisnes pula, boleh menggunakan perisian untuk meningkatkan efisiensi bisnes kita. Dengan perisian, kerja yang sebelum ini dilakukan oleh dua atau tiga orang boleh dilakukan oleh perisian secara automatik. Persian juga boleh menjadi kelebihan daya saing (competitive advantage) sebuah bisnes terhadap bisnes lain.
Dalam post ini saya nak menjawab satu soalan yang pernah saya terima dalam interview kerja di sebuah IPTA. Soalan yang ramai dalam bisnes dan pengurusan tertanya tanpa pemahaman yang menyeluruh tentang pembangunan perisian.
Tidak mudah untuk kita memilih salah satu tanpa mengetahui objektif, budget dan keadaan bisnes atau institusi tersebut.
Bila membangunkan sistem, biasanya ada tiga pendekatan utama:
- Outsource – upah pembangunan sistem kepada ajensi atau freelance developer.
- In-house – bangunkan sistem secara dalaman dengan development team sendiri.
- Off-the-shelf – Beli atau langgan yang sudah siap.
Antara faktor utama yang dipertimbangkan dalam pembangunan sebuah sistem adalah kos dan masa. Kita akan membuat perbandingan antaran tiga pendekatan di atas melalui dua kanta ini, kos dan masa.
Outsource
Pendekatan ini adalah seperti kita mengupah kontraktor untuk mengubah suai rumah kita. Biasanya kita akan mendapatkan sebut harga daripada kotraktor:
- Kontraktor pertama memang terkenal dengan reputasi menyiapkan kerja dengan cepat dan baik, tetapi kos yang dikenakan agak tinggi.
- Kontraktor kedua tidak dikenali, tetapi menawarkan harga yang jauh lebih murah.
- Pilihan ketiga adalah kita sendiri membeli bahan binaan dan mencari kontraktor dan buruh untuk menjalankan kerja-kerja yang diperlukan.
Ketiga-tiga pilihan diatas mempunyai kos dan risiko yang berbeza. Pilihan kontraktor pertama adalah paling selamat, namun datang dengan kos tertinggi.
Pilihan kedua dan ketiga bukan sahaja datang dengan risiko yang tinggi, ia mungkin melibatkan kos yang lebih tinggi daripada pilihan pertama.
Jika kontraktor yang kita lantik kerap melalukan kesilapan, kita juga yang perlu mengeluarkan kos tambahan untuk menampung kesilapan tersebut untuk memastikan kelangsungan projek. Bagi yang pernah mengubah suai rumah, pasti memahami masalah ini.
Perkara yang sama juga boleh berlaku dalam projek pembangunan perisian. Kita boleh memilih untuk melantik vendor dengan reputasi yang baik tapi mengenakan caj yang tinggi atau melantik freelance developer daripada India dengan kos yang jauh lebih rendah.
Kerap kali saya melihat perisian yang dibangunkan oleh vendor tidak mengikut permintaan pelanggan, akhirnya tidak digunakan ataupun projek tersebut berlanjutan sehingga bertahun-tahun.
Mengikut kajian daripada The Standish Group, kadar kegagalan projek pembangunan perisian adalah 70%. Hanya 30% berjaya dilaksanakan pada tempoh dan budget yang ditetapkan serta memenuhi keperluan pengguna.
In-house
Pada pendapat saya, pendekatan ini adalah
- Paling berisiko,
- Melibatkan kos yang tinggi
- Mengambil masa yang lama jika kita baru nak bermula.
- Tidak patut diambil jika core business kita bukan perisian atau teknologi.
Tetapi boleh meraih pulangan yang sangat lumayan jika dapat dilaksanakan dengan baik.
Membina dan mengekalkan sebuah team pembangunan perisian yang berkaliber amat sukar. Kita perlu menyediakan suasana dan budaya kerja yang kondusif untuk pembangunan perisian.
Mencari software developer yang berkaliber untuk menyertai team kita juga sukar. Sekarang ini permintaan untuk software developer tinggi. Biasanya senior software developer yang berkemahiran sudah pun bekerja dengan syarikat-syarikat besar dan dibayar gaji yang tinggi.
Kesilapan yang biasa saya lihat adalah kita mula dengan melantik pelajar praktikal yang tidak berpengalaman. Kemudian pening apabila projek berlanjutan lama dan tidak mengikut spesifikasi.
Off-the-shelf
Perisian off-the-shelf adalah perisian sedia ada yang boleh dibeli atau dilanggan.
Risiko bagi pendekatan ini adalah yang paling rendah.
Kita tidak perlu mengeluarkan kos permulaan yang tinggi. Biasanya bayaran kecil sahaja dikenakan untuk mula menggunakan perisian. Malah ada perisian yang menawarkan free trial atau plan percuma untuk kita mencuba terlebih dahulu.
Kebanyakan masa akan dihabiskan dalam implementasi perisian, seperti mengimport data dan mengkonfigurasi perisian mengikut keperluan. Manakala projek yang dibangunkan secara outsource atau in-house boleh memakan masa bertahun-tahun untuk merancang, membangunkan dan menguji perisian sebelum boleh dilaksanakan sepenuhnya.
Perisian jenis ini juga terbukti berkesan kerana telah lama digunakan. Berbeza dengan perisian yang baru dibangunkan yang perlu diuji lari terlebih dahulu.
Kita juga akan mendapat penambahbaikan dan security update terkini tanpa kos tambahan. Berbeza dengan perisian yang dibangunkan secara outsource, penambahbaikan baru biasanya akan melibatkan kos tambahan.
Kelemahan perisian off-the-shelf adalah kebolehan untuk mengubah suai terhad. Jika proses kerja kita terlalu rumit, mungkin sukar untuk mencari perisian sedia ada yang sesuai.
Kesimpulan
Setiap pendekatan yang diambil ada kelebihan dan kekurangan. Pendekatan yang boleh kita ambil bergantung kepada objektif, budget dan keadaan semasa kita.
Berikut adalah cadangan keadaan yang sesuai bagi setiap pendekatan:
Pendekatan | Bila Sesuai |
Outsource | Tiada perisian lain di pasaran yang memenuhi keperluan kita. Projek berskala kecil. |
In-house | Tiada perisian lain di pasaran yang memenuhi keperluan kita. Bisnes utama kita adalah perisian atau kaedah penyampaian utama service kita adalah melalui perisian (contoh Facebook, GrabFood, Foodpanda). Projek berskala besar dan berjangka panjang. |
Off-the-shelf | Perisian bukan bisnes utama kita. Boleh kita fokus pada kompetensi utama kita (contoh mencari guru mengaji yang baik). Nak mula kembangkan bisnes tanpa berbelanja terlalu besar. |
Disclaimer: Saya cuma memberikan gambaran dan cadangan secara umum sahaja, untuk membantu anda membuat keputusan. Tidak dinafikan ada kes-kes yang terkecuali. Setiap bisnes juga berbeza.
Semoga membantu.