.png)
Sumber: ChatGPT
Masalah yang Bukan Berasal dari Teknologi
Pada proyek berskala besar, hambatan terbesar biasanya bukan keterbatasan teknologi. Hambatan yang paling sering menimbulkan kekacauan adalah istilah yang sama dipahami berbeda oleh bagian yang berbeda.
Contohnya mudah ditemukan. Kata nasabah di bagian tabungan mungkin berarti seseorang yang memiliki rekening aktif, sementara di bagian kredit berarti seseorang yang pernah mengajukan pinjaman meski ditolak. Keduanya benar dalam konteksnya masing-masing.
Ketika perbedaan ini tidak disadari dan seluruh sistem dipaksa memakai satu definisi tunggal, hasilnya adalah struktur data yang harus menampung semua kemungkinan sekaligus, dengan aturan bercabang di banyak tempat. Pengembangan aplikasi custom berbasis kebutuhan berangkat dari mengakui perbedaan ini, bukan menghapusnya.
Menarik Batas Berdasarkan Makna
Pendekatan yang dipakai adalah membagi sistem berdasarkan area makna, bukan berdasarkan struktur teknis semata.
Setiap area memiliki kosakatanya sendiri yang berlaku di dalamnya. Di dalam satu area, sebuah istilah punya satu arti yang jelas dan disepakati. Di area lain, istilah yang sama boleh punya arti berbeda, dan itu tidak dianggap sebagai masalah selama batasnya jelas.
Komunikasi antar area dilakukan melalui antarmuka yang eksplisit, dengan penerjemahan yang disadari. Ketika data berpindah dari satu area ke area lain, penerjemahan istilahnya menjadi bagian dari rancangan, bukan sesuatu yang terjadi diam-diam di dalam kode.
Konsekuensi praktisnya, perubahan pada satu area tidak menuntut perubahan pada area lain selama antarmukanya tetap. Inilah yang membuat sistem tetap bisa dikembangkan meski logika bisnisnya rumit.
Menjaga Aturan Bisnis Tetap Terpusat
Persoalan kedua yang sering muncul pada sistem dengan logika rumit adalah aturan bisnis yang tersebar di banyak tempat.
Ketika sebuah aturan seperti jumlah barang tidak boleh melebihi stok tersedia diperiksa di beberapa tempat berbeda, cepat atau lambat akan ada satu tempat yang terlewat saat aturannya berubah. Hasilnya adalah data yang tidak konsisten dan sulit ditelusuri sebabnya.
Solusinya adalah menetapkan satu titik masuk untuk setiap kelompok data yang aturannya saling terkait. Perubahan pada bagian di dalamnya hanya boleh dilakukan melalui titik masuk itu, sehingga seluruh aturan pasti diperiksa.
Sebagai contoh, item di dalam sebuah pesanan tidak diubah secara langsung, melainkan melalui pesanan itu sendiri. Dengan cara ini, aturan mengenai total, diskon, dan ketersediaan selalu dievaluasi bersamaan dan tidak mungkin terlewat.
Memetakan Sebelum Menulis Kode
Pendekatan ini menuntut pekerjaan pemetaan di awal yang melibatkan orang bisnis, bukan hanya tim teknis.
Dalam praktiknya, sesi pemetaan dilakukan dengan menelusuri peristiwa yang terjadi dalam proses bisnis secara berurutan. Apa yang terjadi ketika pesanan masuk, siapa yang perlu tahu, keputusan apa yang diambil, dan apa yang berubah setelahnya.
Sesi seperti ini hampir selalu menemukan hal-hal yang tidak muncul dalam dokumen kebutuhan, termasuk pengecualian yang selama ini ditangani secara manual dan asumsi yang berbeda antar bagian.
Biaya waktu di tahap ini terlihat besar, tetapi jauh lebih murah dibanding menemukan perbedaan pemahaman setelah sistem selesai dibangun.
Kapan Pendekatan Ini Sepadan
Perlu ditegaskan bahwa pendekatan ini tidak selalu sepadan. Pada sistem dengan logika sederhana, pemetaan yang mendalam justru menambah pekerjaan tanpa manfaat yang jelas.
|
Sinyal bahwa sistem Anda membutuhkan pemetaan domain yang serius:
|
Langkah Memulai Bersama Sagara
Sagara memulai dari pemetaan proses bisnis bersama pemangku kepentingan, bukan dari perancangan basis data.
Konsultasi discovery untuk memahami kompleksitas proses dan titik yang paling sering menimbulkan perbedaan pemahaman. Audit arsitektur untuk menilai apakah struktur yang ada sudah mencerminkan batas domain yang wajar. Implementasi bertahap yang dimulai dari area dengan logika paling rumit, karena di situlah manfaatnya paling terasa.
Kesimpulan
Sebagian besar kekacauan pada sistem dengan logika rumit berakar pada perbedaan makna yang tidak pernah dibicarakan secara eksplisit.
Pengembangan aplikasi custom berbasis kebutuhan mengakui perbedaan itu, menarik batas yang jelas, dan menerjemahkan secara sadar ketika data berpindah antar area.
Sagara Technology mendahulukan pemetaan bersama pemangku kepentingan bisnis, karena kode yang benar secara teknis tetapi salah memahami proses tidak menyelesaikan masalah apa pun.





Comments are closed.