Dari Masalah ke Aplikasi: Bagaimana Sebuah Produk Digital Dibangun?

Mahasiswa Teknik Informatika di Universitas Pamulang yang juga bekerja sebagai programmer, dengan minat pada pengembangan web, backend, dan teknologi.
·waktu baca 6 menit
Tulisan dari MUHAMMAD FARSYA SURYA tidak mewakili pandangan dari redaksi kumparan
Memahami proses pengembangan produk digital dari identifikasi masalah hingga menjadi solusi yang dapat digunakan.

Ketika melihat sebuah aplikasi yang sudah selesai, perhatian kita biasanya tertuju pada , fitur, dan kemudahan penggunaannya.tampilan Ada tombol yang dapat diklik, halaman yang saling terhubung, formulir, dashboard, hingga berbagai fitur lainnya. Namun, sebelum semua itu menjadi sebuah produk yang dapat digunakan, biasanya ada satu hal yang jauh lebih sederhana: sebuah masalah.
Bagi seorang developer, membangun aplikasi seharusnya tidak hanya dimulai dari pertanyaan, “Teknologi apa yang ingin saya gunakan?” tetapi juga dari pertanyaan, “Masalah apa yang ingin saya selesaikan?”
Menurut IBM, proses pengembangan perangkat lunak atau Software Development Life Cycle (SDLC) mencakup beberapa tahapan, mulai dari perencanaan, analisis, desain, pengodean, pengujian, penerapan, hingga pemeliharaan. Dengan demikian, menulis kode hanyalah salah satu bagian dari keseluruhan proses pengembangan perangkat lunak.
Semuanya Berawal dari Masalah
Bayangkan seorang mahasiswa yang sering kesulitan mengingat berbagai tugas dari beberapa mata kuliah. Informasi tugas bisa berasal dari grup chat, sistem pembelajaran, catatan pribadi, atau bahkan disampaikan secara langsung oleh dosen.
Dari permasalahan tersebut, muncul sebuah kebutuhan: bagaimana jika terdapat aplikasi yang dapat membantu mahasiswa mencatat tugas, menentukan deadline, melihat status pengerjaan, dan mendapatkan pengingat?
Di sinilah proses pengembangan produk digital sebenarnya dimulai.
Developer perlu memahami siapa yang mengalami masalah tersebut, bagaimana masalah terjadi, seberapa sering masalah muncul, serta bagaimana pengguna menyelesaikannya saat ini.
Hal ini penting karena aplikasi yang memiliki banyak fitur belum tentu menjadi aplikasi yang berguna. Sebaliknya, aplikasi dengan fitur yang sederhana dapat memberikan manfaat besar apabila benar-benar menyelesaikan kebutuhan penggunanya.
IBM juga menjelaskan bahwa tahap awal SDLC melibatkan identifikasi tujuan, ruang lingkup, serta kebutuhan proyek. Analisis kemudian digunakan untuk memahami kebutuhan pengguna dan menerjemahkannya menjadi rencana implementasi.
Dari Masalah Menjadi Solusi
Setelah masalah dipahami, langkah berikutnya adalah menentukan solusi.
Dalam contoh aplikasi untuk mahasiswa tadi, tidak semua fitur harus langsung dibuat. Developer dapat menentukan fitur utama terlebih dahulu, misalnya:
menambahkan tugas;
menentukan mata kuliah;
menentukan deadline;
mengubah status tugas;
melihat daftar tugas;
mendapatkan pengingat.
Fitur tersebut kemudian dapat dikembangkan secara bertahap.
Pendekatan seperti ini membuat proses pengembangan menjadi lebih terarah. Developer tidak menghabiskan waktu membuat fitur yang belum tentu dibutuhkan pengguna.
Di sinilah pentingnya memahami kebutuhan pengguna sebelum terlalu jauh masuk ke tahap coding.
Sebelum Coding, Ada Desain
Kesalahan yang cukup umum ketika belajar membuat aplikasi adalah langsung membuka code editor dan mulai menulis kode.
Padahal, sebelum masuk ke tahap pengembangan, kita perlu memikirkan bagaimana pengguna akan berinteraksi dengan aplikasi.
Misalnya, ketika pengguna ingin menambahkan tugas, apakah tombolnya mudah ditemukan? Apakah formulirnya terlalu panjang? Apakah informasi deadline terlihat jelas? Setelah tugas berhasil disimpan, apakah pengguna mendapatkan informasi bahwa proses tersebut berhasil?
Hal-hal seperti ini berkaitan dengan usability atau kemudahan penggunaan.
Microsoft menjelaskan bahwa user-centered design menempatkan kebutuhan pengguna sebagai pusat keputusan desain. Pengguna juga sebaiknya dilibatkan sejak awal dan diberikan kesempatan untuk memberikan masukan melalui proses pengujian.
Artinya, desain aplikasi bukan hanya tentang membuat tampilan yang terlihat bagus. Desain harus membantu pengguna menyelesaikan pekerjaannya dengan lebih mudah.
Baru Kemudian Masuk ke Dunia Coding
Setelah kebutuhan dan rancangan lebih jelas, barulah developer mulai menerjemahkannya menjadi sebuah sistem.
Pada tahap ini, developer mungkin menentukan teknologi yang digunakan, seperti framework frontend, backend, database, API, sistem autentikasi, hingga infrastruktur untuk menjalankan aplikasi.
Misalnya, sebuah aplikasi dapat memiliki:
Frontend → Backend/API → Database
Frontend bertanggung jawab terhadap tampilan dan interaksi pengguna. Backend menangani logika aplikasi, sedangkan database menyimpan data.
Namun, teknologi bukanlah tujuan akhir. Teknologi hanyalah alat untuk membangun solusi.
Karena itu, memilih teknologi yang sedang populer belum tentu menjadi keputusan terbaik apabila teknologi tersebut tidak sesuai dengan kebutuhan proyek.
Aplikasi Belum Selesai Ketika Coding Selesai
Salah satu hal penting yang sering terlupakan adalah pengujian.
Aplikasi yang terlihat berjalan dengan baik belum tentu benar-benar bebas dari masalah.
Bagaimana jika pengguna memasukkan data yang salah?
Bagaimana jika koneksi internet terputus?
Bagaimana jika dua pengguna melakukan proses yang sama secara bersamaan?
Bagaimana jika pengguna menggunakan perangkat dengan ukuran layar yang berbeda?
Pertanyaan-pertanyaan tersebut perlu diuji.
Dalam SDLC, pengujian digunakan untuk menemukan bug dan memastikan perangkat lunak memenuhi kebutuhan pengguna. Pengujian juga dapat dilakukan secara berulang ketika ditemukan masalah yang perlu diperbaiki.
Jadi, prosesnya bukan sekadar:
Coding → Selesai
Melainkan lebih dekat dengan:
Coding → Testing → Perbaikan → Testing kembali → Deployment
Feedback Pengguna Justru Sangat Penting
Setelah aplikasi digunakan, developer dapat menemukan sesuatu yang sebelumnya tidak terlihat ketika proses pengembangan.
Bisa saja developer menganggap sebuah fitur mudah digunakan, tetapi pengguna justru merasa bingung.
Bisa juga developer menganggap sebuah fitur penting, tetapi ternyata pengguna jarang menggunakannya.
Hal tersebut merupakan alasan mengapa feedback pengguna sangat berharga.
Microsoft menjelaskan bahwa pengembangan yang berpusat pada pengguna melibatkan komunikasi berkelanjutan dengan pengguna dan penggunaan feedback untuk memastikan produk tetap sesuai dengan kebutuhan mereka. Pendekatan tersebut juga dapat dilakukan secara iteratif, yaitu melakukan perbaikan berdasarkan hasil pengujian dan masukan pengguna.
Dengan kata lain, produk digital tidak selalu selesai pada saat pertama kali diluncurkan.
Developer Bukan Sekadar Penulis Kode
Sebagai mahasiswa Teknik Informatika, saya melihat bahwa belajar programming sering kali membuat seseorang terlalu fokus pada kemampuan menulis kode.
Padahal, ketika mengembangkan sebuah aplikasi, kemampuan coding hanyalah salah satu bagian.
Seorang developer juga perlu memahami masalah, menganalisis kebutuhan, membuat solusi, memahami pengguna, melakukan testing, memperbaiki bug, dan memikirkan bagaimana aplikasi tersebut dapat terus dikembangkan.
Pengalaman membuat project juga membuat saya menyadari bahwa terkadang masalah terbesar bukanlah bagaimana menulis sebuah fungsi, tetapi menentukan apa yang sebenarnya harus dibuat.
Kode yang bagus tetap tidak akan memberikan banyak manfaat jika aplikasi yang dibangun sejak awal tidak menyelesaikan masalah yang benar.
Dari Aplikasi Menjadi Produk
Pada akhirnya, ada perbedaan antara membuat aplikasi dan membangun produk digital.
Membuat aplikasi bisa saja berarti menghasilkan software yang memiliki berbagai fitur dan dapat dijalankan.
Namun, membangun produk digital berarti memikirkan keseluruhan perjalanan: mulai dari masalah pengguna, solusi, desain, teknologi, pengembangan, pengujian, hingga bagaimana produk tersebut terus diperbaiki setelah digunakan.
IBM menggambarkan SDLC sebagai sebuah kerangka yang membantu tim mengelola proses pengembangan secara terstruktur, termasuk memahami kebutuhan, mengidentifikasi risiko, melakukan pengujian, melakukan deployment, dan melakukan pemeliharaan.
Karena itu, ketika kita melihat sebuah aplikasi di smartphone atau website yang kita gunakan setiap hari, sebenarnya ada proses panjang di baliknya.
Ada masalah yang harus dipahami, kebutuhan yang harus dianalisis, desain yang harus dibuat, kode yang harus ditulis, bug yang harus diperbaiki, dan feedback yang harus dipertimbangkan.
Pada akhirnya, teknologi hanyalah alat. Nilai sebuah produk digital terletak pada seberapa baik teknologi tersebut membantu menyelesaikan masalah manusia.
