Skip to content

Documentation Standards

πŸ” Overview

Documentation Standards mendefinisikan aturan umum yang digunakan dalam penyusunan seluruh dokumentasi pada DevOps Engineering Handbook.

Standar ini bertujuan menjaga konsistensi struktur, penamaan, organisasi, serta hubungan antar dokumentasi sehingga seluruh project memiliki format yang seragam, mudah dipelihara, dan mudah dipahami.

🎯 Objectives

Documentation Standards memiliki beberapa tujuan utama.

  • Menjaga konsistensi struktur dokumentasi.
  • Mempermudah navigasi handbook.
  • Menentukan aturan penamaan file dan folder.
  • Menstandarkan hubungan antar dokumentasi.
  • Menjadi pedoman sebelum membuat dokumentasi baru.

πŸ“‚ Documentation Structure

Seluruh dokumentasi mengikuti struktur berikut.

docs/
β”‚
β”œβ”€β”€ foundation/
β”œβ”€β”€ standards/
β”œβ”€β”€ container-projects/
β”œβ”€β”€ web-platform-projects/
β”œβ”€β”€ automation-projects/
β”œβ”€β”€ openshift-projects/
β”œβ”€β”€ architecture-decision-records/
└── troubleshooting/

Setiap kategori berisi dokumentasi yang memiliki ruang lingkup yang sama.

πŸ“ Project Documentation Structure

Setiap project menggunakan struktur dokumentasi yang konsisten.

Struktur berikut digunakan sebagai referensi.

Personal Site
β”‚
β”œβ”€β”€ Overview
β”œβ”€β”€ Objectives
β”œβ”€β”€ Requirements
β”œβ”€β”€ Architecture
β”œβ”€β”€ Repository Structure
β”œβ”€β”€ Technology Stack
β”œβ”€β”€ Implementation
β”œβ”€β”€ Deployment
β”œβ”€β”€ Backup and Recovery
β”œβ”€β”€ Lessons Learned
└── References

Struktur dapat disesuaikan apabila diperlukan, namun urutan pembahasan harus tetap logis dan konsisten.

πŸ”„ Feature Consolidation

Ketika feature atau capability baru diterima, perubahan current-state documentation harus dilebur ke struktur project yang sudah menjadi source of truth. Jangan membuat section khusus feature apabila halaman existing sudah memiliki section dengan tanggung jawab yang sama.

Gunakan mapping berikut sebelum menambahkan section baru:

Dampak feature Lokasi konsolidasi utama
Perubahan tujuan atau batas project Overview, Objectives, dan Scope
Komponen, hubungan, atau alur baru Architecture Components, topology, dan flow existing
Repository, source, atau workflow baru Repository Responsibilities, Repository State, dan Development Workflow
Runtime, network, storage, certificate, atau ownership baru Infrastructure Components dan requirements existing
Perubahan kemampuan yang berlaku Implementation, Operations, dan Current Status
Keputusan arsitektur ADR dan Related Architecture Decisions

Terapkan aturan berikut:

  • Perbarui tabel, diagram, daftar requirement, ownership, dan status existing yang terdampak; satu paragraf tambahan di akhir halaman tidak dianggap sebagai konsolidasi lengkap.
  • Pertahankan kondisi current yang telah diverifikasi dan bedakan dari target Planned, Accepted, Implemented, atau Verified melalui kolom status, label, legenda, atau gaya diagram yang jelas.
  • Jangan mengganti current topology dengan target yang belum diterapkan. Gabungkan keduanya pada model existing atau beri penanda state tanpa menduplikasi topology pada section feature terpisah.
  • Tambahkan section baru hanya jika feature memperkenalkan concern dokumentasi yang benar-benar baru dan tidak dapat ditempatkan secara logis pada struktur existing. Technical Note harus mencatat alasan penambahan tersebut.
  • Gunakan Bahasa Indonesia untuk narasi utama sesuai gaya halaman project. Pertahankan nama produk, identifier, command, field, status, dan istilah teknis yang diperlukan agar tetap dapat ditelusuri ke source.
  • Setelah konsolidasi, baca halaman sebagai satu kesatuan dan pastikan Overview, tabel, diagram, requirement, ownership, serta Current Status menyampaikan model yang konsisten.

Technical Note tetap menyimpan histori feature dan alasan perubahan. Project documentation menyampaikan model project yang terkonsolidasi, bukan kumpulan ringkasan feature berdasarkan urutan implementasinya.

πŸ“„ Document Templates

Setiap jenis dokumentasi memiliki template standar.

Documentation Standard Structure
How To Overview β†’ Prerequisites β†’ Implementation β†’ Verification β†’ Troubleshooting β†’ Best Practices β†’ References β†’ Summary
Project Overview β†’ Objectives β†’ Requirements β†’ Architecture β†’ Repository Structure β†’ Technology Stack β†’ Implementation β†’ Deployment β†’ Backup and Recovery β†’ Lessons Learned β†’ References
Engineering Journal Project Journal Index β†’ Phase Index β†’ Technical Notes
Architecture Decision Record (ADR) Overview β†’ Context β†’ Decision β†’ Architecture β†’ Rationale β†’ Consequences β†’ Status β†’ Date

Struktur, penomoran, lifecycle, dan template Technical Note dijelaskan pada Engineering Journal Standards.

πŸ“ File Naming Convention

Gunakan huruf kecil dan tanda minus (-) sebagai pemisah kata.

Contoh nama file.

repository-structure.md
technology-stack.md
backup-and-recovery.md

Hindari penggunaan format berikut.

RepositoryStructure.md
repository_structure.md

πŸ“ Directory Naming Convention

Gunakan nama folder yang secara jelas menjelaskan kategori dokumentasi.

Contoh struktur direktori.

container-projects
web-platform-projects
automation-projects
architecture-decision-records

Hindari penggunaan singkatan yang tidak umum.

πŸ›οΈ ADR Numbering Convention

Nomor Architecture Decision Record (ADR) mengikuti urutan kemunculan keputusan arsitektur pada dokumentasi project, bukan berdasarkan urutan waktu keputusan dibuat atau didokumentasikan.

Sebagai contoh.

Personal Site

Overview
Objectives
Requirements

Architecture
β”œβ”€β”€ PS-ADR-0003
└── PS-ADR-0004

Repository Structure

Technology Stack
└── PS-ADR-0005

Implementation
Deployment
Backup and Recovery
Lessons Learned
References

Pendekatan ini menjaga hubungan antara dokumentasi project dan Architecture Decision Record sehingga pembaca dapat mengikuti keputusan arsitektur sesuai dengan urutan pembahasan.

Nomor ADR yang telah diterbitkan tidak diubah, meskipun kemudian ditemukan keputusan arsitektur baru.

Apabila terdapat keputusan baru, gunakan nomor ADR berikutnya.

πŸ”— Architecture Decision References

Apabila suatu implementasi merupakan hasil dari keputusan arsitektur, dokumentasi project dapat memberikan referensi menuju Architecture Decision Record (ADR).

Referensi tersebut bertujuan memberikan ringkasan keputusan yang diterapkan pada implementasi tanpa menduplikasi isi ADR.

🎨 Documentation Icons

Untuk menjaga konsistensi visual di seluruh DevOps Engineering Handbook, gunakan ikon berikut pada heading dokumentasi.

Section Icon Description
Welcome πŸ‘‹ Halaman pembuka suatu bagian dokumentasi.
Overview πŸ” Gambaran umum topik, project, atau teknologi.
Background 🌍 Kondisi awal dan alasan suatu aktivitas dilakukan.
Why ❓ Alasan atau latar belakang suatu bagian dibuat.
Objectives 🎯 Tujuan yang ingin dicapai.
Scope πŸ“š Ruang lingkup pembahasan.
Requirements πŸ“‹ Persyaratan implementasi.
Target Audience πŸ‘₯ Sasaran pembaca dokumentasi.
Architecture πŸ›οΈ Arsitektur atau desain sistem.
High-Level Architecture πŸ—ΊοΈ Gambaran arsitektur tingkat tinggi.
Architecture Components 🧩 Komponen utama beserta tanggung jawabnya.
Build Flow πŸ”¨ Alur proses build.
Deployment Flow πŸš€ Alur deployment.
Storage Architecture πŸ’Ύ Arsitektur penyimpanan.
Design Principles 🧭 Prinsip desain yang diterapkan.
How to Use This Journal 🧭 Panduan membaca dan menggunakan Engineering Journal.
Engineering Phases πŸ› οΈ Fase atau workstream dalam Engineering Journal.
Document Types πŸ“„ Jenis dokumen dan tanggung jawabnya.
Technical Notes πŸ“„ Daftar aktivitas engineering dalam suatu fase.
Implementation Result πŸ› οΈ Hasil implementasi yang telah dicapai.
Repository Structure πŸ“ Struktur repository project.
Repository Organization πŸ—‚οΈ Organisasi repository.
Repository Responsibilities πŸ“Œ Tanggung jawab masing-masing repository.
Repository Workflow πŸ”„ Workflow pengelolaan repository.
Technology Stack 🧰 Teknologi yang digunakan.
Implementation βš™οΈ Langkah implementasi.
Deployment πŸš€ Deployment ke environment target.
Backup and Recovery πŸ’Ύ Backup dan pemulihan.
Verification βœ… Verifikasi hasil implementasi.
Operator Validation βœ… Instruksi pemeriksaan dan acceptance oleh operator atau project owner.
Troubleshooting πŸ› οΈ Pemecahan masalah umum.
Best Practices ⭐ Rekomendasi implementasi.
Release History πŸ“¦ Riwayat perubahan atau rilis.
Lessons Learned πŸŽ“ Pengalaman dan pembelajaran.
Related Documentation πŸ”— Dokumentasi yang berkaitan.
References πŸ“– Referensi internal maupun eksternal.
Summary πŸ“ Ringkasan isi dokumen.
Next Step ⏭️ Langkah berikutnya yang disarankan.
Recommended Reading Order 🧭 Urutan membaca dokumentasi.
Context 🌍 Latar belakang keputusan arsitektur (ADR).
Decision βš–οΈ Keputusan arsitektur yang dipilih.
Execution Decision βš–οΈ Keputusan yang diterapkan pada suatu aktivitas dan referensi ADR-nya.
Rationale πŸ’‘ Alasan pemilihan keputusan.
Consequences ⚠️ Dampak atau konsekuensi keputusan.
Status πŸ“Œ Status Architecture Decision Record (ADR).
Date πŸ“… Tanggal keputusan dibuat atau disetujui.
ADR Identifier Convention πŸ†” Aturan penamaan Architecture Decision Record.
Project Identifier πŸ“ Namespace yang digunakan oleh setiap project.
ADR Lifecycle πŸ”„ Siklus pengambilan keputusan arsitektur.
ADR Template πŸ“‹ Struktur standar Architecture Decision Record.
ADR Status πŸ“Œ Status yang digunakan pada Architecture Decision Record.
Appendix πŸ“Ž Informasi tambahan.
Review Checklist πŸ“‹ Daftar pemeriksaan sebelum dokumentasi diterbitkan.

Gunakan ikon secara konsisten pada heading dokumentasi untuk membantu pembaca mengenali jenis informasi dengan cepat serta menjaga konsistensi visual di seluruh handbook.

πŸ“„ Template

!!!! note "Related Architecture Decision"

#### Reference

Implementasi pada bagian ini mengacu pada **{{ ADR-ID }} – {{ ADR Title }}**.

#### Decision Summary

{{ Decision Summary }}

#### Further Reading

Untuk pembahasan mengenai alternatif yang dipertimbangkan, alasan pemilihan solusi, serta konsekuensi dari keputusan ini, lihat **{{ ADR-ID }}**.