Post ini merupakan komentar atas pertanyaan tulisan Firman Nugraha di TeknoJurnal. Mengenai apakah kita menulis kode dari awal (From Scratch) ataukah kita memakai CMS. Saya punya dua pernyataan asertif mengenai ini:
- Jika anda membuat produk yang fokus kepada konten, pakailah apa yang sudah ada.
- Jika anda membuat produk yang fokus kepada fungsionalitas, maka ada dua pilihan
- Improve kode yang sudah ada.
- Jika benar-benar tidak ada yang menutup kebutuhan Anda, maka buatlah sendiri.
Apa yang dikatakan oleh saudara Firman, bahwasanya beliau memakai WordPress, dan juga di salah satu komentar yang mengatakan memakai vBulletin untuk membuat situs komunitas terbesar di Indonesia. Itu merupakan solusi yang tepat karena apa yang dibuatnya adalah sesuatu yang berbasis konten, di mana engine untuk membuat konten itu sudah ada tinggal setup, pakai, dan konten anda siap live, yang perlu dipikirkan adalah bagaimana menarik audiens untuk mengkonsumsi konten Anda. Ini sama saja anda bikin penerbit koran, anda gak perlu produksi kertas atau alat cetak. Cukup mencetak konten yang berbeda-beda dengan mesin dan alat yang sama.
Nilai Tambah Pengguna
Nah pertanyaannya, bagaimana dengan produk yang mempunyai fungsionalitas yang baru atau benar-benar baru? Kita bisa melakukan analisis terhadap apa yang ada di pikiran kita ketika kita ingin membuatnya.
Pertama, saya sebut Replikasi, atau Clone. Artinya saya ingin membuat Facebook ala Indonesia misalnya. Saya sarankan untuk memikirkan kembali ide itu karena ide itu tidak menambahkan nilai tambah (value added) pada penggunanya. Jadi pikirkan ide lain.
Kedua, saya sebut Improvisasi. Artinya mungkin saja software yang ada kita gunakan untuk kemudian kita improvisasi. Contohnya misalkan membuat plug-in WordPress atau themes WordPress untuk mengarahkan ke segmen pasar tertentu. Pada tingkat ini, kode yang kita tulis dari awal jumlahnya lebih sedikit daripada kode utamanya. Gunanya untuk mengimprovisasi produk untuk meraih audiens tertentu. Contoh lain adalah membeli game engine yang sudah ada untuk dibuatkan produk game.
Ketiga, saya sebut Revolusi. Artinya, kita membuat produk yang revolusioner, yang menyelesaikan masalah yang belum terpecahkan produk lain. Biasanya produk yang revolusioner, unsur-unsur kecil yang umum dan dasar sudah ada, tetapi belum terbentuk sehingga perlu dibuat sesuatu yang baru. Tidak ada tempat untuk “mencontek” sehingga kita harus membuat dan menyusunnya dari komponen dan unsur dasar tersebut. Produk yang revolusioner biasanya menyelesaikan masalah, dan juga mengubah kebiasaan orang dalam melakukan sesuatu.
Biasanya, suatu produk yang revolusioner, pada masanya akan ada proses komoditisasi, untuk memudahkan dalam improvisasi produk tersebut. Hal ini dikarenakan, tidak banyak orang yang mengerti prinsip dasar produk tersebut, sehingga diperlukan metode yang mudah untuk orang lain melakukan improvisasi dan pengembangan produk tersebut.
Nah, setelah komoditisasi, biasanya yang terjadi adalah proses replikasi. Yang artinya akan muncul replika-replika produk yang sama yang dilakukan orang lain karena ada rasa pragmatisme bahwa produk tersebut sukses, sehingga ingin mengikuti kesuksesan produk tersebut.
Contoh
Adakah produk yang melewati keseluruhan proses tersebut? Ada yaitu Basecamp, dari 37signals.
- Revolusi, Basecamp menawarkan fungsionalitas baru dengan unsur yang sudah ada seperti development process, development methodology, bahasa pemrograman Ruby, dan lain-lain. Mereka menggabungkan dan memikirkan, serta bekerja keras sehingga mencapai produk final yang merevolusi proses kolaborasi pada suatu proyek.
- Improvisasi, pembuat Basecamp, DHH, merupakan pembuat Ruby on Rails, sebuah framework open source yang merupakan langkah DHH untuk memudahkan dalam melakukan improvisasi. Dengan adanya RoR yang mempunyai fitur scaffolding, code generation, dan lain-lain tentunya akan memudahkan programmer yang tidak seahli DHH untuk mengimprovisasi produk. Dibukanya kode sumber RoR, membuat komunitas banyak yang memakainya, sehingga meminimalisir usaha (effort) untuk improvisasi RoR, karena bisa dilakukan oleh komunitas.
- Replikasi, setelah Basecamp sukses, muncullah beberapa clone, seperti ActiveCollab, dan lain-lain yang ingin merasakan sukses dari Basecamp. Akan tetapi, nampaknya ceruk pasar ini masih didominasi oleh 37signals.
Untuk membuat suatu produk yang profitable, tidak memerlukan kesemua proses tersebut. Dari proses improvisasi saja sudah bisa, yang artinya kita tida dituntut untuk menulis kode dari awal. Bagaimana dengan proses Revolusi? Pembuatan produk yang revolusioner biasanya memerlukan biaya, komitmen, serta waktu. Ketika sukses, biasanya produk yang revolusioner merupakan produk yang mempunyai profit paling tinggi dan trend setter dari produk-produk yang dibuat setelahnya.
Jadi, apakah pakai kode orang lain atau bikin kode sendiri, silahkan lihat produk anda ada di tingkat mana :)
Artikel ini awalnya diterbitkan di blog Didiet Noor di link ini. Diedit dan dipublish kembali di TeknoJurnal dengan seizin penulis aslinya. |