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, atauVerifiedmelalui 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.
Hindari penggunaan format berikut.
π Directory Naming Convention¶
Gunakan nama folder yang secara jelas menjelaskan kategori dokumentasi.
Contoh struktur direktori.
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 }}**.