Files
ftb-project-management/docs/roadmap.md
2026-06-25 09:52:05 +08:00

139 lines
6.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 开发路线图
## 当前阶段V2.1 — 服务端持久化第一阶段
业务流程仍保持 V1 的前端 store 形状,但业务数据主存储已切到 NestJS + PostgreSQL `app_data` 文档表。浏览器只保留登录态,不再保存产品、项目、版本、需求、版本详情、成员、任务类型等业务数据。
### 已完成(按时间倒序)
**2026-06-24**
- 新增 NestJS `DataModule` + Prisma `AppData`,提供 `GET/PUT /api/v1/data/:key`
- 产品/项目/版本树、需求池、调研/产品方案/UI、开发任务、测试用例、Bug 改为服务端持久化
- 成员/角色/部门、任务类型、任务工时日志、加班记录改为服务端持久化
- 登录改为读取服务端成员数据;浏览器只保留登录会话
**2026-06-16**
- 项目模块顶部卡片(总版本数/已开发/需求数/Bug 总数)
- 项目模块版本记录与版本详情数据联动(耗时 + 状态胶囊)
- 4 份核心文档architecture / decisions / workflow / roadmap
**2026-06-15**
- 与我相关:产品/项目/版本树筛选 + 红色待办徽标
- 与我相关:点击卡片打开 DrawerPlanDetailDrawer 新建DevTask/TestCase/Bug 复用)
- 全局 Drawer 阴影统一 shadow-2xl + 顶部上下文条
- 测试用例提 Bug 流程drawer 内点击 → BugCreateModal
- DevTask + TestCase 转交功能(人员离职场景)
- 需求池:录入人员自动取当前用户 + 状态列改名(业务状态 / 实际进度)
- 产品页面:去掉规划中、项目名/版本胶囊可点击跳转
**2026-06-14**
- 需求变更模块:变更人员/原因/概述/详细 + 概览统计(变更人员排名 + 原因占比饼图)
- 计划任务转交(未开始/进行中可转交,从参与人员选)
- 关联需求增强:描述列 hover 完整内容、需求类型/变更原因/添加日期列
- 计划时间精确到分钟datetime-local+ 到期自动开始
- 阶段耗时 + 个人耗时排名(涵盖调研/产品/UI/开发/测试 5 类工作)
**2026-06-13**
- DevTask 状态简化:去掉 donesubmitted 是终态
- 实际工时改为精确时间戳计算(精确到 0.5h
- TestCase 主归属版本requirement 改为可选标签
- Bug 直接挂版本versionId 字段)
- linkage-engine需求 ↔ DevTask 派生)
- workspace-engine统一 WorkItem 聚合)
**2026-06-12 及更早**
- 完整模块:需求池/版本管理/计划任务(调研/产品/UI/开发任务/测试用例/Bug
- 加班记录 + 排名 + 原因占比饼图
- 健康度计算 + 风险标签
- 版本执行态自动推导
### 进行中
- 项目详情页 VersionCard 状态胶囊数据联动(部分已完成)
## V2 — 后端接入
NestJS + Prisma + PostgreSQL 已开始接入。第一阶段先用 `app_data` JSONB 文档表承接现有 store 数据形状,避免浏览器清站点数据导致业务数据丢失;第二阶段再逐步拆成关系表。
### 关键任务
1. **服务端文档层**`app_data` + `/api/v1/data/:key`(第一阶段已实现)
2. **localStorage → API 切换**:业务主数据不再写浏览器(第一阶段已实现)
3. **运行 Prisma 同步/迁移**:本地和服务器数据库都需要创建 `app_data`
4. **关系化拆表**:把稳定模块从 JSONB 拆成 Product/Project/Version/Task 等领域表
5. **认证**NextAuth.js + JWT
6. **权限**RBACOwner/Admin/Member/Viewer按项目/版本级别
7. **版本规则引擎收敛**VersionPlan 完成条件、关联需求候选、TaskCategory 语义码、TestCase.categoryId 统一收束到规则层
### 数据迁移策略
当前不做本地导入导出。清站点数据后浏览器旧数据无法恢复,后续新增数据直接写入 PostgreSQL。若以后需要迁移旧浏览器数据再单独做管理员导入工具。
## V3 — AI Agent 集成
详细 Agent 规范见 `agent-spec.md`。本节只列规划,不重复 Agent 实现细节。
### V3.1 — Prototype Decompose Agent首个 Agent
**目标**:从产品方案的原型 + 关联需求,拆解出开发任务草案 + 测试用例草案。
**已完成的数据底座**2026-06
- DevTask / TestCase 加 references[] + aiDraft + aiDraftAt
- 创建表单加「原型批注」字段
- 列表中 AI 草案视觉区分(紫色边 + 徽章)
- 编辑后自动清除 aiDraft 标记
- agent-spec.md / glossary.md 文档落地
- 约定:原型链接 = 产品方案 (VersionPlan type=product) 已完成计划的 resultUrl不在 Version 上独立存储
**待实现**
1. 后端 `AiGateway` + `PrototypeDecomposeService`NestJS module
2. 前端「AI 拆解任务和用例」按钮(产品方案 Tab
3. 对账报告组件(弹窗呈现三段:完美对应 / 单边 / 含糊)
4. 用户确认后批量创建 DevTask + TestCase 草案
5. AiLog 表调用记录、token 计量、用时)
**MVP 范围限制**
- 不自动分配 assignee留给用户在草案上手填
- 不做"上一版基准 diff"(按 decisions.md #17 决议)
- 单 Agent 单 Round不做多 Agent 编排
### V3.2 — Risk Watch Agent + Schedule Suggest Agent
**Risk Watch Agent**:自动识别延期/阻塞集中/工时偏差大的任务,提前预警
**Schedule Suggest Agent**:基于成员负载和历史耗时,建议下一阶段任务分配
**多 Agent 协作设计**:到 V3.2 才真正涉及,当前 agent-spec.md 仅占位
### V3.3 — 其他场景候选
1. 需求智能分类(自动归档到产品 / 项目)
2. 健康度智能解读(数据指标 → 自然语言报告)
3. 需求转任务(需求采纳后一键生成 DevTask 草稿)
### 落地约束
- **不直接动数据**:所有 Agent 写入必须带 `aiDraft: true`,用户编辑后才转正
- **必须有引用**:所有 AI 产物带 references用户能追溯到源头
- **必须有对账报告**:拆解类 Agent 输出前端展示三段报告,让用户决策
- **可降级**:原型不可达 / 输入数据不全 / 模型超时,明确告知用户失败原因,不写入任何数据
## 不在路线图(明确不做)
- **Jira/TAPD 替代品**:定位是产品/项目经理视角,不是开发任务管理
- **测试套件/测试计划**:测试用例是版本验收手段,不做完整测试管理
- **Gantt 甘特图**:现有的胶囊状态条 + 阶段耗时已经够用
- **看板视图**DevTask 列表 + 筛选 + 状态流转已够用
- **回归测试**:测试用例不做版本间复用
- **客户/合同管理**:超出研发管理边界
## 关键里程碑
| 节点 | 状态 |
|------|------|
| V1 业务流程打磨 | 进行中 |
| V1 朋友试用反馈 | 持续中 |
| V2 后端接入 | 进行中V2.1 AppData 已实现) |
| V3 AI 集成 | 等 V2 数据沉淀 |
| 公开发布 | TBD |