Skip to content

Status Dokumen Diturunkan, Bukan Dicatat

Adityo Guni Waluyo

Status dokumen yang dicatat manual pasti basi. Jadikan folder sebagai mesin keadaan: status diturunkan dari lokasi berkas, bukan diisi manual.

Ringkasan

Dokumentasi yang jarang diupdate tuh suka bohong, statusnya bilang aktif padahal isinya udah basi. Nyuruh manusia update metadata cuma bikin orang edit spasi doang buat reset timer. Solusinya: status ngikutin lokasi folder, ADR lama gak dihapus tapi ditandai superseded.

Saya membuka halaman dokumentasi proyek KotaPortal dan melihat kolom "Status: Aktif" di bagian atas berkas. Tanggal pembaruan terakhir menunjukkan enam bulan yang lalu. Padahal, rencana eksekusi di dalamnya sudah selesai dijalankan, dan arsitektur sistem telah berubah total. Dokumentasinya berbohong.

Reaksi awal saya adalah menambahkan validasi yang lebih ketat. Saya pernah mencoba membuat skrip otomatis yang memindai tanggal modifikasi berkas. Jika berkas tidak disentuh selama 30 hari, skripnya menambahkan label "Perlu Tinjauan". Hasilnya justru sebaliknya. Pengembang merasa terganggu dengan notifikasi palsu, dan mereka mulai mengedit spasi kosong pada berkas hanya untuk mereset timer, tanpa benar-benar memperbarui kontennya. Memaksa manusia untuk menyinkronkan metadata dengan realitas lapangan adalah resep kegagalan.

Solusi yang sebenarnya berlawanan dengan intuisi tersebut. Alih-alih mencatat status di setiap halaman, status dokumen harus diturunkan secara otomatis dari lokasi folder, tipe dokumen, dan peristiwa di papan manajemen proyek.

Empat Keadaan Siklus Hidup Dokumen

Mekanisme ini membagi siklus hidup dokumentasi menjadi empat keadaan yang saling eksklusif. Pendekatan ini menghilangkan kemungkinan dokumen berbohong tentang keadaannya karena status yang diturunkan dari struktur direktori tidak dapat usang dengan sendirinya.

Keadaan pertama adalah kebenaran (truth). Kategori ini menampung dokumen kontrak yang hanya berubah melalui adendum verbatim. Tidak ada status yang perlu diperbarui karena sifatnya mutlak dan mengikat.

Keadaan masukan (input) menampung berkas riset, catatan intake klien, atau Product Requirements Document (PRD). Konsumsi dokumen ini dilacak melalui register backlink, bukan melalui label status manual yang rentan terlupakan oleh penulis.

Direktori aktif (active) menampung indeks, log, dan skema yang dirawat selama proyek berjalan. Statusnya aktif secara inheren karena berada di direktori inti yang terus dirujuk oleh tim pengembangan sehari-hari.

Terakhir, keadaan beku (frozen) menampung rencana yang sudah dieksekusi, notulen rapat, atau halaman yang sudah digantikan. Dokumen dalam kategori ini tidak pernah diedit. Jika ada revisi, sistem membuat dokumen baru dengan nomor urut berikutnya, bukan menimpa berkas lama [2].

Praktik penurunan status ini selaras dengan pengelolaan Architectural Decision Records (ADR). Sebuah ADR menangkap satu keputusan beserta rasionalnya, dan kumpulan ADR dalam sebuah proyek berfungsi sebagai log keputusan yang utuh [1]. Ketika sebuah keputusan dibatalkan, berkas lamanya tidak dihapus. Sistem mempertahankannya dan menandainya sebagai digantikan (superseded). Nomor urut ADR tetap berurutan secara monoton dan tidak pernah digunakan kembali [2].

Pemisahan ini juga mendukung kerangka Diataxis, yang membagi dokumentasi menjadi empat bentuk berdasarkan kebutuhan pengguna: tutorial, panduan, referensi, dan penjelasan [3]. Setiap bentuk memiliki siklus pembaruan yang berbeda, sehingga memaksakan satu kolom status universal untuk semuanya hanya akan menciptakan gesekan yang tidak perlu.

Mekanisme Penurunan Status dalam Praktik

Cara menerapkan pola ini: buat struktur direktori yang secara fisik mencerminkan keempat keadaan. Memindahkan berkas ke folder arsip secara otomatis mengubah statusnya menjadi beku. Folder menjadi mesin keadaan (state machine) yang sebenarnya, tanpa memerlukan kolom metadata tambahan.

Protokol intake klien menjadi lebih ketat dengan pola ini. Data baru dari klien mendarat di folder .docs/intake/YYYY-MM-DD-topik sebagai data mentah yang immutable. Proses normalisasi datanya kemudian menjadi tugas terpisah di papan manajemen proyek. Tim tidak mengedit berkas mentahnya untuk mencerminkan perubahan status. Sebaliknya, mereka membuat berkas baru di direktori aktif yang merujuk pada data mentah itu sebagai sumber kebenaran awal.

Peristiwa di papan manajemen proyek, seperti memindahkan tiket ke kolom "Selesai", secara otomatis memicu pembaruan pada indeks aktif, bukan pada dokumen beku itu sendiri. Status pekerjaan saat ini hidup di papan proyek, tidak pernah di dalam dokumen.

Folder warisan (legacy) dibiarkan di lokasi aslinya dalam keadaan beku. Memindahkan berkas lama secara sembarangan akan merusak tautan wiki yang sudah terbentuk di seluruh repositori. Sebagai gantinya, indeks utama diberi anotasi yang menyatakan bahwa bagian itu berada dalam keadaan beku, menjaga integritas navigasi tanpa mengorbankan akurasi sejarah.

Menghentikan pencatatan status manual memaksa tim untuk berpikir tentang struktur informasi, bukan sekadar mengisi formulir metadata. Ketika folder menjadi penentu keadaan, dokumentasi berhenti berbohong.

Sumber

Architectural Decision Records (ADRs), diakses 10 Oktober 2026.
Michael Nygard, Documenting Architecture Decisions, diakses 10 Oktober 2026.
Diataxis: a systematic approach to technical documentation authoring, diakses 10 Oktober 2026.

Artikel terkait