Banyak perusahaan masih bergantung pada sistem yang dibangun bertahun-tahun lalu. Sistem itu tetap berjalan, tetapi setiap perubahan kecil terasa berisiko, teknologinya sudah tidak didukung, dan hanya satu atau dua orang yang benar-benar memahaminya. Di sisi lain, menghentikan operasional untuk mengganti sistem sekaligus bukan pilihan, karena transaksi, gaji, dan layanan pelanggan harus tetap berjalan setiap hari.
Kabar baiknya, modernisasi sistem lama tidak harus berarti peralihan besar dalam satu malam. Dengan pendekatan bertahap, sistem bisa diperbarui sedikit demi sedikit sementara bisnis tetap beroperasi. Artikel ini membahas langkah-langkahnya, dari penilaian awal hingga pengelolaan perubahan di tim.
Mengapa penggantian sekaligus sering gagal
Pendekatan "big bang", yaitu membangun sistem baru dari nol lalu mematikan sistem lama pada satu tanggal, terlihat sederhana di atas kertas. Dalam praktiknya, pendekatan ini menyimpan banyak risiko. Sistem lama biasanya berisi aturan bisnis yang tidak pernah didokumentasikan, sehingga sistem baru bisa kehilangan perilaku penting yang baru ketahuan setelah peralihan. Proyek juga cenderung molor, sementara sistem lama tetap harus dirawat selama sistem baru belum siap.
Ketika hari peralihan tiba, semua risiko itu menumpuk di satu titik. Jika ada masalah, seluruh operasional ikut terdampak.
Langkah pertama: menilai sistem yang ada
Sebelum menulis kode baru, pahami dulu apa yang sedang berjalan. Penilaian awal sebaiknya mencakup:
- Peta fungsi. Modul apa saja yang ada, siapa penggunanya, dan seberapa sering dipakai.
- Ketergantungan. Sistem lain, laporan, atau integrasi apa yang bergantung pada sistem lama.
- Data. Struktur database, kualitas data, dan data mana yang harus dibawa ke sistem baru.
- Aturan bisnis tersembunyi. Perhitungan, validasi, atau pengecualian yang hanya ada di kode.
- Risiko teknis. Komponen yang sudah tidak didukung, celah keamanan, dan bagian yang paling sering bermasalah.
Dari hasil penilaian ini, Anda bisa menentukan bagian mana yang paling layak diganti lebih dulu, biasanya bagian yang paling berisiko atau paling sering menghambat pekerjaan.
Strangler pattern: modernisasi sistem lama secara bertahap
Strangler pattern adalah pendekatan yang paling sering dipakai untuk modernisasi tanpa downtime. Namanya diambil dari tanaman yang tumbuh mengelilingi pohon inang hingga akhirnya menggantikannya. Dalam konteks software, modul baru dibangun di samping sistem lama, lalu mengambil alih fungsinya satu per satu.
Polanya biasanya seperti ini:
- Pasang lapisan perantara, misalnya API gateway atau proxy, di depan sistem lama sehingga semua permintaan melewati satu titik.
- Pilih satu fungsi yang terbatas, misalnya modul laporan atau pendaftaran pelanggan, lalu bangun versi barunya.
- Arahkan sebagian permintaan ke modul baru, mulai dari sekelompok kecil pengguna.
- Pantau hasilnya dan bandingkan dengan sistem lama.
- Setelah stabil, arahkan seluruh permintaan untuk fungsi itu ke modul baru dan nonaktifkan bagian lama.
- Ulangi untuk fungsi berikutnya.
Dengan cara ini, setiap tahap kecil dan bisa dibatalkan. Bisnis terus berjalan, dan risiko tersebar ke banyak langkah kecil, bukan satu peralihan besar.
Migrasi data, pengujian, dan rencana rollback
Migrasi data
Data adalah bagian yang paling sensitif. Pindahkan data secara bertahap dan validasi setiap batch: jumlah catatan, total nilai transaksi, dan contoh data yang dicek manual. Selama masa transisi, sering kali perlu sinkronisasi dua arah agar sistem lama dan baru tetap memiliki data yang sama. Jika data berisi informasi pribadi pelanggan atau karyawan, pastikan prosesnya sejalan dengan kebijakan privasi perusahaan dan prinsip UU PDP.
Pengujian
Sebelum mengubah apa pun, tambahkan pengujian pada perilaku sistem lama yang penting. Pengujian ini menjadi acuan bahwa sistem baru menghasilkan hasil yang sama. Salah satu teknik yang berguna adalah menjalankan sistem lama dan baru secara paralel dengan input yang sama, lalu membandingkan output-nya sebelum sistem baru benar-benar dipakai.
Rencana rollback
Setiap tahap harus punya jalan kembali. Tentukan sejak awal tanda-tanda masalah yang memicu rollback, siapa yang berwenang memutuskannya, dan langkah teknis untuk mengembalikan lalu lintas ke sistem lama. Rencana ini sebaiknya diuji, bukan hanya ditulis.
Mengelola perubahan di tim
Modernisasi bukan hanya urusan teknis. Pengguna sudah terbiasa dengan sistem lama, termasuk dengan kekurangannya. Libatkan mereka sejak awal: tanyakan bagian mana yang paling menyulitkan, minta mereka mencoba modul baru lebih dulu, dan sediakan panduan singkat untuk setiap perubahan.
Orang-orang yang paling memahami sistem lama juga aset penting. Libatkan mereka dalam penilaian dan pengujian, karena merekalah yang tahu aturan bisnis yang tidak tertulis. Komunikasikan jadwal setiap tahap dengan jelas agar tidak ada divisi yang terkejut.
Selama masa transisi, sediakan juga jalur bantuan yang jelas, misalnya satu kontak atau satu kanal khusus untuk melaporkan masalah. Catat setiap laporan dan tindak lanjuti dengan cepat, karena kepercayaan pengguna pada sistem baru dibangun dari pengalaman beberapa minggu pertama.
Memulai modernisasi dengan aman
Modernisasi sistem lama paling aman jika dimulai dari penilaian yang jujur, dilanjutkan dengan langkah kecil yang bisa dibatalkan, dan didukung pengujian serta rencana rollback di setiap tahap. Dengan cara ini, sistem menjadi lebih mudah dirawat tanpa mengorbankan operasional sehari-hari.
Jika sistem Anda sulit diubah, bergantung pada teknologi yang tidak lagi didukung, atau hanya dipahami segelintir orang, tim Averoa dapat membantu melalui layanan modernisasi sistem lama, mulai dari audit sistem hingga migrasi bertahap dan migrasi data.