Sistem lama tidak otomatis harus diganti. Yang menentukan bukan umurnya, melainkan berapa mahal ia sekarang dan berapa mahal ia tahun depan.An old system is not automatically due for replacement. What decides it is not age. It is what it costs you now, and what it will cost you next year.
Ada dua kesalahan yang sama mahalnya. Mengganti sistem yang sebenarnya masih sehat, dan mempertahankan sistem yang diam-diam sudah menjadi beban terbesar.
Keduanya berasal dari sebab yang sama: keputusan diambil berdasarkan umur sistem, bukan berdasarkan biayanya.
Sistem yang berjalan dua belas tahun tanpa insiden berarti sudah diuji lebih keras daripada apa pun yang akan menggantikannya. Menggantinya berarti menukar yang sudah terbukti dengan yang belum.
Pertanyaannya bukan berapa umurnya. Pertanyaannya: apa yang sebenarnya tidak bisa dilakukan sistem ini, dan berapa biayanya.
Tidak satu pun berhubungan dengan tahun pembuatannya.
- Tidak ada lagi yang paham cara kerjanya. Kalau perubahan kecil butuh minggu karena tidak ada yang berani menyentuh, biayanya sudah muncul tiap hari, hanya tidak pernah ditagihkan sebagai satu angka. - Ia menghalangi hal lain. Kalau tiga rencana tahun ini tertahan karena sistem ini tidak bisa menyediakan datanya, biayanya bukan pemeliharaan melainkan rencana yang tidak jadi. - Tidak bisa ditambal lagi. Kalau pustaka atau sistem operasinya sudah tidak dapat pembaruan keamanan, ia bukan sistem lama melainkan lubang terbuka. - Biaya menjalankannya naik terus. Lisensi, perangkat keras khusus, atau orang yang makin sedikit dan makin mahal.
- Ia melakukan satu hal, dan melakukannya benar. Sistem kecil yang stabil dan jarang berubah adalah kandidat terburuk untuk ditulis ulang. - Yang dikeluhkan sebenarnya antarmukanya. Kalau logikanya sehat dan masalahnya cara orang memakainya, lapisan baru di depan jauh lebih murah daripada menulis ulang di belakang. - Belum ada yang bisa menjelaskan aturannya. Menulis ulang sistem yang aturan bisnisnya hanya hidup di dalam kodenya berarti menulis ulang sesuatu yang tidak dipahami siapa pun. Itu bukan modernisasi, itu tebakan.
Pola kegagalannya berulang dan mudah dikenali. Sistem lama terus dipakai sementara yang baru dibangun. Sistem lama terus berubah karena bisnis tidak berhenti. Sistem baru mengejar sasaran yang bergerak, dan tidak pernah cukup lengkap untuk menggantikan.
Yang membuatnya lebih buruk: selama dua sistem hidup bersama, keduanya harus dirawat. Biayanya naik, bukan turun, dan itu berlangsung justru pada periode yang dijanjikan sebagai investasi sementara.
Ganti sepotong demi sepotong, bukan sekaligus. Ambil satu bagian yang batasnya paling jelas, pindahkan, jalankan berdampingan, lalu matikan bagian lamanya setelah terbukti.
Syaratnya satu, dan inilah yang paling sering belum ada: aturan bisnisnya harus ditulis keluar dari kodenya lebih dulu, dalam bentuk yang bisa diuji. Tanpa itu, tidak ada cara membuktikan bagian baru berperilaku sama dengan yang lama, dan perbedaannya baru ketahuan dari keluhan pelanggan.
1. Bagian mana yang paling mahal hari ini, diukur bukan dikira? 2. Apa yang akan kita hentikan setelah bagian ini selesai? Kalau jawabannya tidak ada, bebannya bertambah, bukan berkurang. 3. Bagaimana kita tahu bagian baru berperilaku sama dengan yang lama? 4. Siapa yang merawat keduanya selama masa berdampingan?
Pertanyaan keempat yang paling sering dilewati, dan paling sering jadi sebab proyek modernisasi berhenti di tengah.
There are two mistakes here, and they cost about the same. Replacing a system that was still healthy, and keeping one that has quietly become your largest liability.
Both come from the same source: the decision was made on the system's age rather than on its cost.
A system that has run for twelve years without incident has been tested harder than anything you would replace it with. Replacing it trades something proven for something unproven.
The question is not how old it is. The question is: what can this system genuinely not do, and what is that costing.
Not one of them has anything to do with the year it was written.
- Nobody understands it any more. When a small change takes weeks because nobody dares touch it, the cost is already being paid daily. It is simply never invoiced as a single number. - It is blocking other things. When three of this year's plans are stalled because the system cannot supply the data, the cost is not maintenance. It is the plans that never happened. - It can no longer be patched. When its libraries or operating system stop receiving security updates, it is not an old system. It is an open hole. - Running it gets more expensive every year. Licensing, specialised hardware, or people who are fewer and costlier each year.
- It does one thing, and does it correctly. A small, stable system that rarely changes is the worst possible candidate for a rewrite. - The complaint is really about the interface. If the logic is sound and the problem is how people interact with it, a new layer in front is far cheaper than a rewrite behind. - Nobody can yet state its rules. Rewriting a system whose business rules live only inside its code means rewriting something nobody understands. That is not modernisation, that is guesswork.
The failure pattern repeats and is easy to recognise. The old system stays in use while the new one is built. The old system keeps changing, because the business does not stop. The new system chases a moving target and is never complete enough to take over.
What makes it worse: while both systems are alive, both must be maintained. Costs go up, not down, and they do so during exactly the period that was sold as a temporary investment.
Replace it piece by piece, not all at once. Take the part with the clearest boundary, move it, run it alongside, and switch the old part off once it has proven itself.
There is one prerequisite, and it is the one most often missing: the business rules have to be written out of the code first, in a form that can be tested. Without that there is no way to prove the new part behaves like the old one, and the difference surfaces first as a customer complaint.
1. Which part costs the most today, measured rather than assumed? 2. What will we switch off once this part is done? If the answer is nothing, the load has grown, not shrunk. 3. How will we know the new part behaves like the old one? 4. Who maintains both during the period they run side by side?
The fourth is the one most often skipped, and the one most often responsible for a modernisation that stops halfway.
Masa penyesuaian dua tahun sudah lewat. Sebagian besar organisasi belum mulai bukan karena menolak, melainkan karena tidak tahu langkah pertamanya apa.The two-year transition period has passed. Most organisations have not started. Not because they refuse, but because nobody has told them what the first step is.
Keduanya memakai model bahasa yang sama. Yang membedakan bukan kepintarannya, melainkan apakah ia boleh bertindak atau hanya boleh menjawab.Both run on the same language model. The difference is not how clever it is. It is whether it is allowed to act, or only to answer.
Harga penawaran untuk kebutuhan yang terdengar sama bisa berbeda berkali lipat. Bukan karena ada yang menipu, melainkan karena yang dihitung memang berbeda.Quotes for requirements that sound identical can differ several times over. Not because anyone is cheating, but because they are pricing different things.