Ringkasan
Dalam banyak sistem, perhatian sering tertuju pada struktur data:
- nama field,
- tipe data,
- indeks,
- atau performa query.
Padahal yang jauh lebih penting adalah makna dari data tersebut.
Sebuah field bukan sekadar tempat menyimpan nilai.
Ia merupakan kontrak yang menghubungkan berbagai bagian sistem.
Semakin banyak capability yang menggunakan data tersebut, semakin penting memastikan bahwa maknanya dipahami secara konsisten.
Mengapa Data Disebut Kontrak?
Setiap data memiliki dua pihak.
- Producer, yaitu pihak yang menghasilkan data.
- Consumer, yaitu pihak yang menggunakan data.
Keduanya harus memiliki pemahaman yang sama terhadap arti data tersebut.
Jika tidak, sistem akan menghasilkan keputusan yang berbeda meskipun menggunakan data yang sama.
Mental Model
Producer
↓
Data
↓
Consumer
↓
Decision
Yang paling penting bukan nilai datanya.
Yang paling penting adalah apakah producer dan consumer memiliki interpretasi yang sama.
Ketika Satu Field Memiliki Banyak Makna
Salah satu penyebab umum kualitas data menurun adalah satu field digunakan untuk mewakili beberapa konsep sekaligus.
Akibatnya:
- producer mengisi berdasarkan satu pemahaman,
- consumer membaca dengan pemahaman yang berbeda.
Secara teknis tidak ada error.
Namun secara semantik keputusan mulai menyimpang.
Sebelum Membuat Field Baru
Daripada langsung membuat field baru, tanyakan beberapa hal berikut.
- Apa makna sebenarnya dari field ini?
- Siapa yang menghasilkan nilainya?
- Siapa saja yang menggunakan data tersebut?
- Keputusan apa yang bergantung pada field ini?
- Apakah satu field hanya merepresentasikan satu konsep?
Pertanyaan sederhana tersebut sering kali mampu mencegah munculnya masalah yang jauh lebih besar di kemudian hari.
Data Mengalir Melewati Banyak Capability
Dalam sistem modern, sebuah data jarang berhenti di satu tempat.
Ia dapat mengalir ke berbagai capability.
Contohnya:
Capability A
↓
Capability B
↓
Capability C
↓
Analytics
↓
AI
↓
Decision
Semakin panjang rantai tersebut, semakin besar dampak apabila makna data berubah tanpa disadari.
Checklist
Sebelum menggunakan sebuah data sebagai dasar keputusan, pastikan:
- definisinya jelas;
- hanya memiliki satu makna;
- producer dan consumer memiliki pemahaman yang sama;
- perubahan definisi memiliki proses yang terdokumentasi;
- setiap capability mengetahui ketergantungannya terhadap data tersebut.
Penutup
Kualitas sistem tidak hanya ditentukan oleh kualitas kode.
Ia juga ditentukan oleh kualitas makna yang dibawa oleh data.
Ketika data diperlakukan sebagai kontrak, setiap perubahan menjadi lebih mudah dipahami, lebih mudah diaudit, dan lebih aman digunakan sebagai dasar pengambilan keputusan.
Pada akhirnya, keputusan yang baik selalu dimulai dari data yang dipahami dengan cara yang sama oleh seluruh capability yang menggunakannya.