“Dana 500k Buatin Website Mirip Tokopxxxx Bisa kan Bro ?” — Alur Pembuatan Aplikasi Yang Selalu Client Remehkan

Dida Rizaldy
6 min readMar 1, 2022

INTRO

Standard pembuatan aplikasi tiap orang beda-beda dan memiliki ciri khas masing-masing. Kita harus sepakat dulu dengan ini, bisa saja apa yang saya buat akan berbeda dengan teman-teman semua, ambil yang bermanfaat dari step ini dan tinggalkan yang tidak sesuai. Tapi intinya titik terakhir dari pembuatan aplikasi adalah proses production dan ini adalah langkah finalnya pasti semua akan setuju dengan itu.

PENERAPAN

Langkah ini sangat fleksibel artinya bisa digunakan oleh seorang saja ataupun yang bekerja dalam sebuah tim. Pada saat bekerja sendiri perlu diperhatikan bahwa kita harus menjadi seseorang yang mengerti alur bisnis, product, dan juga kita paham tentang coding yang akan kita kerjakan ini. Ketika dalam sebuah tim sangatlah mudah karena sudah pasti akan ditangani oleh banyak orang. Saya tidak bilang orang yang bekerja sendiri akan mendapat tantangan pada saat mereka dapat proyek justru hal itu bisa menjadi pengembangan dari kemampuan kita, orang yang mengerti bisnis mungkin belum familiar dengan coding, sedangkan orang yang bisa coding belum tentu paham tentang bisnis, disini lah titik masalahnya. Semakin kita belajar banyak hal maka akan semakin meningkat pula kemampuan kita. Pada dasarnya ide dari konsep pembuatan aplikasi adalah kamu harus paham tentang 3 hal dasar ini :

  1. Product.
  2. Bisnis.
  3. Teknologi.

Ketika 3 hal dasar itu kamu / tim punya secara keseluruhan maka proses pembuatan aplikasi bisa dengan lancar terencanakan. Idenya adalah sebuah aplikasi dalam berjalan dengan ideal, lancar, dan juga tidak ada masalah didalamnya. Semudah ketika kamu melewati jalanan mulus, kamu tidak akan mengeluh tapi tidak akan takjub bukan? Ya karna jalan itu baik-baik aja kamu tidak akan membuat komentar tentang itu.

LANGKAH-LANGKAH PEMBUATAN APLIKASI

1. BUSINESS REQUIREMENTS DOCUMENT (BRD)

BRD ini adalah sebuah dokumen yang memaparkan sebuah ide bisnis dalam suatu proyek, menjadi pedoman proyek, dan merupakan sebuah fondasi dasar dari bisnis itu.

BRD yang dirancang dengan rapi akan menentukan sebuah project management itu sukses atau tidak.

Dokumen ini digunakan juga sebagai dasar kontrak antara client dan juga vendor dimana kita mencapai titik tujuan yang client inginkan dapat teralisasikan. Hal ini juga menjadi standard penetapan untuk menentukan deadline target yang diharapkan, perlu didiskusikan agar dapat tercapai sesuai yang diharapkan.

Umumnya BRD berisikan :

  1. Data dari proyek tersebut.
  2. Ide aplikasi yang akan dibuat.
  3. Kebutuhan dari aplikasi tersebut.
  4. Keuangan.
  5. Jadwal, deadline, dan juga timeline pada saat masa pengerjaan (estimasi).
  6. Fitur.
  7. Perkiraan biaya dan profit.
  8. Flow bisnisnya seperti apa.

Dalam tahap pencarian flow bisnis ada beberapa hal juga yang harus disiapkan :

  1. Dokumen.
  2. Data.
  3. Riset (Produk, Bisnis, dan juga Operasi).

Setelah BRD dibuat maka tentukan meeting dengan tim teknologi, produk, dan juga tim operasi buatlah rangkuman dari BRD tersebut dan bahas tentang fitur, review, dan ini yang penting yaitu tentang kelayakan sebuah layanan yang masuk akal atau tidak karena tidak semua apa yang diminta bisa dibuatkan kedalam sebuah aplikasi client terkadang punya permintaan yang tidak masuk akal dimana sangat mustahil untuk dibuatkan kedalam sebuah aplikasi (klo pernah dapat sebuah proyek pasti akan paham 🤣).

2. UI / UX

User Interface atau lebih dikenal dengan tampilan pengguna antar muka ya bisa dibilang ini adalah visual yang akan diliat oleh pengguna / user. Kaitannya dengan sebuah aplikasi sangatlah besar karena akan menarik minat dari para user juga, ini menjadi krusial ketika dalam sebuah tim tidak ada seorangpun yang mengerti sebuah disain maka sebuah aplikasi akan tidak menarik, boro-boro mau merhatiin aplikasinya lambat atau engga, ringan atau berat, ketika sebuah disain aplikasi sangat buruk user cenderung meninggalkan aplikasi tersebut ketika sekali lihat (percayalah ini krusial).

Peran UI / UX adalah sebagai pendisain dari aplikasi baik itu secara visual, integrasi tiap halaman, melakukan sebuah action pada aplikasi tersebut, prototyping, dan disain url (ini biasanya disepakati oleh backend juga). Disain URL ini lebih ke url yang layak untuk user seperti lebih familiar ketika dilihat, bisa dibaca, bahkan pengguaan bahasa juga penting disini. Contoh dari URL adalah :

aplikasixyz.com/didarizaldy
aplikasixyz.com/didarizaldy/novel-harry-potter
aplikasixyz.com/didarizaldy/category?hobi

3. Technical Design

Ini alur kerja pembuatan aplikasi untuk membuat disain backendnya bisa dibuat dengan confluent page untuk menentukan diagram aplikasi, deployment diagram, dan juga database. Ini adalah langkah yang menentukan sebuah aplikasi berjalan lancar atau lambat. Kenapa ? Karena disain aplikasi disini lebih ke integrasi tiap aplikasi 1 sama lain, koneksi database, struktur tabel dalam database (ERD), dan jalur komunikasi tiap aplikasi. Contohnya seperti ini, misalnya :

  1. Aplikasi Pembayaran itu harus terkoneksi ke Aplikasi Pengecekan Ongkir.
    Untuk dapat saling terhubung satu sama lain kita memerlukan api / database / message broker yang seperti apa agar tidak lambat, responsive, dan juga lancar ?
  2. Aplikasi Pengecekan Ongkir ternyata lambat untuk mengirimkan data ke Aplikasi Pembayaran. Nah kita harus cari tau dahulu penyebab kelambatan itu dari mana, perbaiki disitu.
  3. Aplikasi Notif Sukses Pembayaran ternyata bergantung dengan Aplikasi Pembayaran yang mana kita tau Aplikasi Pembayaran itu bergantung dengan Aplikasi Pengecekan Ongkir.

Diatas adalah contoh yang sangat sederhana, ini bisa terlihat jauh lebih kompleks ketika sudah pada masa development. Dan perlu diingat keseluruhan aplikasi itu sangat bergantung satu sama lain, 1 aplikasi saja mati dan kita tidak membuat cadangan maka akan error seluruhnya. Ini baru proses technical design belum proses development coding ya.

4. REVIEW

Setelah proses technical design selesai maka review rancangan aplikasi tersebut dengan tim teknologi tujuannya yaitu apakah rancangan aplikasi tersebut sudah matang atau belum. Tahap ini memerlukan senior technology karena untuk mereview aplikasi memerlukan pematangan yang baik. Pihak yang terlibat dalam proses review ini umumnya :

  1. Coders.
  2. Network Engineer.
  3. Cyber Security.
  4. Dev-Ops.

Seluruh pihak tadi harus evaluasi terhadap rancangan aplikasi yang sudah melalui banyak proses hingga ke technical design. Hal yang umumnya dibahas adalah :

  1. Speksifikasi Server (Traffic access, data perkiraan, bandwith, dll).
  2. Normalisasi Database (Database yang sudah dibuat ERDnya akan dievaluasi apakah sudah layak atau belum).
  3. Tingkat Keamanan (Metode Enkripsi yang digunakan seperti apa akan dievaluasi).

5. DEVELOPMENT

Sampai juga ditahap pengembangan atau proses development. Di tahap ini udah saatnya bagi para coders buat melakukannya baik itu pembuatan frontend, backend, dan juga QA. Proses development ini berdasarkan hasil kesepakatan pada saat review, usahakan jangan ada yang berubah lagi pada saat proses development karena akan memakan waktu pengerjaan. Aplikasi yang sedang dalam proses development harus sudah fix berdasarkan kesepakatan di REVIEW. Tidak banyak yang bisa dibahas disini karena sudah fixing coding.

6. TESTING

Setelah aplikasi selesai maka langkah selanjutnya untuk ditesting, testing ini lebih ke aplikasinya ya bukan unit test. Testing itu meliputi :

  1. End to end test.
  2. Performance test.
  3. Security test.

Biasanya pada masa testing ini dihandle oleh QA, network, dan cyber security. Untuk performance test dilakukan pengecekan request api, flooding data, pengiriman data massal, simulasi testing, dsb. Dan security test untuk mencoba apakah aplikasi tersebut tidak memiliki celah keamanan seperti sql injection, xss, authentication, port scanning, bruteforce, dll.

Apabila tidak ditemukan bugs pada aplikasi tersebut maka masuk ketahap selanjutnya. Perlu diperhatikan proses testing ini adalah tahap awal sebelum akhirnya bener-bener dipublish maka dari itu tolong diperhatikan aplikasi tersebut apakah sudah layak untuk ke proses production atau belum. Cek sedetail mungkin !

7. PRODUCTION

Ini adalah tahap akhir dari proses pembuatan aplikasi usahakan apa yang sudah dikerjakan ditahap sebelum-sebelumnya sudah fixing dan tidak ditemukan lagi masalah. Beberapa production yang sering digunakan yaitu :

  1. A/B Testing.
  2. Canary Deployment.
  3. Blue Green Deployment.

Setelah production ini dilakukan ada langkah penting yang harus dilakukan yaitu monitoring. Ini perlu dilakukan karena apabila suatu saat aplikasi ditemukan masalah, improvement aplikasi, atau ingin melihat perkembangan aplikasi dapat melalui monitoring ini. Jangan semena-mena seperti fire and forget (selesai bikin aplikasi terus ditinggal) aplikasi perlu monitoring karena sangat penting untuk mendeteksi sebuah masalah secara dini. Keuntungan yang bisa didapatkan dalam proses monitoring ini adalah :

  1. Mendapatkan data yang pasti (bisa dalam bentuk apa saja tergantung keperluannya).
  2. Total traffic.
  3. Respon aplikasi.
  4. Dsb.

MASIH TEGA NGEHARGAIN APLIKASI SEMURAH ITU ?

Bagaimana cukup kompleks kan ? Banyak sekali tahapan yang dilalui untuk menjadi sebuah aplikasi yang diinginkan. Proses ini tidak pasti dan tidak menjamin lebih baik, balik lagi seperti yang diawal setiap tim / orang memiliki cara kerja yang berbeda dan ini adalah versi saya. Estimasi untuk mengerjakan sebuah aplikasi mungkin bisa sekitar kurang lebih 8 minggu paling cepat jika dijabarkan seperti ini :

  1. BRD (1 minggu).
  2. UI / UX (1 minggu).
  3. Technical Design & Review (3 hari).
  4. Development (4 minggu — 6 minggu).
  5. Testing & Production (Kurang lebih 1 minggu).

Hitungan diatas bukan perhitungan pasti karena kita memiliki keterbatasan diantara tim / individu masing-masing tapi bisa jadi refrensi pada saat pembuatan aplikasi, dan itu semua juga berdasarkan aplikasi yang dibuat seperti apa apakah aplikasinya besar atau tidak.

Mungkin sekian dulu apabila dikemudian hari ada update akan segera saya tambahkan sesegera mungkin. Cheers🍻

--

--