Beberapa kali mendapat proyek pengembangan sebuah aplikasi. Pengembangan ini bisa beragam alasannya, seperti:
- Aplikasi perlu dioptimasi. Berjalan lambat saat data sudah besar / pengguna banyak.
- Ada fitur yang perlu ditambahkan, memang biasanya muncul kebutuhan2 baru saat aplikasi sudah digunakan.
- Perubahan aturan / bisnis proses yang memerlukan modifikasi dari aplikasi yang ada. Misal ada perubahan struktur organisasi, workflow, peraturan baru.
- Perbaikan tampilan, layout, navigasi (GUI)
Jadi masalah kalau aplikasi dibuat sudah lama, dengan framework buatan sendiri sang developer awal dan minim(kalau sungkan menyebut tidak ada) dokumentasi teknis. Selain itu seiring berjalannya waktu, teknologi selalu berkembang seperti versi engine, framework, library dan kompabilitas. Kadang bisnis proses/tampilan sudah oke, tapi untuk menambahkan sebuah fitur dibutuhkan effort yang tinggi. Kadang ada ketergantungan pada developer awal, sialnya kalau developer awalnya hilang, tidak bisa dihubungi, sms ga diangkat, telp tidak dibalas :).
Untuk aplikasi seperti baiknya memang ada upgrade aplikasi.
Upgrade dalam artian dari sisi 'dapur'nya bukan dari sisi bisnis proses
yang sudah ada. Sering jadi kendala adalah untuk pekerjaan upgrade seperti ini,
apalagi jika murni hanya pembenahan dari sisi engine yang artinya tidak
ada perubahan dari sisi pengguna, dirasa tidak bermanfaat dan sulit diterima. Sesuai dengan slogan "If it ain't broke, don't fix it"
Karena itu "Upgrade" ini harusnya diartikan sebagai sebuah investasi yang harapannya:
- Peningkatan performa (kecepatan, security, tampilan)
- Kemudahan pengembangan ke depan / skalabilitas
- Penyesuaian / adaptasi dengan teknologi terkini
- Kemudahan manajemen aplikasi
Kadang jalan tengah yang
diambil sembari upgrade aplikasi adalah upgrade fitur yang selama ini
sulit diimplementasi dengan aplikasi yang ada (existing) sehingga dari
sisi pengguna (end user) juga dapat melihat langsung adanya peningkatan
fungsi. Yang paling minimal adanya penyegaran tampilan. Jadi aplikasi
yang baru bisa disebut versi 1.2 atau 2.0
Biasanya kemudian akan muncul pilihan:
- Membuat aplikasi dari awal, atau
- Modifikasi , pengembangan aplikasi yang ada
Pilih yang mana ? Tentu dilihat effortnya, mana yang lebih efisien. Untuk opsi pertama yang enak sih tidak perlu repot membaca koding aplikasi yang sudah ada, bagaimana alur / proses di dalam aplikasi. Dan perlu diingat dengan membuat baru mau tidak mau harus
dilakukan testing ulang semua fitur yang sudah ada dan berjalan. Belum
lagi resiko migrasi data bila ada perubahan struktur data.
Gambar diambil dari : sini |
Apabila penambahan / pengembangan fitur tidak memerlukan banyak modifikasi tentu dapat digunakan aplikasi yang sudah ada. Misal jika hanya masalah perubahan tampilan. tentunya lebih bijak tidak mengutak-atik proses yang sudah ada (walaupun ada kasus modifikasi tampilan effortnya juga berat pada aplikasi tertentu)
Yang paling penting sih upgrade aplikasi ini benar2 meningkatkan, bukan mengada2 ^_^. Cheers.
No comments:
Post a Comment