Skip to main content

title: “Goals — OKR & Target Bisnis” description: “Manajemen goal dengan metodologi OKR, 6 kategori, 3 prioritas, key results terukur, localStorage persistence, dan progress tracking di SNISHOP ERP.”

Goals — OKR & Target Bisnis

Goals Halaman Goals mengelola target bisnis menggunakan metodologi OKR (Objectives and Key Results). Dibangun di atas Goals.jsx (517 baris) dengan penyimpanan berbasis localStorage untuk performa instan dan offline-first experience. Setiap Objective (tujuan kualitatif) dipecah menjadi beberapa Key Results (hasil terukur) yang memungkinkan kamu memantau progress secara granular. Sistem ini mendukung 6 kategori bisnis, 3 level prioritas, dan deadline tracking.

Arsitektur Komponen

Gambaran Umum Sistem Goals

Modul Goals dalam SNISHOP ERP merupakan sistem manajemen target yang komprehensif, mencakup beberapa jenis goal yang saling terintegrasi: Setiap jenis goal memiliki karakteristik dan metriknya masing-masing, namun semuanya terhubung dalam satu ekosistem produktivitas yang terpadu.

Data Model: Objective

Data Model: Key Result

Setiap Objective memiliki array key_results dengan struktur:

Entity Schema: Goal

Entity Goal merupakan model utama untuk goal berskala personal, tim, maupun perusahaan. Mendukung milestones, recurring patterns, dan notifikasi.

Sub-Schema: Milestone (Goal)

Entity Schema: PersonalGoal

Entity PersonalGoal dirancang untuk goal individual dengan dukungan metodologi OKR dan SMART goal.

Sub-Schema: Milestone (PersonalGoal)

Entity Schema: FinancialGoal

Entity FinancialGoal mengelola target keuangan seperti tabungan, pelunasan hutang, investasi, dan pengurangan pengeluaran.

Entity Schema: KPI

Entity KPI mencatat Key Performance Indicator per karyawan untuk periode tertentu, dengan metrik berbobot dan sistem rating.

Sub-Schema: KPI Metric

Entity Schema: KPITemplate

Entity KPITemplate menyediakan template KPI yang dapat digunakan ulang untuk berbagai role dan departemen.

Sub-Schema: Default Metric (KPITemplate)

Sub-Schema: Auto Source

Entity Schema: Achievement

Entity Achievement mencatat badge dan pencapaian yang diraih pengguna dari aktivitas produktif mereka.

Entity Relationship Diagram

Metodologi OKR

Prinsip OKR

Perbandingan Jenis Goal

6 Kategori Bisnis (Goal)

Kategori PersonalGoal

Kategori FinancialGoal

3 Level Prioritas

Enum Reference: Status Fields

Goal Status

PersonalGoal Status

FinancialGoal Status

KPI Status

KPI Rating

Achievement Types

Recurrence Pattern (Goal)

Notification Frequency (Goal)

KPI Calculation Method

Aggregation Methods (KPITemplate Auto Source)

Goal Lifecycle State Diagram

Status Objective (OKR View)

Perhitungan Progress

Perhitungan KPI Overall Score

Contoh Perhitungan OKR

Objective: “Meningkatkan Penjualan Online” Status: At Risk (overall < 60%)

Contoh Perhitungan KPI

KPI Periode: “2024-Q1” — Karyawan: Sales Manager Rating: Outstanding (92.1 >= 90)

Sequence Diagrams

Flow: Membuat Goal Baru

Flow: Tracking Progress

Flow: Goal Completion

Flow: KPI Review Process

Flow: Financial Goal Tracking

localStorage Persistence

Stats Dashboard

Filter & Pencarian

RBAC Permission Matrix

Berikut adalah matriks hak akses berdasarkan role untuk modul Goals dan entitas terkait:

Catatan RBAC

  • ERPAccessGuard dengan module=goals digunakan untuk memproteksi akses ke halaman Goals
  • Role-based filtering diterapkan di level query untuk memastikan user hanya melihat data yang diizinkan
  • Goal dengan company_id hanya dapat dibuat dan dikelola oleh Admin dan Manager
  • Goal tanpa company_id (personal) dapat dikelola oleh pemiliknya selama memiliki akses ke modul

Integrasi dengan Entitas Lain

Deskripsi Integrasi

Cara Akses

Dari sidebar, klik menu Productivity > Goals.

Flow Penggunaan Detail

  1. Buka halaman Goals dari sidebar — lihat stats dashboard di atas
  2. Klik “Tambah Objective” untuk membuat tujuan baru
  3. Isi judul objective — buat inspirasional dan kualitatif (contoh: “Meningkatkan Kepuasan Pelanggan”)
  4. Pilih kategori bisnis dan prioritas
  5. Set tanggal mulai dan deadline
  6. Tambahkan 3-5 Key Results — masing-masing harus terukur:
    • Isi judul KR (contoh: “Customer satisfaction score > 90%”)
    • Set target value dan current value
    • Pilih satuan (unit)
  7. Klik Simpan — objective muncul di daftar dengan overall progress
  8. Update current_value key results secara berkala untuk memantau progress
  9. Review status objective: hijau (on track), kuning (at risk), biru (completed)

Tips

  • Objective harus inspirasional — “Menjadi brand sambal #1 di Indonesia” lebih baik daripada “Jual lebih banyak sambal”
  • Key Results harus SMART — Specific, Measurable, Achievable, Relevant, Time-bound
  • Jangan terlalu banyak objective — 3-5 per quarter sudah ideal. Lebih dari itu = kehilangan fokus
  • Review mingguan — luangkan 15 menit setiap minggu untuk update current_value dan cek status
  • Gunakan prioritas high hanya untuk 1-2 objective — jika semua high priority, tidak ada yang benar-benar prioritas
  • Rayakan completed objectives — ini memotivasi tim dan memberikan sense of accomplishment
  • Retroactive di akhir quarter — evaluasi objective mana yang tercapai, mana yang tidak, dan pelajari alasannya
  • Manfaatkan KPITemplate — buat template untuk role yang sama agar penilaian konsisten antar karyawan
  • Hubungkan PersonalGoal dengan Task — pastikan setiap goal memiliki task konkret yang mendukung pencapaiannya
  • Gunakan FinancialGoal bersama Budget — link ke Budget terkait untuk memantau apakah pengeluaran sesuai dengan target keuangan
  • Set notification_frequency sesuai urgensi — goal kritis gunakan daily, goal reguler gunakan weekly, goal dengan milestone penting gunakan milestone