Impact-Site-Verification: 660eb309-5c9c-40c6-8938-c75e7eeae230
Terminologi istilah “Old Fashion” dan “New Fashion” dalam pengembangan perangkat lunak sering digunakan secara informal untuk menggambarkan berbagai pendekatan, metodologi, dan tren yang telah berkembang seiring berjalannya waktu. Berikut ini ikhtisar karakteristik yang terkait dengan masing-masing istilah tersebut, meskipun penting untuk dicatat bahwa istilah-istilah ini bersifat subyektif dan tidak didefinisikan secara universal. Karena tidak ada teori khusus yang mendasari istilah ini. Hanya saja untuk mempermudah kita semua dalam membedakan sebuah “gaya” pengembangan aplikasi kita perlu istilah yang mudah untuk di ingat dan dijadikan non-formal standard.
Mode Lama (Old Fashion) dalam Pengembangan Perangkat Lunak:
1. Model Waterfall:
– Proses pengembangan berurutan dan linier.
– Persyaratan dikumpulkan di awal, dan setiap fase harus diselesaikan sebelum melanjutkan ke fase berikutnya.
– Kurangnya fleksibilitas dalam mengakomodasi perubahan.
2. Arsitektur Monolitik:
– Aplikasi tunggal yang digabungkan erat.
– Sulit untuk diukur dan dipelihara seiring pertumbuhan aplikasi.
3. Dokumentasi Kelas Berat:
– Dokumentasi awal yang ekstensif.
– Spesifikasi rinci dan dokumen desain dibuat sebelum pengembangan.
4. Siklus Pelepasan Panjang:
– Siklus pengembangan dan rilis yang lebih lama.
– Fitur dan pembaruan baru digabungkan ke dalam rilis besar.
5. Kontrol Versi Tradisional:
– Ketergantungan pada sistem kontrol versi terpusat.
– Kode sering kali “diperiksa” setelah perbaikan fitur atau bug selesai.
6. Pengujian Manual:
– Pengujian manual ditekankan.
– Upaya pengujian ekstensif di akhir siklus pengembangan.
7. Manajemen Perubahan Formal:
– Proses kontrol perubahan yang ketat.
– Perubahan memerlukan peninjauan dan persetujuan menyeluruh.
Model Baru (New Fashion) dalam Pengembangan Perangkat Lunak:
1. Metodologi Agile:
– Pengembangan berulang dan bertahap.
– Penekanan pada kemampuan beradaptasi terhadap perubahan kebutuhan.
2. Arsitektur Layanan Mikro:
– Menguraikan aplikasi menjadi layanan kecil dan independen.
– Lebih mudah untuk diukur, dipelihara, dan diterapkan.
3. Dokumentasi Ringan:
– Dokumentasi minimal dimuka.
– Dokumentasi sering kali dihasilkan sebagai bagian dari proses pengembangan.
4. Integrasi Berkelanjutan/Penerapan Berkelanjutan (CI/CD):
– Proses otomatis untuk pengujian dan penerapan.
– Sering, rilis kecil.
5. Kontrol Versi Terdistribusi (misalnya, Git):
– Sistem kontrol versi terdesentralisasi.
– Pengembang mengerjakan cabang fitur, menggabungkan perubahan secara teratur.
6. Pengujian Otomatis:
– Penekanan pada pengujian otomatis (pengujian unit, pengujian integrasi, dll.).
– Pengujian diintegrasikan ke dalam proses pengembangan.
7. Praktik DevOps:
– Kolaborasi antara tim pengembangan dan operasi.
– Otomatisasi proses pengembangan, pengujian, dan penerapan.
8. Komputasi Awan (Cloud Computing):
– Memanfaatkan layanan cloud untuk skalabilitas dan fleksibilitas.
– Prinsip Infrastruktur sebagai Kode (IaC).
Pertimbangan:
– Fleksibilitas vs. Stabilitas:
– Old Fashion seringkali mengutamakan stabilitas melalui proses yang ketat.
– New Fashion menekankan kemampuan beradaptasi dan kemampuan merespon perubahan dengan cepat.
– Toleransi resiko:
– Old Fashion cenderung menghindari risiko, dengan perencanaan yang matang.
– New Fashion menerima tingkat ketidakpastian tertentu dan mengandalkan putaran umpan balik yang cepat.
– Kolaborasi:
– New Fashion mempromosikan kolaborasi antar tim (DevOps, tim lintas fungsi).
– Old Fashion mungkin memiliki peran dan tanggung jawab yang lebih tertutup.
Perlu dicatat bahwa pengembangan perangkat lunak yang sukses sering kali melibatkan kombinasi praktik dari “Old Fashion” dan “New Fashion”, bergantung pada konteks, persyaratan proyek, dan budaya organisasi. Banyak pendekatan modern yang meminjam ide dari kedua tradisi tersebut untuk menciptakan model hibrida yang sesuai dengan kebutuhan tim pengembangan dan proyek.
Nah, menurut agan-agan semua bagaimana? Mau milih yang mana?
Kalau menurut saya, memang sudah harusnya berubah sih, karena dengan pertimbangan cost effective, saya pikir menggunakan New Fashion lebih murah ketimbang menggunakan Old Fashion. Sudah jelas, bahwa Old Fashion akan memakan cost yang lebih tinggi, karena sangat tergantung kepada core dan memory mesin. Sedangkan New Fashion memecah-mecah proses bisnis menjadi bagian-bagian kecil micro services yang lebih mudah di maintain dan kendalikan ketika terjadi stuck atau kejadian bottle neck lainnya.