Untuk developer aplikasi, beberapa pertanyaan besar yang sering muncul dari stakeholders (klien, product/project manager) adalah,

"Bisa bikin fitur generate report transaksi ke PDF?", "Bisa bikin fitur export data ke Excel?", "Bisa bikin Dashboard yang menampilkan grafik pembelian, bisa diatur periode tanggalnya, dsb", "Bisa bikin Analytics yang mencatat aktivitas user?"

Menjawab "tidak bisa" jelas tidak mungkin (bisa dipecat kali). Bagi developer awal-awal, pastilah cukup menantang, karena secara logika dan estimasi awal, nampak tidak sulit, toh cuma query penjumlahan/rata-rata biasa, pakai SUM, ORDER BY, beres!

Tidak semudah itu fergusso. Bagi yang sudah sering membangun hal-hal tersebut, pastilah pernah merasakan "kapok". Satu contoh: Dashboard. Judulnya: menampilkan grafik jumlah user mendaftar baru dalam 30 hari; menampilkan grafik jumlah penjualan dalam seminggu untuk kategori yang bisa dipilih, dsb.

Kenyataannya, membangun Dashboard itu tidak mudah, karena biasanya melibatkan ribuan-jutaan records. Fungsi-fungsi aggregasi yang melibatkan banyak join, sorting data, filtering data berdasarkan periode tertentu, dsb. Belum lagi menampilkan dalam bentuk time-series beserta grafiknya.

Pengamatan saya selama ini, 8 dari 10 dashboard web/aplikasi yang dibuat sendiri, seringkali tidak sesuai dengan kebutuhan user. Ujung-ujungnya, data malah sering diolah di excel/spreadsheet sendiri.

Serahkan Pada Ahlinya

Saat ini sudah banyak plugin, library, aplikasi, tools tersedia, yang lebih tepat sasaran untuk kebutuhan spesifik.

Contoh, untuk Dashboard, ada tools seperti Redash, Tableau, dsb. Untuk Export/Import Data Pipeline, bisa pakai Pentaho, dsb. Untuk User Analytics, ada Google Analytics yang sudah sangat mumpuni.

Jika butuh lebih dalam lagi, bisa memanfaatkan log aplikasi yang kemudian diolah ke ELK stack (Elasticsearch, Logstash, Kibana). Bahkan Gojek merilis Darkroom (image processing) ke public yang bisa kita gunakan.

Naik level lagi, bagaimana jika kita butuh fitur kirim SMS/Whatsapp? butuh fitur image recognition untuk membaca tulisan tangan? Jelas sudah banyak layanan tersedia.

Membuat sendiri tentu bisa, tapi akan sangat menghabiskan waktu. Lebih baik tim fokus ke proses bisnis utama, apalagi di awal-awal pengembangan produk; kecuali kita memiliki tim research yang handal.

Beberapa tools/services di atas memang banyak berbayar, namun biasanya ada juga versi free bahkan open source. Lebih menarik lagi jika ada free trial. Contoh, Amazon Web Services (AWS) dan Google Cloud (GCP), ada free tier gratis 1 tahun.

Jika produk/project kita masih sangat awal (apalagi pengguna masih sedikit), menggunakan tools-tools basic (misal: Spreadsheet), sudah cukup. Jika bisnis semakin membesar, ada kebutuhan baru, barulah kita bisa scale-up team dan teknologi.