Subtopic 1.1.2 – Memahami Dasar-Dasar Pengembangan Perangkat Lunak (Software Development)
Di balik setiap produk digital yang kita gunakan mulai dari situs web, aplikasi mobile di ponsel, hingga sistem internal perusahaan terdapat sebuah proses kompleks yang disebut Pengembangan Perangkat Lunak (Software Development).
Secara sederhana, ini adalah proses membangun dan memelihara aplikasi. Meskipun istilah "Web Development" sering digunakan karena banyak produk digital diakses melalui browser, prinsip dasarnya berlaku luas untuk berbagai jenis perangkat lunak. Dalam bagian ini, kita akan menggunakan pengembangan web sebagai contoh utama untuk membedah arsitektur perangkat lunak ke dalam tiga area kunci, karena konsep Frontend, Backend, dan Full-Stack adalah fondasi yang relevan baik untuk web, aplikasi mobile, maupun platform digital lainnya.
Gambar 1.1.13 3 Komponen Front-end
1. Frontend Development
Frontend adalah semua hal yang dilihat dan digunakan langsung oleh pengguna (user). Ini adalah sisi visual dan interaktif dari sebuah aplikasi. Teknologi utama yang membangun frontend adalah HTML, JavaScript dan CSS.
Dalam praktiknya, jika kamu menemukan tampilan yang bisa berubah ukuran otomatis agar nyaman dilihat di HP dan komputer (ini disebut responsive design). Biasanya Web Developer akan menggunakan framework seperti React atau Vue untuk membuat laman yang cepat dan dinamis.
2. Backend Development
Backend adalah bagian tak terlihat dari aplikasi yang berjalan di server. Fungsinya adalah menjalankan logika bisnis, mengelola data, dan memproses permintaan dari pengguna.
Contohnya: saat kamu tekan “bayar”, backend yang menghubungkan dengan database untuk menyimpan transaksi.
Dalam praktiknya, Seorang Backend Developer bekerja dengan berbagai teknologi, di antaranya:
-
Database: Tempat menyimpan data. Contohnya MySQL (untuk data yang terstruktur dalam tabel) atau MongoDB (untuk data yang lebih fleksibel dan tidak terstruktur).
-
Framework: Kerangka kerja yang mempermudah pengembangan logika backend. Contoh populernya adalah Laravel (untuk bahasa PHP) atau Express.js (untuk JavaScript/Node.js), yang membantu mengatur alur data antara frontend dan database.
3. Full-stack Development (Gabungan Frontend + Backend)
Seorang Full-stack Developer adalah seorang generalis yang memiliki kemampuan untuk bekerja di kedua sisi, baik frontend maupun backend. Selain itu, mereka juga seringkali bertanggung jawab agar data yang dikirim dari frontend bisa dipahami oleh backend dan menjaga agar situs cepat, aman, dan dapat diandalkan menggunakan alat seperti Git (pengelolaan versi), tes otomatis, dan sistem deploy (CI/CD).
Mengapa Product Manager Harus Memahami Software Development?
Meskipun seorang PM tidak dituntut untuk bisa coding, pemahaman dasar tentang web development adalah aset yang sangat berharga. Berikut alasannya:
Perencanaan Produk yang Realistis:
Dengan memahami dasar-dasar teknis, seorang PM dapat membuat Product Requirements Document (PRD) dan roadmap yang lebih realistis dan dapat dieksekusi oleh tim engineering. Kamu akan lebih mengerti mana fitur yang kompleks dan mana yang sederhana untuk dibuat.
Komunikasi yang Efektif dengan Tim Teknis:
PM yang memahami istilah teknis dapat berkomunikasi dengan lebih lancar bersama tim developer. Ini mengurangi miskomunikasi, membangun kepercayaan, dan membuat diskusi mengenai impact atau kendala teknis sebuah fitur menjadi lebih produktif.
Pengambilan Keputusan yang Lebih Baik:
Saat dihadapkan pada batasan (misalnya, keterbatasan waktu, biaya server, atau performa sistem), PM yang memiliki wawasan teknis dapat mengambil keputusan strategis (trade-off) yang lebih cerdas dan efisien.
Teori akan lebih bermakna saat kita melihat penerapannya. Berikut adalah beberapa contoh bagaimana perusahaan-perusahaan teknologi di Indonesia menerapkan konsep web development untuk mencapai tujuan bisnis mereka.
1. Studi Kasus: Ekosistem FinTech (GoPay & DANA)
-
Konteks: Platform e-money seperti GoPay dan DANA membutuhkan frontend yang sangat sederhana untuk proses top-up dan scan QR. Di sisi lain, mereka memerlukan backend yang sangat kuat dan aman untuk mengelola integrasi dengan sistem perbankan, menjamin keamanan transaksi, dan mematuhi regulasi dari Otoritas Jasa Keuangan (OJK).
-
Solusi & Teknologi: Frontend dan backend dirancang untuk menjamin transaksi berjalan cepat (ideal di bawah 2 detik) dan bebas error, karena kepercayaan pengguna adalah segalanya dalam industri keuangan.
- Implikasi untuk Product Manager:
- Menentukan Prioritas Berdasarkan Risiko Teknis: PM harus bisa menimbang, mana yang lebih berisiko: bug pada tampilan (UI) formulir scan QR atau timeout pada backend saat volume transaksi sedang tinggi? Prioritas harus didasarkan pada dampak terbesar bagi pengguna dan bisnis.
-
Mendefinisikan Kebutuhan Non-Fungsional: Dokumen Persyaratan Produk (PRD) tidak hanya berisi fitur, tetapi juga kebutuhan teknis non-fungsional seperti target latency (waktu respons), kapasitas penanganan beban puncak (peak load), dan standar keamanan API.
-
Merencanakan Peluncuran dengan Mitigasi Risiko: Roadmap produk harus mencakup fase pengujian di lingkungan terkontrol (staging), rencana pemulihan (rollback plan), dan validasi kepatuhan regulasi untuk menghindari downtime atau masalah hukum.
2. Studi Kasus: Optimasi Performa E-commerce (Tokopedia)
-
Konteks: Sebagai salah satu e-commerce terbesar di Indonesia, Tokopedia menghadapi tantangan besar dalam menjaga performa mobile web, terutama bagi pengguna dengan koneksi internet lambat. Halaman penemuan produk dan promo (discovery pages) harus dimuat dengan sangat cepat untuk menghindari pengguna meninggalkan situs (bounce rate).
-
Solusi & Teknologi: Tim berfokus pada optimasi performance-first. Dengan meningkatkan metrik Time to Interactive (TTI), mereka berhasil meningkatkan click-through rate sebesar 35% dan konversi sebesar 8%. Implementasi teknisnya mencakup caching, kompresi ukuran file, critical CSS, dan server-side rendering.
- Implikasi untuk Product Manager:
-
Menjadikan Metrik Teknis sebagai KPI Produk: PM menetapkan KPI teknis yang jelas dalam PRD, seperti "TTI harus di bawah 4 detik" dan merancang optimasi khusus untuk jam-jam sibuk (rush hour).
-
Memprioritaskan Utang Teknis (Technical Debt): PM harus mampu meyakinkan stakeholder untuk memprioritaskan pekerjaan optimasi performa dalam roadmap, bahkan jika itu berarti menunda peluncuran fitur baru.
-
Membuat Keputusan Trade-off: PM harus berani mengambil keputusan sulit, misalnya menunda implementasi desain yang kompleks secara visual jika berpotensi memperlambat performa situs, hingga fondasi teknisnya stabil.
-
3. Studi Kasus : SiCepat Ekspres – Platform Web & Digital Logistics
-
Konteks: SiCepat startup logistik terkemuka Indonesia, memproses lebih dari 40 juta paket per bulan menggunakan platform digital yang terintegrasi kuat antara front-end, backend, dan basis data skala besar. Data adalah tulang punggung untuk efisiensi operasional dan pengalaman pelanggan.
-
Solusi & Teknologi:
-
Frontend (Web Portal): Untuk dashboard pemesanan, pelacakan real-time, dan statistik pengiriman.
-
Backend (Server/API): Menangani logika perutean paket, notifikasi, dan integrasi dengan sistem mitra.
-
Database (MongoDB Atlas di AWS): Menyimpan data pelacakan, data pengguna, dan status paket dengan skalabilitas tinggi untuk menangani volume data yang masif.
-
-
Implikasi untuk Product Manager:
-
Merencanakan Strategi Data Sejak Awal: Karena volume data yang sangat besar, PM harus memikirkan strategi penyimpanan dan analisis data sejak awal siklus produk, bukan sebagai tambahan di akhir.
-
Memperlakukan Skalabilitas sebagai Fitur Inti: PM perlu menetapkan KPI teknis seperti latensi saat scaling, tingkat error, dan throughput sebagai bagian dari requirement produk. Keandalan dan skalabilitas bukanlah "nice-to-have", melainkan fitur inti.
-
Merancang Produk Berbasis API untuk Kemitraan: Untuk fitur seperti "pelacakan resi" yang bisa diintegrasikan dengan marketplace lain, PM harus memimpin perancangan spesifikasi API, dokumentasi, dan pola integrasi yang mudah digunakan oleh pengembang eksternal.
-
Kamu bisa melihat rangkuman dari tiap industri melalui gambar di bawah ini.
Tabel 1.1.1 Perbandingan Fintech, E-Commerce dan Logistics
- Apa bedanya Frontend (yang dilihat pengguna) dan Backend (yang menjalankan data & logika)?
- Kalau tim development mengatakan fitur baru bisa bikin website melambat, bagaimana kamu sebagai PM bereaksi? Apa yang akan kamu minta tim prioritaskan?