PRD.md 8.8 KB

OKR 绩效考核系统 — 产品需求文档

1. 项目背景

医梦AI 内部缺乏一套统一的绩效考核体系。当前考核存在以下痛点:

  • 标准不统一:各部门、各岗位考核标准各异,缺乏横向可比性
  • 过程不可见:上级无法实时了解下属的目标制定和执行进展情况
  • 数据无追溯:考核结果调整缺乏留痕机制,无法回溯历史决策
  • 工具碎片化:目标制定、进度更新、打分、反馈分散在不同工具中

基于上述痛点,决定自研一套轻量级 OKR 绩效考核系统,统一考核流程、建立数据追溯机制,支撑公司绩效管理闭环。

核心目标

  1. 建立 OKR + 绩效双轨考核模型,OKR 占 60%、工作成果占 40%
  2. 实现自上而下的目标对齐机制,下级 O 必须承接上级方向
  3. 为管理者提供下属 OKR 实时可见能力,随时掌握团队运转情况
  4. 全程留痕、数据可审计,满足内部管理与合规要求
  5. 轻量部署、低运维成本,适合中小企业使用场景

2. 用户角色与权限

角色 定义 核心权限
超级管理员 系统最高权限者,由系统初始化时设定 组织架构维护、考核周期管理、绩效模板配置、考核维度配置、操作日志查看
上级/管理者 在组织树中有直接下属的用户 审核下属 OKR、评估下属绩效、面谈记录、查看团队 OKR 全景
普通员工 无下属的用户 制定个人 OKR、提交绩效自评、查看个人绩效结果、确认终审结果

权限推导规则:系统不基于固定角色分配权限,而是通过 sys_user.superior_id 构建的汇报树动态推导。拥有下属即自动获得管理者权限,无需额外授权。


3. 核心考核模型

3.1 双轨模型

绩效考核总分 = OKR 目标达成(60 分) + 工作成果自评(40 分) + 专项加分 − 专项扣分

模块 满分 评分方式
OKR 目标达成 60 分 逐条 KR 以 0.0-1.0 打分,取算数平均后 × 60
工作成果 40 分 按考核维度逐项打分,各维度满分之和固定为 40
专项加减分 ±5 分 加分上限 5 分,扣分无下限,须附说明

3.2 考核维度(可配置)

工作成果部分拆分为若干维度,由管理员在系统设置中配置。系统默认配置如下:

维度 满分 说明
交付质量 10 分 工作任务完成度、交付物质量、时效性
协作沟通 10 分 跨部门协作、团队配合、信息同步
学习成长 10 分 技能提升、知识沉淀、工具与流程改进
创新贡献 10 分 主动发现问题、提出解决方案、业务创新

管理员可增删维度并调整分值,系统自动校验所有维度满分之和 = 40。

3.3 评级标准

评级 分数区间 含义
S ≥ 90 卓越产出,团队标杆
A 75–89 超出预期,高质量完成
B 60–74 符合预期,满足岗位要求
C < 60 未达预期,需整改辅导

4. 业务流程

4.1 考核周期状态机

DRAFT(待发布) → OKR_ALIGN(对齐中) → EXECUTING(执行中) → ASSESSING(考评中) → ARCHIVED(已归档)
状态转换 触发方式 系统行为
DRAFT → OKR_ALIGN 管理员手动 开放 OKR 制定,上级先制定、下级对齐后制定
OKR_ALIGN → EXECUTING 管理员手动 OKR 锁定,进入执行阶段,员工可更新 KR 进度
EXECUTING → ASSESSING 周期结束日 2:00 自动 开放自评与打分,员工先自评、上级再审评
ASSESSING → ARCHIVED 管理员手动 数据快照归档,全部锁定不可修改

4.2 OKR 制定与对齐流程

管理员发布周期
    │
    ▼
上级制定 OKR → 提交审核 → 管理员/上级审核通过
    │
    ▼
下级在"我的 OKR"页面查看上级 OKR
    ├── 勾选要承接的上级 KR(自动创建引用条目)
    ├── 被 @ 指定的 KR 自动加入个人 KR 列表(不可取消)
    ├── 编辑后可自定义标题,但保留对上级 KR 的引用关系
    └── 提交 → 上级审核 → 通过/驳回

对齐规则

  • 下级需等待直属上级 OKR 通过后方可提交
  • 顶部用户(无上级)提交即自动通过
  • 被上级 @ 的 KR 始终携带 sourceKrId 引用,编辑不影响归属关系
  • 自愿对齐的 KR 也可持久化引用关系

4.3 绩效考评流程

周期进入 ASSESSING(考评中)
    │
    ▼
第 1 步:员工自评(/scores/my)
    ├── 逐条 KR 自评(0.0-1.0),系统自动计算 OKR 得分(avg × 60)
    ├── 按维度逐项填写工作成果自述 + 自评打分(合计 ≤ 40)
    ├── 填写专项加减分及说明
    ├── 预览总分与评级
    └── 提交 → 生成 SELF 类型评分记录
    │
    ▼
第 2 步:上级终审(/scoring/:userId)
    ├── 左侧面板:OKR 执行记录 + 员工自评完整内容(三部分对照)
    ├── 右侧面板:上级逐项审核调整
    │   ├── KR 得分调整(员工自评分数作为参考)
    │   ├── 工作成果维度得分调整(员工自述作为参考)
    │   └── 加减分审核
    └── 提交 → 生成 SUPERIOR + FINAL 类型评分记录
    │
    ▼
第 3 步:员工确认(/scores/my)
    ├── 查看 FINAL 结果(总分、评级、各模块得分)
    ├── 对比自评 vs 终审差异
    └── 确认 → 流程结束

5. 功能模块

5.1 组织架构管理

  • 部门 CRUD,支持树形层级(父部门/子部门)
  • 用户 CRUD,关联部门与直属上级
  • 部门负责人设置
  • 仅超级管理员可操作

5.2 考核周期管理

  • 周期 CRUD(名称、起止日期、周期类型)
  • 周期状态手动/自动流转
  • 支持月度/季度/年度周期
  • 管理员操作

5.3 个人 OKR

  • 1O + 2~5KR 结构,权重之和 = 100
  • 上级 OKR 展示与 KR 级对齐
  • 被 @ 的 KR 自动纳入列表
  • OKR 编辑后引用关系持久保留
  • 执行阶段 KR 进度更新(数值 + 状态 + 备注)
  • 阻塞标记与进度日志全记录

5.4 团队 OKR

  • 管理者查看全部直接下属的 OKR 状态
  • 统计面板:已通过 / 待审核 / 未提交 / 已驳回
  • 按周期筛选,支持执行阶段看进度
  • 实时掌握团队运转情况

5.5 绩效自评

  • ASSESSING 阶段向员工开放自评表单
  • 逐条 KR 打分(0.0-1.0 滑块)
  • 按维度填写工作成果自述 + 打分
  • 自动计算总分与预览评级
  • 提交后不可重复提交

5.6 绩效考评

  • 管理者查看下属列表,含自评状态与分数
  • 同屏布局:左侧 OKR 记录 + 员工自评参考,右侧考评打分
  • 逐项对照审核,员工自评结果作为参考标注
  • 自动计算总分与评级
  • 提交后同步生成终审记录

5.7 绩效反馈

  • 面谈记录:亮点、待改进、改进建议、面谈纪要
  • 员工回复
  • 同屏布局呈现

5.8 绩效模板(可配置)

  • 按岗位分类的指标模板库
  • 模板列表按岗位大类筛选(技术开发/产品设计/人力资源/财务管理/运营市场/高管)
  • 每个模板包含若干指标项及满分分值
  • 员工制定 OKR 时可查看岗位模板作为参考

5.9 考核维度配置

  • 管理员可增删改考核维度
  • 维度排序(拖拽/上下移动)
  • 实时校验满分之和 = 40
  • 全局生效,所有员工自评使用同一套维度

5.10 操作日志

  • 记录操作人、操作类型、操作对象、变更前后数据(JSON)
  • IP 地址追踪
  • 仅超级管理员可查看

6. 非功能性需求

类别 要求
部署方式 单 JAR 文件 + SQLite 数据库文件,java -jar 一键启动
运行环境 JDK 17 LTS,无外部数据库依赖
并发能力 支持 50 人同时在线(中小企业内部使用)
数据安全 JWT 认证、BCrypt 密码加密、操作全程留痕
浏览器兼容 Chrome 90+、Edge 90+、Firefox 90+
响应式布局 评分页宽屏(≥1100px)左右分栏、窄屏上下分区
性能 页面首屏加载 < 3s、API 响应 < 500ms

7. 项目范围

一期范围(已实现)

  • 账号与组织架构管理
  • 考核周期管理(含状态机)
  • OKR 制定、对齐、审核、进度更新
  • 团队 OKR 实时查看
  • KPI / 绩效模板管理
  • 考核维度配置
  • 绩效自评 → 上级终审 → 员工确认(全流程)
  • 绩效反馈(面谈记录)
  • 操作日志

后续规划

  • 数据统计仪表盘
  • 历史趋势曲线
  • 自动备份与恢复
  • 邮件/钉钉通知集成
  • 多周期批量对比分析