Lewati ke isi

Implementation Roadmap — Application Documentation and Operations Manual

Rencana eksekusi documentation-first. Scope utamanya adalah memperoleh kebenaran yang cukup untuk menulis manual; bukan melakukan refactor fitur atau mempromosikan release.

Metadata Nilai
Last reviewed 2026-09-04
Mode Server development; documentation-first
Workspace /home/scola/odoo
Parent contract Release Readiness hub
Gate Documentation Confidence Gates
Attendance development Deferred di domain Kehadiran

1. Prinsip eksekusi

  1. Inspect first. Telusuri route, component, service, API, controller, model, state, side effect, dan runtime sebelum menulis langkah.
  2. Business rule bukan inference. Perilaku code dicatat sebagai fakta teknis; actor, approval, exception, dan recovery yang belum disahkan diberi status REQUIRES_BUSINESS_CONFIRMATION.
  3. Satu canonical article. Tidak ada compatibility/legacy alias baru. Artikel duplikat ditandai superseded, inbound link dipindahkan, kemudian diarsipkan.
  4. Per-surface readiness. Satu artikel aman dapat diterbitkan meski domain lain masih blocked. Full-catalog certification bukan prasyarat drafting.
  5. Backend authoritative. Menu dan route menjelaskan UX; ACL, record rule, capability, company/record scope, dan controller menentukan akses sebenarnya.
  6. Tenant-specific evidence. Perbedaan profile, entitlement, konfigurasi, dan version tidak digeneralisasi.
  7. No runtime mutation. Recon dokumentasi bersifat read-only. Bug yang ditemukan masuk backlog; perbaikan code/deploy mengikuti workflow terpisah.
  8. Change-protected GBN. GoldenBabyNTree bukan sandbox dokumentasi. Verifikasi menggunakan operasi read-only atau evidence aman, kecuali bugfix tersendiri telah diotorisasi.

2. Model pekerjaan

Setiap unit dokumentasi memakai alur berikut:

Inventory → Trace → Classify → Resolve minimum blockers → Draft → Walkthrough → Publish → Maintain

Tahap Output
Inventory Daftar surface dan halaman kanonis dengan denominator tetap.
Trace Peta UI/API/data/RBAC/state/downstream.
Classify Fakta code/runtime/business dipisahkan dari inference/gap.
Resolve Hanya blocker esensial untuk instruksi aman yang ditutup atau surface dinyatakan blocked.
Draft Domain SSOT, operation manual, role/task guide, troubleshooting.
Walkthrough Pengguna representatif menyelesaikan tugas pada served profile.
Publish Review, link check, metadata, owner, version, dan changelog lulus.
Maintain Code/product change memperbarui doc dan evidence pada perubahan yang sama.

3. Work package dan ownership

Work package Accountable Kontributor wajib
Governance/IA Documentation Owner Product, FE Platform, Support
Product/business contract Product Owner domain School SME, Operations, Support
UI/API/data trace Engineering Owner domain FE, BE, QA
RBAC/privacy Security Owner DPO, Engineering, Product
Runtime verification QA/Release Owner Ops, domain owner
Operation manual Documentation Owner Implementator, Support, QA
User guide Documentation Owner Role representative, UX, Support
Publication/maintenance Documentation Owner Engineering leads, Product, Ops

Nama individu dan target date dicatat pada tracker eksekusi, bukan diasumsikan di SSOT. Tanpa accountable reviewer, unit tetap BLOCKED.

4. D0 — Governance, denominator, dan cleanup

Tujuan

Membekukan aturan dokumentasi dan daftar sebenarnya dari artikel yang harus ada.

Pekerjaan

  • tetapkan taxonomy: domain SSOT, architecture/API reference, operation manual, user task guide, role guide, troubleshooting, runbook, QA, audit, archive;
  • buat template inventory halaman dan template operation manual sesuai README;
  • inventaris semua docs aktif beserta owner, audience, last verified, status, inbound/outbound link, dan canonical replacement;
  • inventaris current app/menu/route/component dari code, lalu tandai canonical, detail-only, internal, placeholder, duplicate, dan obsolete;
  • rekonsiliasi tenant lifecycle: GBN protected production; Rejis/Al-Jabbar/SDN onboarding; Spansa dormant; semua sebagai full-SKU pilot/hardening scope;
  • hapus SC-NEWS dari kontrak dokumentasi dan tempatkan scola_news di Core;
  • buat obsolete-doc register. Dokumen berisiko diberi banner superseded segera; pemindahan ke _archive/ hanya setelah inbound-link check;
  • hilangkan status global atau persentase yang denominator-nya tidak tetap.

Exit D0

  • DCG-01 dan DCG-02 lulus;
  • tidak ada dua artikel aktif mengklaim sebagai SSOT untuk hal yang sama;
  • seluruh dokumen aktif memiliki status dan last verified;
  • denominator page/article disetujui dan dapat dihitung.

5. D1 — Platform access dan tenant operations

Scope

W00 login, session, active role, app/menu/navigation, user provisioning, entitlement, company context, password/session recovery, serta tenant lifecycle.

Pekerjaan

  • trace login/session/logout, role switch, menu filtering, route guard, backend capability, company switch, stale/expired session, dan direct API negatives;
  • dokumentasikan arti role aktif tanpa menjanjikan isolasi yang tidak ditegakkan backend;
  • dokumentasikan setup user, assignment, reset/revocation, dan audit;
  • susun tenant bootstrap checklist, safe verification, health/log review, backup/restore boundary, dan escalation;
  • susun profile appendix untuk multi-company, jenjang, timezone, entitlement, dan feature flags;
  • buat runbook preservasi Spansa dan onboarding checklist Rejis/Al-Jabbar/SDN;
  • audit semua petunjuk lama yang menyebut mutable deploy atau topology usang.

Exit D1

  • admin/implementator dapat membuat user yang benar dan membuktikan effective access tanpa superadmin;
  • unauthorized/foreign-company behavior diketahui dan tidak disamarkan sebagai “menu tidak muncul”;
  • GBN protection dan tenant lifecycle tertulis konsisten di semua manual;
  • DCG-03 sampai DCG-07 lulus untuk W00.

6. D2 — Master data dan onboarding

Scope

W01 academic master/timetable dan W02 student/parent onboarding.

Pekerjaan W01

  • urutkan prerequisite: company/unit, tahun ajaran, semester/term, jenjang, kelas/rombel, mata pelajaran, guru, jam pelajaran, timetable/session;
  • petakan create/edit/archive/activate dan dampak downstream;
  • dokumentasikan validation, effective date, conflict, correction, dan safe retry;
  • buat checklist awal tahun ajaran dan troubleshooting jadwal tidak muncul.

Pekerjaan W02

  • telusuri manual create, import async yang benar-benar supported, parent link, account activation, class/rombel assignment, dan cross-company scope;
  • bedakan person, student, user, parent, employee, dan enrollment identity;
  • dokumentasikan duplicate/matching, partial failure, retry, correction, archive, serta data sensitif;
  • buat onboarding checklist dan reconciliation report yang dapat diulang.

Exit D2

  • satu sekolah kosong dapat dibawa ke roster-ready state dengan checklist yang dapat diverifikasi;
  • setiap langkah memiliki expected state dan downstream impact;
  • import/retry tidak didokumentasikan bila atomicity/recovery belum terbukti;
  • DCG-03 sampai DCG-08 lulus per artikel W01/W02.

7. D3 — Operasi sekolah prioritas

7.1 W05 kehadiran status quo

  • gunakan hanya capability CURRENT_IMPLEMENTATION pada domain SSOT;
  • trace per-lesson, daily, pickup/lobby, portal/rekap, correction, date/timezone, notification, privacy, dan company/record scope yang aktual;
  • dokumentasikan feature flag/mode sebagai prerequisite, bukan fitur universal;
  • lakukan bugfix melalui workstream engineering terpisah bila consistency, duplicate, retry, authorization, atau data-integrity failure terkonfirmasi;
  • jangan memasukkan policy engine, fingerprint, SKU migration, consent, atau liveness V2 ke operation manual status quo.

7.2 W03 admissions

  • petakan setup periode/form, pendaftar, review, decision, enrollment handoff, actor/maker-checker, correction, notification, dan rejection privacy;
  • selaraskan public applicant guide, panitia manual, admin troubleshooting, dan student/fees bridge tanpa menduplikasi artikel.

7.3 W10 billing/payment

  • petakan charge/invoice, payment, allocation, discount/scholarship bila supported, receipt, reversal/refund/correction, closing, dan accounting bridge;
  • tegaskan segregation of duties, immutable references, idempotency, dan reconciliation; instruksi finansial tidak diterbitkan bila recovery ambigu.

7.4 W16 news

  • tetapkan scola_news sebagai satu canonical publishing surface di SC-CORE;
  • dokumentasikan draft/publish/audience/read/notification/expiry dan correction;
  • artikel atau SKU SC-NEWS lama dipindahkan ke superseded register tanpa alias produk.

Exit D3

  • operasi harian prioritas memiliki domain SSOT, operation manual, role/task guide, troubleshooting, dan cross-domain handoff;
  • walkthrough berhasil pada profile representatif tanpa langkah improvisasi;
  • setiap unresolved risk muncul sebagai BLOCKED/limitation, bukan instruksi.

8. D4 — Full-SKU pilot domain waves

Urutan dapat disesuaikan menurut tenant demand, tetapi satu domain harus mencapai exit sebelum Documentation Owner membuka terlalu banyak draft paralel.

Wave Domain Manual minimum
D4-A HR/payroll/staff attendance Setup employee, contract/period, daily ops, approval/correction, payroll handoff, privacy, device/method limitations.
D4-B Finance/accounting Chart/setup, posting, approval, reconciliation, period close, correction/reversal, audit/export.
D4-C LMS/CBT/report card Setup, enrollment, content/assessment, attempt/grade, publication, correction, recovery, academic handoff.
D4-D Student services Counseling, discipline, leave, extracurricular/alumni where actually supported; privacy and restricted records.
D4-E Library/inventory/operations Catalog/master, transaction, stock/circulation, correction, count/close, device/barcode boundary.
D4-F Foundation/governance/integration Cross-unit scope, read vs mutation, analytics freshness, Dapodik/BOS controlled-pilot limits, reconciliation/escalation.

Setiap wave:

  1. membekukan denominator surface;
  2. menjalankan inventory/trace/classification;
  3. menutup blocker minimum atau mengecualikan artikel dengan status jelas;
  4. menghasilkan domain SSOT + operation manual + task/role guide;
  5. menjalankan role/company/privacy/error walkthrough;
  6. mencatat accepted denominator dan blocked remainder.

Exit D4

Semua full-SKU pilot surface memiliki disposition: PUBLISHED, INTERNAL_ONLY, CONTROLLED_PILOT, BLOCKED, atau OBSOLETE. Tidak ada surface aktif tanpa owner dan status dokumentasi.

9. D5 — Manual end-to-end dan cross-domain

Dokumen domain saja belum cukup untuk operasi sekolah. Susun runbook lintas domain:

  • bootstrap tenant hingga go-live;
  • awal tahun ajaran dan kenaikan periode;
  • penerimaan → student/parent identity → billing → roster;
  • timetable → kehadiran → penilaian → rapor;
  • employee onboarding → attendance → payroll;
  • payment → accounting reconciliation → period close;
  • daily/weekly/monthly operational checklist;
  • user access review dan entitlement review;
  • backup, restore drill, rollback, incident triage, escalation, dan evidence collection;
  • dormant-tenant preservation/reactivation;
  • feature activation/deactivation tanpa penghapusan data.

Setiap handoff menetapkan producer, artifact/state, consumer, failure visibility, reconciliation, recovery owner, dan SLA/escalation. Jangan membuat handoff bisnis yang tidak ada hanya karena model teknis saling terhubung.

Exit D5

  • operator dapat menyelesaikan lifecycle utama tanpa berpindah ke dokumen historis atau meminta langkah tribal knowledge;
  • setiap critical handoff memiliki reconciliation dan recovery;
  • GBN/onboarding/dormant tenant runbook terpisah dan tidak saling tertukar.

10. D6 — Acceptance, publication, dan discoverability

Pemeriksaan otomatis

  • Markdown/link/anchor validation;
  • duplicate title/canonical article detection;
  • required metadata/schema validation;
  • route/path/API reference validation terhadap inventory;
  • forbidden terms/stale SKU/obsolete hostname scan;
  • secret/PII scan pada screenshot, example, dan evidence;
  • orphan and inbound-link check sebelum archive.

Walkthrough manusia

  • role representative mengikuti artikel dari clean session;
  • implementator melakukan setup pada fixture/profile yang disebut;
  • Support menjalankan error/recovery/escalation scenario;
  • QA membandingkan UI, API outcome, state, dan downstream impact;
  • Security/DPO mereview artikel sensitif;
  • Documentation Owner menguji bahasa, search, related links, dan accessibility.

Publication rules

  • artikel menyebut audience, scope, prerequisites, last verified, version/profile, owner, serta limitation;
  • screenshot tidak menjadi satu-satunya petunjuk dan tidak membawa data nyata;
  • artikel blocked tidak masuk navigasi pengguna sebagai alur siap pakai;
  • archive tidak muncul di search/help utama;
  • changelog menyebut artikel yang ditambah, diganti, atau ditarik.

Exit D6

  • DCG-01 sampai DCG-08 lulus untuk denominator program;
  • broken link, duplicate canonical, dan unlabelled obsolete document = 0;
  • walkthrough pass/required = 100%, 0 FAIL, 0 SKIP; prerequisite mismatch menghasilkan BLOCKED, bukan PASS.

11. Prioritas perbaikan bug yang ditemukan saat dokumentasi

Program dokumentasi tidak memperbaiki code secara diam-diam. Temuan ditangani:

Kelas Tindakan dokumentasi Tindakan engineering
Security/privacy/cross-tenant/data loss Hentikan artikel dan tandai BLOCKED. Containment dan fix prioritas tertinggi, lalu re-verification.
Workflow tidak dapat selesai/recover Jangan terbitkan instruksi seolah aman. Reproduce, fix, regression, runtime rebind.
UI/API/state inconsistency Catat fakta dan affected articles. Satu canonical behavior, test, lalu doc sync.
Cosmetic/minor wording Boleh lanjut bila tidak menyesatkan. Backlog dengan owner; perbaiki bersama doc bila murah/aman.
Future attendance architecture Tetap di plan deferred. Tidak dikerjakan sampai tranche tersendiri diotorisasi.

12. Tracking dan pelaporan

Progress dilaporkan per wave/domain dengan denominator eksplisit:

Metrik Rumus
Inventory coverage page records accepted / canonical pages required
Trace coverage fully traced pages / inventory accepted
Draft coverage articles drafted / articles required
Publish coverage articles accepted / articles required
Walkthrough coverage passed required cases / required cases
Open blockers jumlah per severity dan affected article
Staleness artikel melewati review date / artikel published

Laporan tidak boleh menggabungkan PASS historis dari FE/BE/DB/tenant berbeda. Release identity hanya dicantumkan ketika relevan dengan runtime verification; branch HEAD tidak disebut production hanya karena lebih baru.

13. Definition of done per artikel

Satu artikel selesai jika:

  • memiliki satu canonical location dan tidak menduplikasi artikel aktif lain;
  • seluruh langkah cocok dengan current route/DOM dan backend behavior;
  • actor/capability/scope serta prerequisite benar;
  • expected outcome, downstream effect, error, safe retry, correction/recovery, dan escalation dijelaskan;
  • fakta code/runtime/business dapat ditelusuri;
  • limitation dan tenant/profile boundary eksplisit;
  • link, glossary, metadata, privacy, dan accessibility review lulus;
  • walkthrough oleh audience representatif lulus tanpa improvisasi;
  • owner dan next review date ditetapkan.

14. Definition of done keseluruhan

Program selesai saat seluruh denominator D0–D6 memiliki disposition final, semua artikel PUBLISHED memenuhi §13, seluruh BLOCKED surface dikeluarkan dari janji operasional, dan maintenance rule membuat dokumentasi ikut berubah bersama produk. Production release tetap memerlukan quality gate dan authorization tersendiri.