How to Be Developer: Alur Kerja Pembuatan Aplikasi
How to Be Developer — Alur Kerja Pembuatan Aplikasi, pengen buat aplikasi tapi bingung gimana, nah part ini dikhususkan untuk kamu yang baru belajar, materi ini juga akan jadi fondasi mentoring saya buat kamu yang baru belajar membuat Aplikasi.
The Foundation
Dari pengalaman saya, untuk membuat sebuah aplikasi perlu diingat bahwa pembuatan aplikasi itu di fokuskan untuk menyelesaikan masalah atau menerapkan sebuah solusi, jadi ini fondasi untik jadi seorang developer.
Lihat Permasalahan
maksudnya disini adalah lihat permasalahan client, misalnya kalo kita lihat kasus job posting di upwork/fiverr dan situs situs lain, nah hal ini masih ambigu jika kamu baru belajar, akan sangat susah jika kita langsung kesini, jadi kita lihat dari 2 sisi.
Kita Bangun Apps Mau Seperti Apa
nah disini kita ga boleh berpikir kita sebagai developer tp kita berperan sebagai client, nah kemudian sebagai client ini kita dibuat bagaimana aplikasi kita akan dibuat.
nah beberapa hal yang perlu dipertimbangkan atau yang harus diketahui, seperti
BRD (Business Requirements Document) / PRD (Product Requirement Document)
nah biasanya dokumen seperti ini biasa datang atau dbuat oleh orang product, isinya adalah tentang spesifikasi product yang akan dibuat
- Breakdown List Fitur
- Aplikasi Yang Akan dibuat
- Timeline Pengembangan Product
- Alur Flow Bisnis
UI/UX (Desain UserFlow dan Prototype)
nah disini kita mulai dengan melihat alur dari sebuah aplikasi serta tampilan nya nah data desain biasanya didapat dari desainer/ UI/UX Desain berdasarkan PRD yang didapatkan.
Technical Desain
pada tahap ini kita menentukan implementasi secara teknikal maksudnya adalah bagaimana sebuah PRD itu bisa kita implementasikan dan disana ada beberapa pertimbangan terkait bagaimana aplikasi itu dibuat, di deploy dan terkait keperluan alur data ditampilkan dan sebagainya. nah disini ada beberapa hal yang biasa dibuat
- ERD (Entity Relational Diagram)
- Deployment Diagram
Architecture Review
Tahapan selanjutnya kita mereview arsitektur aplikasi yang akan kita buat, terkait dengan arsitektur aplikasi, hal ini biasanya terjadi jika aplikasi yang kita buat besar, atau membutuhkan team yang melibatkan banyak orang, maka kita perlu melakukan architecture review.
Membuat API Spec
Pada tahap ini kita membuat spesifikasi API, sekarang darimana kira tau spesifikasi API ini dibuat, biasanya kita lihat dari UI/UX nya agar bisa dipake oleh FE/QA dalam team kita jadi tim kita tidak saling menunggu. berikut adalah contoh API Spec dari PZN (Programmer Zaman Now) https://github.com/ProgrammerZamanNow/kotlin-restful-api/blob/master/README.md
Tahap Development
Akhirnya kita sampai pada athap development nah impact/dampak dari apa yang kita buat sampai sebelum tahap development akan kerasa di tahap ini, kita hanya fokus untuk mengembangkan aplikasinya secara pararel, baik secara team maupun sendiri.
Non Production Deployment
Pada tahap ini kita sudah melakukan development kemudian kita akan launching maka baiknya kita menyiapkan environment untuk melakukan deploy untuk mengantisipasi lolosnya bug dan probem teknis ketika aplikasinya launching dan digunakan oleh banyak pengguna.
Testing
Masih terkait dengan non production development, tahap ini dinamakan Testing, dimana kita melakukan test/membuat testcase dan melakukan End-to-End Test oleh tim QA.
Production Deployment
Tahap ini adalah proses Rilis/ Launching product nya, dimana jika ada tambahan fitur baru maka wajib untuk melakukan test secara rutin khusus flow yang urgent/fitur penting, untuk memastikan bahwa aplikasi tersebut berjalan dengan sebagaimana mestinya.
Maintenance/Improvement
Ini merupakan tahap terakhir setelah aplikasinya rilis tahap selanjutnya adalah pemeliharaan, ibaratnya jika kamu membeli sepeda motor maka setelah kebeli kamu akan memikirkan perawatan nya, seperti pengisian dan penggantian oli samping dan lain sebagainya.
Sama halnya sebuah aplikasi kamu perlu memikirkan perawatan dalam aplikasi tersebut, seperti melakukan monitoring aplikasinya, mencakup traffic, respon time request dan lain sebagainya.