ALUR KERJA PEMBUATAN APLIKASI
Alur Pembuatan Aplikasi
Overview: Pada video ini, Eko membahas tentang alur pembuatan aplikasi atau software development life cycle. Dia menjelaskan bahwa setiap perusahaan memiliki alurnya sendiri dalam pembuatan aplikasi dan yang dibahas kali ini adalah versi yang biasa dilakukan oleh Eko.
Tahapan Pembuatan Aplikasi
- Tahap pertama adalah mendapatkan bisnis requirement document atau dokumen kebutuhan bisnis. Dokumen ini biasanya dibuat oleh orang operasional atau produk layaknya orang bisnis.
- Dokumen tersebut berisi list fitur-fitur apa saja yang ingin dibuat dalam aplikasi beserta timeline pengembangannya.
- Setelah dokumen kebutuhan bisnis didapat, tahap selanjutnya adalah membuat alur flow bisnis dari aplikasi tersebut. Hal ini bertujuan agar semua tim terkait bisa memahami bagaimana proses kerja dari aplikasi tersebut.
- Saran dari Eko adalah untuk selalu meminta dokumen kebutuhan bisnis sebelum mulai membuat aplikasi agar tidak bingung saat mengimplementasikan fitur-fiturnya dengan teknologi yang ada.
Kesimpulan
Dalam video ini, Eko menjelaskan tahapan-tahapan dalam pembuatan sebuah aplikasi, dimulai dari mendapatkan dokumen kebutuhan bisnis hingga membuat alur flow bisnis dari aplikasi tersebut. Sarannya adalah untuk selalu meminta dokumen kebutuhan bisnis sebelum mulai membuat aplikasi agar tidak bingung saat mengimplementasikan fitur-fiturnya dengan teknologi yang ada.
Tahapan Pengembangan Aplikasi
Overview: Pada tahap ini, setelah selesai dengan tim teknologi, dilanjutkan dengan tahapan pengembangan aplikasi yang disebut Yui. Tim Yui akan membuat alur UX dan prototipe aplikasi.
Tahap 1: Pembuatan Alur Aplikasi
- Setelah tim teknologi selesai, dilanjutkan dengan tahapan pengembangan aplikasi yang disebut Yui.
- Tim Yui akan membuat alur UX dalam bentuk flowchart untuk setiap fitur aplikasi seperti form registrasi dan change password.
- Selain itu, mereka juga akan menentukan interaksi antar fitur pada aplikasi.
Tahap 2: Pembuatan Prototipe Aplikasi
- Setelah alur UX dibuat, tim Yui akan membuat prototipe aplikasi menggunakan Adobe XD atau Zepplin agar dapat dilihat secara jelas oleh tim teknologi.
- Hasil dari prototipe ini nantinya akan menjadi acuan bagi tim teknologi dalam pembuatan aplikasinya.
Tahap 3: Pembuatan Technical Design
- Setelah website selesai dibuat oleh tim Yui, selanjutnya adalah pembuatan technical design oleh tim teknologi.
- Technical design berisi tentang detail implementasi teknis dari setiap fitur pada aplikasi seperti interaksi antar aplikasi dan pemilihan database yang digunakan.
- Semua detail tersebut dituangkan dalam bentuk dokumen seperti diagram aplikasi dan interaksi antar aplikasi.
Kesimpulan
Overview: Tahapan pengembangan aplikasi terdiri dari tiga tahap yaitu pembuatan alur aplikasi, pembuatan prototipe aplikasi, dan pembuatan technical design. Setiap tahap dilakukan oleh tim yang berbeda-beda untuk memastikan hasil akhir sesuai dengan kebutuhan dan spesifikasi yang telah ditentukan.
Tahap Technical Design
Overview: Pada tahap ini, dilakukan perancangan teknis untuk menentukan bagaimana aplikasi akan dibuat. Hal ini meliputi pembuatan tabel dan relasi antar tabel.
Pembuatan Tabel dan Relasi
- Membuat technical design untuk menentukan relasi antar tabel.
- Keuntungan dari membuat technical design adalah memudahkan dalam menghubungkan ke service atau aplikasi lain di masa depan.
- Pentingnya mengetahui gambaran besar cara kerja secara teknis sebelum mulai coding.
- Desain table yang baik harus mempertimbangkan kebutuhan penggunaan seperti pengiriman SMS.
Review Arsitektur
- Setelah technical design selesai dibuat, dilakukan review arsitektur oleh tim infrastruktur, security, development, dan lain-lain.
- Tujuan dari review arsitektur adalah memastikan bahwa desain yang dibuat sudah baik dan dapat diterapkan dengan benar.
- Tim arsitek akan berkumpul untuk melakukan review terhadap technical design yang telah dibuat dan memberikan masukan jika ada konsen atau masalah pada desain tersebut.
Input-Input dan Infrastruktur
Ikhtisar Bagian: Pada bagian ini, dibahas mengenai input-input yang diperlukan untuk infrastruktur aplikasi dan bagaimana tim akan memvalidasi spesifikasi teknis.
Spesifikasi Teknis
- Input-input akan diberikan kepada tim infrastruktur untuk menentukan spek yang dibutuhkan.
- Tim akan memvalidasi spesifikasi teknis seperti shift puya dan memorinya.
- Security juga menjadi perhatian dalam technical design kita.
Review Arsitektur
- Setelah technical design selesai, dilakukan review arsitektur oleh tim senior untuk memastikan bahwa technical design sudah baik dari segi arsitektur.
- Feedback dari review arsitektur digunakan untuk melakukan perbaikan pada technical design.
Pentingnya FPI Spek
Ikhtisar Bagian: Pada bagian ini, dijelaskan pentingnya membuat FPI spek atau spesifikasi fungsional produk agar tidak terjadi keterlambatan dalam pengembangan aplikasi.
Keterlambatan Pengembangan Aplikasi
- Tanpa adanya FPI spek, bisa terjadi keterlambatan dalam pengembangan aplikasi karena harus menunggu selesainya aplikasi lain yang bergantung pada aplikasi tersebut.
- Idealnya, sebelum melakukan development coding atau implementasi kode, dibuatlah episode atau spesifikasi fungsional produk agar semua pihak terlibat tahu apa yang diperlukan.
Pembuatan Episode Spek
- Episode spek dibuat berdasarkan diskusi antara UI/UX, tim peron Enginer, dan tim cuek.
- Episode spek berisi permintaan dan respons yang diperlukan untuk setiap fitur aplikasi yang akan dikembangkan.
Tahapan Pengembangan Aplikasi
Overview: Pada bagian ini, pembicara membahas tahapan pengembangan aplikasi secara detail.
Tahap 1: Analisis Kebutuhan
- Tim harus bekerja sama untuk menganalisis kebutuhan aplikasi.
- Data dari beberapa aspek seperti produk, logistik, dan promo harus dikumpulkan.
- Semua data harus di-detailkan agar tidak terjadi perubahan besar di kemudian hari.
Tahap 2: Perancangan Aplikasi
- Tim harus membuat spesifikasi yang jelas dan detail sebelum memulai pengembangan aplikasi.
- Semua tim harus sepakat dengan spesifikasi tersebut sebelum memulai pengembangan.
Tahap 3: Pembuatan Prototipe
- Pembuatan prototipe dilakukan untuk menguji apakah spesifikasi yang dibuat sudah sesuai atau belum.
- Jika ada masalah, maka akan dilakukan perbaikan pada tahap ini.
Tahap 4: Review Spesifikasi
- Setelah pembuatan prototipe, tim akan melakukan review ulang terhadap spesifikasi yang telah dibuat.
- Jika ada perubahan, maka akan dilakukan revisi pada tahap ini.
Tahap 5: Pembuatan Spesifikasi Fungsional (FP)
- Tim akan membuat FP berdasarkan spesifikasi yang telah disepakati sebelumnya.
- FP dibuat secara detail dan jelas agar semua tim dapat memahami dengan baik.
Tahap 6: Pengembangan Aplikasi
- Tim akan mulai melakukan pengembangan aplikasi secara paralel.
- Setiap tim bertanggung jawab atas bagian yang telah ditentukan sebelumnya.
Tahap 7: Uji Coba dan Perbaikan
- Setelah pengembangan selesai, aplikasi akan diuji coba untuk mengetahui apakah sudah sesuai dengan spesifikasi atau belum.
- Jika ada masalah, maka akan dilakukan perbaikan pada tahap ini.
Tahap 8: Peluncuran Aplikasi
- Setelah semua tahapan selesai, aplikasi siap untuk diluncurkan.
- Semua tim harus sepakat bahwa aplikasi sudah siap untuk digunakan.
Kesepakatan dan Proses Development
Overview: Dalam bagian ini, pembicara membahas pentingnya membuat kesepakatan sejak awal dalam pengembangan aplikasi untuk memastikan semua tim dapat bekerja secara paralel. Dia juga menjelaskan proses development dan deployment yang melibatkan beberapa tahapan.
Kesepakatan Awal
- Penting untuk membuat kesepakatan sejak awal dalam pengembangan aplikasi.
- Ini memungkinkan semua tim bekerja secara paralel dan menghindari masalah di kemudian hari.
- Tim harus sepakat pada spesifikasi dan fitur yang akan dibuat.
Proses Development
- Setelah kesepakatan dibuat, tim developer mulai bekerja pada aplikasi.
- Tim harus mengikuti spesifikasi yang telah disetujui sebelumnya.
- Aplikasi dikembangkan dengan menggunakan teknologi terbaru seperti database dan aplikasi mobile.
Proses Deployment
- Setelah pengembangan selesai, aplikasi akan di-deploy ke lingkungan non-production terlebih dahulu.
- Ada beberapa lingkungan non-production seperti staging environment atau development environment.
- Aplikasi akan dijalankan di lingkungan non-production untuk melakukan testing end-to-end sebelum akhirnya dideploy ke production environment.
Testing
- Setelah aplikasi dideploy ke lingkungan non-production, maka dilakukan testing end-to-end untuk memastikan bahwa semua fitur berjalan dengan baik.
- Ada banyak jenis testing seperti unit test, integration test, dan end-to-end test.
- Testing sangat penting untuk memastikan aplikasi berjalan dengan baik sebelum dideploy ke production environment.
Pengujian Performa dan Keamanan
Ikhtisar Bagian: Pada bagian ini, pembicara membahas tentang pengujian performa dan keamanan aplikasi.
Pengujian Performa
- Performance test dilakukan untuk mengetahui apakah ada masalah dalam end-to-end testing atau ketika mesin dijalankan.
- Tim performance akan mencoba mengirimkan performance test seperti stres ke fb untuk mengetahui Epic mana yang respon timnya di atas 2 detik.
- Setelah menemukan masalah, maka akan dilakukan improvement pada aplikasi.
Pengujian Keamanan
- Security test dilakukan pada semua end point dan front-end untuk memastikan tidak ada cross scripting atau SQL injection.
- Jika ditemukan security hole, maka akan dilakukan development lagi untuk memperbaiki masalah tersebut.
- Setelah proses testing selesai, aplikasi baru dapat dipilih ke production.
Proses Production Development
Ikhtisar Bagian: Pada bagian ini, pembicara membahas tentang proses production development.
Tahap-tahap Produksi
- Ada banyak strategi yang dapat digunakan dalam produksi tergantung pada tempat perusahaan.
- Contoh strategi termasuk Ebi testing dan Green deployment.
- Sebelum produk baru dirilis, bisa dikirimkan ke sebagian user terlebih dahulu sebagai MB testing.
- Ketika sudah di-production deploy, tetap perlu menjalankan quart omission untuk memastikan bahwa aplikasi aman.
Tahapan Produksi dan Maintenance Aplikasi
Overview: Pada bagian ini, pembicara membahas tahapan produksi aplikasi hingga maintenance atau improvement yang perlu dilakukan setelah aplikasi dipakai.
Tahapan Produksi
- Tahap awal dari produksi adalah menentukan fitur-fitur yang dibutuhkan.
- Setelah produksi selesai, tahap selanjutnya adalah maintenance atau improvement.
- Improvement akan membawa kembali ke tahap awal untuk menambahkan fitur baru pada aplikasi.
Maintenance
- Pentingnya melakukan maintenance pada aplikasi setelah digunakan dalam production.
- Monitoring diperlukan untuk memudahkan proses maintenance. Monitoring dapat dilakukan dengan membuat monitoring tools seperti jumlah data dan respon time.
- Monitoring juga membantu mengidentifikasi masalah sebelum terjadi sehingga dapat diatasi lebih cepat.
Kesimpulan
Pembuatan aplikasi memiliki tahapan-tahapan yang harus dilakukan mulai dari menentukan fitur hingga maintenance. Penting untuk melakukan monitoring agar masalah pada aplikasi dapat diidentifikasi lebih cepat dan diatasi dengan mudah.
Mengakhiri Video
Ringkasan Bagian: Pada bagian ini, pembicara mengundang penonton untuk memberikan kritik atau saran di kolom komentar. Ia juga meminta agar video ini dibagikan ke teman-teman yang lain dan di-follow serta subscribe akun sosial media miliknya.
Salam Penutup
Ringkasan Bagian: Pembicara menyampaikan salam penutup dan mengucapkan terima kasih kepada para penonton. Ia juga menekankan bahwa programmer jaman now tidak hanya ada di YouTube, tetapi juga di Facebook dan Instagram.