Kembali ke Beranda
Dokumen Standar

Standar Pengembangan LTSI

Berbasis SDLC — Vibe Coding Approach. Panduan baku pengembangan perangkat lunak dari Planning hingga Maintenance.

Prinsip Dasar

SDLC-Driven

Setiap pengembangan wajib mengikuti 7 fase SDLC

AI-Assisted

AI tools digunakan untuk mempercepat, bukan menggantikan engineering judgment

Traceable

Setiap keputusan teknis harus terdokumentasi dan dapat dilacak

Quality First

Kecepatan tidak boleh mengorbankan kualitas, keamanan, dan maintainability

Deliverable-Focused

Setiap fase menghasilkan artefak yang terdefinisi dengan jelas

7 Fase SDLC

Setiap fase memiliki aktivitas, output wajib, dan checklist keluar yang harus dipenuhi sebelum melanjutkan ke fase berikutnya.

FASE 01

Planning

Perencanaan & Analisis Kelayakan

Menentukan kelayakan, ruang lingkup, dan rencana proyek sebelum memulai pengembangan. Menggunakan AI untuk membantu merangkum hasil wawancara dan brainstorming risiko.

Aktivitas

  • Analisis kebutuhan awal (AI-assisted)
  • Studi kelayakan teknis, biaya, waktu
  • Penyusunan project charter
  • Identifikasi risiko
  • Penentuan technology stack
  • Estimasi timeline & milestones

Output Wajib

  • Project Charter
  • Timeline & Milestones
  • Technology Stack Decision Log
FASE 02

Requirements Analysis

Analisis Kebutuhan

Mengumpulkan, mendokumentasikan, dan memvalidasi kebutuhan fungsional & non-fungsional. Setiap user story harus jelas acceptance criteria-nya.

Aktivitas

  • Elicitation (wawancara, FGD, observasi)
  • Dokumentasi user story
  • Pemodelan proses bisnis
  • Validasi kebutuhan dengan stakeholder
  • Penetapan acceptance criteria

Output Wajib

  • Product Backlog (User Story terprioritasi)
  • SRS — Software Requirements Specification
  • Glosarium Istilah Domain
FASE 03

Design

Perancangan Sistem

Merancang arsitektur, database, API, dan antarmuka sebelum implementasi. AI digunakan untuk generate skema awal dan referensi pola arsitektur.

Aktivitas

  • Arsitektur sistem (high-level)
  • Database design (ERD)
  • API design (OpenAPI/Swagger)
  • UI/UX wireframe & prototype
  • Sequence & activity diagram

Output Wajib

  • ADR — Architecture Decision Record
  • ERD / Schema Design
  • API Specification (OpenAPI 3.0)
  • Wireframe / Mockup
  • Component Tree
FASE 04

Development (Vibe Coding)

Implementasi dengan AI-Assisted

Fase inti Vibe Coding — developer menggunakan AI (Cursor, Copilot, Claude) untuk mempercepat penulisan kode, refactoring, debugging, dan dokumentasi. Setiap output AI wajib direview dan divalidasi.

Aktivitas

  • Generate boilerplate & scaffolding
  • Implementasi komponen/modul
  • Code review & refactoring (AI-assisted)
  • Debugging & error resolution
  • Unit test generation
  • Dokumentasi kode (JSDoc, docstring)

Output Wajib

  • Source Code sesuai arsitektur
  • Unit Tests (min. 70% coverage)
  • Pull Request (setiap fitur)
  • Update dokumentasi teknis
FASE 05

Testing

Pengujian Sistem

Memastikan perangkat lunak bebas dari defect kritis dan memenuhi acceptance criteria. AI digunakan untuk generate test cases dan prioritasi regression testing.

Aktivitas

  • Unit testing (Vitest, Jest, PHPUnit)
  • Integration testing (Playwright, Supertest)
  • E2E testing (Playwright, Cypress)
  • Security testing (OWASP ZAP, Snyk)
  • Performance testing (k6, Lighthouse)
  • UAT — User Acceptance Testing

Output Wajib

  • Test Report
  • Bug Report
  • UAT Sign-off
FASE 06

Deployment

Rilis ke Production

Merilis perangkat lunak ke production dengan aman dan terotomatisasi melalui pipeline CI/CD. Setiap deployment wajib memiliki rollback plan yang teruji.

Aktivitas

  • Setup CI/CD pipeline (GitHub Actions)
  • Build & artifact management (Docker)
  • Environment management
  • Database migration
  • Deployment strategy (Blue-Green)
  • Monitoring post-deploy

Output Wajib

  • Dockerfile & docker-compose.yml
  • Deployment Playbook
  • Release Notes
  • Rollback Plan
  • Monitoring Dashboard
FASE 07

Maintenance

Pemeliharaan Berkelanjutan

Menjaga perangkat lunak tetap stabil, aman, dan relevan. Response time untuk critical issue ≤ 4 jam, high ≤ 24 jam, medium ≤ 3 hari.

Aktivitas

  • Bug fixing (sesuai prioritas/SLA)
  • Security patch
  • Dependency update (bulanan)
  • Performance monitoring (real-time)
  • User support & training
  • Feature enhancement & refactoring

Output Wajib

  • Incident Report
  • Change Log
  • Monthly Status Report

Standar Teknis

Standar teknis yang diterapkan di semua project LTSI

Tech Stack

Next.js + TypeScript + Tailwind CSS (Frontend), Hono/Next.js API (Backend), PostgreSQL/Prisma (Database)

API Standard

RESTful JSON, `/api/v1/`, JWT Bearer Auth, rate limit 100 req/min

Git Workflow

Git Flow / GitHub Flow, Conventional Commits (`feat:`, `fix:`, `refactor:`, dll)

Security

Env variables, CORS terbatas, input validation (Zod), anti SQL injection, no hardcoded credentials

Testing Coverage

Minimal 70% coverage, mencakup unit test, integration test, dan E2E untuk flow kritis

Containerization

Docker untuk semua project, docker-compose untuk development, CI/CD via GitHub Actions

Documentation

ADR untuk setiap keputusan arsitektur, API spec (OpenAPI 3.0), dokumentasi kode

Monitoring

Sentry (error tracking), Grafana (metrics), Uptime Kuma (uptime monitoring)

CI/CD Pipeline

Push → Lint → Test → Security Scan → Build → Deploy, terotomatisasi penuh

Quality Gates

Setiap perpindahan antar fase harus melewati quality gate berikut

G1
PlanningRequirements

Project Charter & Timeline approved

G2
RequirementsDesign

SRS approved & backlog prioritized

G3
DesignDevelopment

ADR, API Spec, Wireframe approved

G4
DevelopmentTesting

PR merged, code reviewed, CI green

G5
TestingDeployment

All tests pass, UAT signed, zero critical bug

G6
DeploymentMaintenance

Monitoring active, rollback verified

Definition of Done (DoD)

Sebuah task/user story dinyatakan selesai jika memenuhi semua kriteria berikut

Kode telah diimplementasi dan di-merge ke branch utama
Unit test telah dibuat dan lolos
Dokumentasi teknis telah diupdate
Tidak ada lint error
Build berhasil
Telah direview minimal 1 engineer