c677393d08
Deploy Wiki to Production / deploy (push) Has been cancelled
- 银行业Agent建设方案/报告/ 4 篇:建设方案 · 智能中台 · 意图识别 · 合规风险 - 研发型企业AI转型方案/报告/ 9 篇:角色矩阵(交互版) · 培训1-6课 · 角色矩阵 · 实操培训 · 培训路线图 - AI Agent 驾驭工程/报告/ 1 篇:Harness Engineering 全面解析 - 简历AI技术讲解.html + .md - Dify部署分析报告.html
485 lines
25 KiB
HTML
485 lines
25 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="zh-CN">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>AI 工具实操培训 · 第五课 — 项目经理:开发计划·进度跟踪·风险管理</title>
|
||
<style>
|
||
:root {
|
||
--color-primary: #0078D4; --color-primary-hover: #106EBE; --color-primary-active: #005A9E; --color-primary-bg: #DEECF9;
|
||
--color-success: #107C10; --color-success-bg: #DFF6DD; --color-success-border: #A7E3A1;
|
||
--color-warning: #FF8C00; --color-warning-bg: #FFF4CE; --color-warning-border: #FFD335;
|
||
--color-error: #FF4D4F; --color-error-bg: #FDE7E9; --color-error-border: #EEACB2;
|
||
--bg: #FAF9F8; --bg-container: #FFFFFF; --bg-elevated: #F3F2F1;
|
||
--border: #E1DFDD; --border-light: #EDEBE9;
|
||
--text-primary: #201F1E; --text-secondary: #605E5C; --text-tertiary: #8A8886;
|
||
--radius-xs: 2px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px;
|
||
--shadow-sm: 0 0 2px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.14);
|
||
--header-h: 64px; --sidebar-w: 260px;
|
||
}
|
||
*{margin:0;padding:0;box-sizing:border-box;}
|
||
body{font-family:'Segoe UI Variable Text','Segoe UI',system-ui,-apple-system,'PingFang SC','Microsoft YaHei',sans-serif;background:var(--bg);color:var(--text-primary);line-height:1.57;font-size:14px;}
|
||
::-webkit-scrollbar{width:6px;height:6px;}
|
||
::-webkit-scrollbar-track{background:transparent;}
|
||
::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px;}
|
||
|
||
.header{position:fixed;top:0;left:0;right:0;height:var(--header-h);background:rgba(255,255,255,0.85);backdrop-filter:blur(24px) saturate(125%);border-bottom:1px solid var(--border-light);display:flex;align-items:center;padding:0 2rem;z-index:100;}
|
||
.header .back-link{margin-right:16px;font-size:13px;color:var(--color-primary);text-decoration:none;flex-shrink:0;}
|
||
.header .back-link:hover{text-decoration:underline;}
|
||
.header h1{font-size:18px;font-weight:700;background:linear-gradient(135deg,#0078D4 0%,#2B88D8 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}
|
||
|
||
.sidebar{position:fixed;top:var(--header-h);left:0;bottom:0;width:var(--sidebar-w);background:var(--bg-container);border-right:1px solid var(--border);overflow-y:auto;padding:1.25rem 0;z-index:90;}
|
||
.sidebar .toc-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);padding:0 1.25rem;margin-bottom:.75rem;font-weight:600;}
|
||
.sidebar nav a{display:block;padding:.45rem 1.25rem;color:var(--text-secondary);text-decoration:none;font-size:12px;line-height:1.4;border-left:2px solid transparent;transition:all .15s;}
|
||
.sidebar nav a:hover,.sidebar nav a.active{color:var(--color-primary);background:var(--color-primary-bg);}
|
||
.sidebar nav a.active{border-left-color:var(--color-primary);font-weight:600;}
|
||
.sidebar .nav-sep{height:1px;background:var(--border-light);margin:.5rem 1rem;}
|
||
|
||
.main{margin-left:var(--sidebar-w);margin-top:var(--header-h);padding:32px 40px 64px;max-width:1000px;}
|
||
|
||
h2{font-size:22px;line-height:30px;padding-bottom:8px;border-bottom:1px solid var(--border);margin:40px 0 20px;color:var(--color-primary);scroll-margin-top:calc(var(--header-h) + 1rem);}
|
||
h3{font-size:18px;line-height:26px;margin:28px 0 12px;color:var(--text-primary);scroll-margin-top:calc(var(--header-h) + 1rem);}
|
||
h4{font-size:15px;font-weight:700;margin:20px 0 8px;color:var(--text-primary);}
|
||
p{margin:8px 0;color:var(--text-secondary);line-height:1.65;}
|
||
|
||
blockquote{background:var(--color-primary-bg);border-left:4px solid var(--color-primary);margin:16px 0;padding:12px 20px;border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:14px;color:var(--text-primary);}
|
||
|
||
.code-block{background:#1E1E1E;color:#D4D4D4;border-radius:var(--radius-md);padding:16px 20px;margin:14px 0;font-family:'Cascadia Code','Fira Code','SF Mono',monospace;font-size:13px;line-height:1.7;overflow-x:auto;white-space:pre;}
|
||
.inline-code{background:var(--bg-elevated);color:var(--color-primary);padding:2px 6px;border-radius:var(--radius-xs);font-family:'Cascadia Code','Fira Code','SF Mono',monospace;font-size:13px;border:1px solid var(--border-light);}
|
||
|
||
.box{padding:14px 20px;border-radius:var(--radius-md);margin:18px 0;font-size:13px;line-height:1.6;}
|
||
.box-info{background:var(--color-primary-bg);border:1px solid #91CAFF;}
|
||
.box-good{background:var(--color-success-bg);border:1px solid var(--color-success-border);}
|
||
.box-warn{background:var(--color-warning-bg);border:1px solid var(--color-warning-border);}
|
||
.box-idea{background:#F9F0FF;border:1px solid #D3ADF7;}
|
||
.box-danger{background:var(--color-error-bg);border:1px solid var(--color-error-border);}
|
||
.box h4{margin:0 0 8px;font-size:14px;}
|
||
.box-info h4{color:var(--color-primary);}.box-good h4{color:var(--color-success);}.box-warn h4{color:var(--color-warning);}.box-idea h4{color:#722ED1;}.box-danger h4{color:var(--color-error);}
|
||
|
||
.table-wrap{overflow-x:auto;margin:20px 0;border:1px solid var(--border);border-radius:var(--radius-md);}
|
||
table{width:100%;border-collapse:collapse;font-size:13px;}
|
||
th,td{padding:10px 14px;border:1px solid var(--border);text-align:left;vertical-align:top;line-height:1.5;}
|
||
th{background:var(--bg-elevated);font-weight:700;color:var(--text-primary);white-space:nowrap;}
|
||
td{background:var(--bg-container);color:var(--text-secondary);}
|
||
tr:hover td{background:var(--color-primary-bg);}
|
||
|
||
.tag{display:inline-block;padding:2px 10px;border-radius:12px;font-size:11px;font-weight:600;}
|
||
.tag-blue{background:var(--color-primary-bg);color:var(--color-primary);border:1px solid #91CAFF;}
|
||
.tag-green{background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success-border);}
|
||
.tag-warn{background:var(--color-warning-bg);color:var(--color-warning);border:1px solid var(--color-warning-border);}
|
||
.tag-red{background:var(--color-error-bg);color:var(--color-error);border:1px solid var(--color-error-border);}
|
||
.tag-purple{background:#F9F0FF;color:#722ED1;border:1px solid #D3ADF7;}
|
||
|
||
.steps{counter-reset:step;list-style:none;margin:16px 0;padding:0;}
|
||
.steps li{counter-increment:step;padding:12px 0 12px 42px;position:relative;color:var(--text-secondary);line-height:1.6;}
|
||
.steps li::before{content:counter(step);position:absolute;left:0;top:12px;width:28px;height:28px;background:var(--color-primary);color:#fff;border-radius:50%;text-align:center;line-height:28px;font-size:14px;font-weight:700;}
|
||
|
||
.prompt-template{background:#1E1E1E;border-radius:var(--radius-md);margin:14px 0;overflow:hidden;}
|
||
.prompt-template .pt-header{background:#333;color:#ccc;font-size:11px;padding:6px 16px;font-family:monospace;}
|
||
.prompt-template .pt-body{padding:14px 16px;color:#D4D4D4;font-family:'Cascadia Code','Fira Code','SF Mono',monospace;font-size:12px;line-height:1.6;white-space:pre-wrap;}
|
||
|
||
.kpi-row{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0;}
|
||
.kpi{flex:1;min-width:130px;background:var(--color-primary-bg);border-radius:var(--radius-md);padding:14px 12px;text-align:center;}
|
||
.kpi .num{font-size:22px;font-weight:800;color:var(--color-primary);line-height:1.2;}
|
||
.kpi .label{font-size:11px;color:var(--text-tertiary);margin-top:4px;}
|
||
.kpi.warn{background:var(--color-warning-bg);}.kpi.warn .num{color:#8A6D00;}
|
||
.kpi.good{background:var(--color-success-bg);}.kpi.good .num{color:var(--color-success);}
|
||
.kpi.danger{background:var(--color-error-bg);}.kpi.danger .num{color:var(--color-error);}
|
||
|
||
.footer{text-align:center;padding:28px 0;color:var(--text-tertiary);font-size:13px;border-top:1px solid var(--border-light);margin-top:40px;}
|
||
|
||
@media(max-width:1024px){:root{--sidebar-w:0;}.sidebar{display:none;}.main{margin-left:0;padding:24px 20px 48px;}}
|
||
@media(max-width:768px){.main{padding:20px 14px 40px;}.header h1{font-size:13px;}}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
|
||
<header class="header">
|
||
<a href="../../index.html" class="back-link">← 返回知识库</a>
|
||
<h1>第五课:项目经理 — 开发计划·进度跟踪·风险管理</h1>
|
||
</header>
|
||
|
||
<aside class="sidebar">
|
||
<div class="toc-label">课程目录</div>
|
||
<nav>
|
||
<a href="#s0">课程目标</a>
|
||
<a href="#s1">PM 的 AI 工作流全景</a>
|
||
<a href="#s2">Part 1:开发计划</a>
|
||
<a href="#s2-1">WBS 拆解</a>
|
||
<a href="#s2-2">排期+资源</a>
|
||
<a href="#s3">Part 2:进度跟踪</a>
|
||
<a href="#s3-1">AI 读 Gitea</a>
|
||
<a href="#s3-2">周报日报</a>
|
||
<a href="#s4">Part 3:风险管理</a>
|
||
<a href="#s4-1">风险识别</a>
|
||
<a href="#s4-2">风险追踪</a>
|
||
<a href="#s5">现场演示</a>
|
||
<a href="#s6">课后作业</a>
|
||
</nav>
|
||
</aside>
|
||
|
||
<main class="main">
|
||
|
||
<section id="s0">
|
||
<h2>课程目标</h2>
|
||
|
||
<blockquote>
|
||
<p><strong>第五课结束后,每位 PM 应能:</strong></p>
|
||
<p>① 输入需求文档 → AI 自动生成 WBS + 里程碑 + 资源分配 + 甘特图数据<br>
|
||
② 从 Gitea 实时采集 commit/PR/Issue 数据 → AI 自动生成进度报告和偏差预警<br>
|
||
③ AI 识别项目风险(技术/人员/进度/需求)+ 给出缓解措施 + 持续追踪<br>
|
||
④ 管理文书时间从 2 天/周压缩到 2 小时/周</p>
|
||
</blockquote>
|
||
|
||
<div class="kpi-row">
|
||
<div class="kpi"><div class="num">2天→2h</div><div class="label">每周管理文书<br>从2天降到2小时</div></div>
|
||
<div class="kpi"><div class="num">实时</div><div class="label">进度数据<br>不再等日报</div></div>
|
||
<div class="kpi good"><div class="num">提前2周</div><div class="label">风险预警<br>不再是事后救火</div></div>
|
||
<div class="kpi warn"><div class="num">1 PM: 3-5 项目</div><div class="label">管理半径<br>AI 辅助后翻倍</div></div>
|
||
</div>
|
||
</section>
|
||
|
||
<section id="s1">
|
||
<h2>PM 的 AI 工作流全景</h2>
|
||
|
||
<blockquote>
|
||
<p>项目经理的日常三件套——做计划、盯进度、管风险——传统方式严重依赖手工 Excel、人工催进度、凭经验预判风险。AI 介入后,PM 的角色从<strong>"信息收集者+报表填写者"</strong>升级为<strong>"决策者+异常处理者"</strong>。</p>
|
||
</blockquote>
|
||
|
||
<div class="table-wrap">
|
||
<table>
|
||
<thead><tr><th style="width:12%;">场景</th><th style="width:36%;">传统方式</th><th>AI 方式</th></tr></thead>
|
||
<tbody>
|
||
<tr><td><strong>制定开发计划</strong></td><td>手写 WBS→Excel 排期→和开发逐个确认,2-3 天</td><td><span class="tag tag-green">AI 30 min</span>:需求→AI 拆 WBS→估算人天→输出甘特图数据</td></tr>
|
||
<tr><td><strong>进度跟踪</strong></td><td>每天催日报→手工汇总→Excel 画进度条,1h/天</td><td><span class="tag tag-green">AI 10 min/天</span>:Gitea 数据自动采集→AI 生成进度报告+偏差分析</td></tr>
|
||
<tr><td><strong>周报</strong></td><td>手工收集团队信息→写周报→画图表,3-4h/周</td><td><span class="tag tag-green">AI 10 min</span>:一键生成含甘特图/燃尽图/风险表格的周报</td></tr>
|
||
<tr><td><strong>风险识别</strong></td><td>靠 PM 个人经验,事后发现,被动救火</td><td><span class="tag tag-green">AI 持续分析</span>:commit 频率下降→预警,Bug 趋势上升→预警</td></tr>
|
||
<tr><td><strong>需求变更评估</strong></td><td>人工评估影响面,容易遗漏关联模块</td><td><span class="tag tag-green">AI 代码分析</span>:改这个接口→影响哪些模块→估算额外人天</td></tr>
|
||
<tr><td><strong>项目汇报</strong></td><td>精心准备 PPT,数据手工整理</td><td><span class="tag tag-green">AI 5 min</span>:生成汇报 PPT 大纲+数据图表+关键信息一页纸</td></tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</section>
|
||
|
||
<section id="s2">
|
||
<h2>Part 1:AI 驱动开发计划制定</h2>
|
||
|
||
<h3 id="s2-1">2.1 从需求到 WBS</h3>
|
||
|
||
<h4>输入材料</h4>
|
||
<p>需求规格说明书(FS)、合同中的功能清单、技术方案中的模块划分——任何一个都可以。</p>
|
||
|
||
<div class="prompt-template">
|
||
<div class="pt-header"><span>WBS 生成 Prompt</span></div>
|
||
<div class="pt-body">"基于以下项目需求文档,生成详细的 WBS(工作分解结构)。
|
||
|
||
项目概况:
|
||
- 项目名称:XX 智慧管理平台
|
||
- 总工期:6 个月
|
||
- 团队规模:前端 2 人、后端 3 人、测试 1 人、PM 1 人
|
||
|
||
需求内容:
|
||
[此处粘贴 FS / 功能清单 / 合同范围]
|
||
|
||
请输出以下内容:
|
||
|
||
1. WBS 分解(最多 4 级)
|
||
- 一级:阶段(需求/设计/开发/测试/上线/运维)
|
||
- 二级:子系统/模块
|
||
- 三级:功能点/任务包
|
||
- 四级:具体任务(每个 ≤5 人天)
|
||
|
||
2. 每个四级任务的:
|
||
- 前置依赖(哪个任务必须先完成)
|
||
- 预估人天
|
||
- 负责角色(前端/后端/测试)
|
||
- 交付物
|
||
|
||
3. 识别关键路径(最长依赖链上的任务序列)
|
||
|
||
4. 里程碑建议(5-8 个,含验收标准)
|
||
|
||
输出格式:Markdown 层级列表 + 任务依赖关系图描述"</div>
|
||
</div>
|
||
|
||
<h3 id="s2-2">2.2 排期 + 资源分配</h3>
|
||
|
||
<div class="prompt-template">
|
||
<div class="pt-header"><span>排期+甘特图 Prompt</span></div>
|
||
<div class="pt-body">"基于上面的 WBS,生成详细的排期计划。
|
||
|
||
团队配置:
|
||
- 前端 A:Vue3 熟练,可用率 100%
|
||
- 前端 B:初级,可用率 80%(每周 1 天培训)
|
||
- 后端 A:Java 主力,可用率 100%
|
||
- 后端 B:Java+数据库,可用率 100%
|
||
- 后端 C:兼运维,可用率 60%(剩余时间在处理其他项目运维)
|
||
- 测试 A:可用率 100%
|
||
- PM:可用率 50%(同时管 2 个项目)
|
||
|
||
约束条件:
|
||
- 法定节假日:春节(2 月)、五一(5 月)、十一(10 月)
|
||
- 前端 A 在 8 月有 5 天年假
|
||
- 第三方接口联调需要提前 2 周预约
|
||
|
||
输出:
|
||
1. 按周的排期表(表格格式,列:周次/日期/任务/负责人/产出物/里程碑)
|
||
2. 资源负载热力图(每周每人负载百分比,标出超载风险)
|
||
3. 甘特图数据(任务名、开始日期、结束日期、负责人——可直接导入 Excel/Project/OminiPlan)
|
||
4. 关键路径上的任务列表(标注:任何一个延期都会导致总工期延期)
|
||
5. 缓冲期建议(哪里应该放 buffer,放多少)"</div>
|
||
</div>
|
||
|
||
<div class="box box-idea">
|
||
<h4>💡 关键技巧</h4>
|
||
<p>让 AI 做排期时,<strong>必须明确告知团队成员的能力差异和可用率</strong>——不给这些信息,AI 会按"所有资源均等可用"来排,排出来的计划在实际中根本执行不了。</p>
|
||
</div>
|
||
|
||
<h3>2.3 需求变更影响评估</h3>
|
||
|
||
<div class="prompt-template">
|
||
<div class="pt-header"><span>变更影响分析 Prompt</span></div>
|
||
<div class="pt-body">"客户提出以下需求变更:
|
||
[描述变更内容]
|
||
|
||
我们当前项目的 WBS 和代码结构:
|
||
[粘贴 WBS 和目录结构]
|
||
|
||
请分析:
|
||
1. 这个变更影响哪些已有功能点?(精确到 WBS 的四级任务编号)
|
||
2. 哪些已完成的功能需要修改?(从 Git 提交历史推断已完成的模块)
|
||
3. 新增工作量估算:
|
||
- 前端:X 人天
|
||
- 后端:X 人天
|
||
- 测试:X 人天
|
||
4. 对关键路径的影响:总工期会延期几天?
|
||
5. 如果不同意变更,有什么替代方案可以部分满足客户需求?
|
||
6. 如果同意变更,建议从哪里削减其他范围来保工期?"</div>
|
||
</div>
|
||
</section>
|
||
|
||
<section id="s3">
|
||
<h2>Part 2:AI 驱动的进度跟踪</h2>
|
||
|
||
<blockquote>
|
||
<p>这是第二课 Gitea 工作流的升级应用。PM 不再每天群里问"今天做了什么"——AI 从 Gitea 自动拿数据,生成比人写的更客观的进度报告。</p>
|
||
</blockquote>
|
||
|
||
<h3 id="s3-1">2.1 AI 读取 Gitea 数据</h3>
|
||
|
||
<div class="prompt-template">
|
||
<div class="pt-header"><span>Gitea 进度分析 Prompt</span></div>
|
||
<div class="pt-body">"以下是本周(2026-W23)项目 Gitea 仓库的提交数据。
|
||
|
||
请分析并生成进度报告:
|
||
|
||
1. 本周整体数据
|
||
- 总 commit 数、活跃开发者数
|
||
- 新增代码行数、删除行数
|
||
- 按开发者统计 commit 数和代码行数
|
||
- 与上周对比(增加/减少百分比)
|
||
|
||
2. 按功能模块分析
|
||
- 哪些模块本周有活跃开发?
|
||
- 哪些模块本周没有提交?(可能阻塞或延期)
|
||
- 哪些模块提交频率突然增加/减少?(标注异常)
|
||
|
||
3. 进度偏差
|
||
- 对照开发计划(粘贴 WBS),当前进度是超前/正常/滞后?
|
||
- 如果滞后,哪些任务滞后了多少天?
|
||
- 按照当前速度,预计完成日期
|
||
|
||
4. 代码质量
|
||
- 本周 commit message 规范性(符合 feat/fix/refactor 格式的比例)
|
||
- 是否有异常大的 commit(>500 行,说明可能缺少小步提交习惯)
|
||
- 是否有频繁 revert(说明质量控制有问题)
|
||
|
||
生成数据的方法:
|
||
git log --since='2026-06-02' --until='2026-06-07' --format='%h|%an|%ae|%ad|%s' --numstat
|
||
|
||
# 把上面命令的输出粘贴到下方:"</div>
|
||
</div>
|
||
|
||
<h3 id="s3-2">2.2 周报/日报自动生成</h3>
|
||
|
||
<div class="prompt-template">
|
||
<div class="pt-header"><span>周报一键生成 Prompt</span></div>
|
||
<div class="pt-body">"基于以下本周数据,生成一份项目经理周报。
|
||
|
||
本周数据:
|
||
- Gitea 提交汇总:[粘贴 git log 分析结果]
|
||
- 测试 Bug 汇总:[粘贴 Bug 列表]
|
||
- 本周完成的功能:[列出来]
|
||
- 本周遇到的问题:[列出来]
|
||
|
||
周报格式(面向客户和管理层):
|
||
|
||
1. 本周摘要(一段话,不超过 5 行)
|
||
2. 关键指标
|
||
| 指标 | 本周 | 上周 | 变化 |
|
||
提交数 / 活跃开发 / 新增代码行 / Bug 数 / Bug 关闭率
|
||
3. 本周完成(按模块列,每个 1-2 句话)
|
||
4. 下周计划(按优先级排序)
|
||
5. 风险与问题(红色=需管理层关注,黄色=已处理,绿色=已关闭)
|
||
6. 需要客户配合的事项(例如:需客户确认 XX 接口文档)
|
||
|
||
写作风格:客观、数据说话。多用数字,少用形容词。"</div>
|
||
</div>
|
||
|
||
<div class="box box-good">
|
||
<h4>✅ PM 的日报未来状态</h4>
|
||
<p>不再是 PM 催→开发写→PM 汇总。而是:<br>
|
||
① 每天上午 9 点,脚本自动从 Gitea 拉取昨天数据<br>
|
||
② AI 自动生成日报草稿<br>
|
||
③ PM 花 5 分钟审核、微调、发送<br>
|
||
④ 项目数据永远真实——基于 commit 而非基于记忆</p>
|
||
</div>
|
||
</section>
|
||
|
||
<section id="s4">
|
||
<h2>Part 3:AI 驱动的风险管理</h2>
|
||
|
||
<h3 id="s4-1">3.1 风险自动识别</h3>
|
||
|
||
<div class="prompt-template">
|
||
<div class="pt-header"><span>风险扫描 Prompt</span></div>
|
||
<div class="pt-body">"请基于以下项目数据,扫描当前项目可能存在的风险。
|
||
|
||
数据源:
|
||
1. Gitea 过去 4 周的 commit 趋势:[数据]
|
||
2. Bug 追踪系统的 Bug 趋势:[数据]
|
||
3. 开发计划中的里程碑 vs 实际完成日期:[数据]
|
||
4. 团队人员变动:[数据]
|
||
5. 需求变更记录:[数据]
|
||
|
||
从以下维度识别风险:
|
||
|
||
1. 进度风险
|
||
- 哪些里程碑可能延期?概率多大?
|
||
- 关键路径上是否有任务阻塞?
|
||
- 连续 2 周 commit 频率下降→人员效率预警
|
||
|
||
2. 质量风险
|
||
- Bug 新增速度 > Bug 关闭速度→质量债务累积
|
||
- 某个模块 Bug 集中→可能设计有问题
|
||
- revert 频率上升→代码质量失控
|
||
|
||
3. 人员风险
|
||
- 某人 commit 突然大幅增加→可能在做不该做的重构
|
||
- 某人 commit 连续 3 天为零→离职前兆/严重阻塞
|
||
- 单点依赖——某个模块只有一个人在开发
|
||
|
||
4. 需求风险
|
||
- 需求变更频率 >1 次/周→范围蔓延
|
||
- 已开发完成的功能被要求修改→前期需求确认不足
|
||
|
||
对每个识别出来的风险,给出:
|
||
- 严重程度(🔴高 / 🟡中 / 🟢低)
|
||
- 发生概率(%)
|
||
- 影响(延期天数/额外成本)
|
||
- 建议的缓解措施(具体可执行的动作)"</div>
|
||
</div>
|
||
|
||
<h3 id="s4-2">3.2 风险登记册与追踪</h3>
|
||
|
||
<div class="prompt-template">
|
||
<div class="pt-header"><span>风险追踪 Prompt</span></div>
|
||
<div class="pt-body">"维护一份项目风险登记册(Risk Register),格式如下:
|
||
|
||
| 编号 | 风险描述 | 类型 | 严重度 | 概率 | 影响 | 提出日期 | 负责人 | 缓解措施 | 当前状态 | 关闭日期 |
|
||
|
||
请基于我之前提供的项目数据,填充已知风险。之后每两周更新一次状态。
|
||
|
||
更新时,我提供最新数据,你对比:
|
||
- 哪些风险状态变化了?(🟡→🔴 升级 / 🔴→🟢 缓解)
|
||
- 是否有新风险出现?
|
||
- 哪些风险可以关闭?
|
||
- 当前风险敞口(所有未关闭风险的预期损失总和)
|
||
|
||
本次的基础数据:
|
||
[粘贴最新一周的 Gitea/Bug/里程碑数据]"</div>
|
||
</div>
|
||
|
||
<h3>3.3 风险看板</h3>
|
||
|
||
<div class="prompt-template">
|
||
<div class="pt-header"><span>风险一页纸 Prompt</span></div>
|
||
<div class="pt-body">"基于风险登记册的最新状态,生成一份面向管理层的风险一页纸报告:
|
||
|
||
1. 风险仪表盘(四个色块):
|
||
🔴 高严重度未关闭:X 个
|
||
🟡 中严重度未关闭:X 个
|
||
🟢 已关闭本月:X 个
|
||
📊 风险敞口:预计 X 人天 / ¥X 万元
|
||
|
||
2. Top 3 风险详述(每个含:当前状态、最新进展、下一步动作)
|
||
|
||
3. 风险趋势图描述(最近 4 周风险数量变化:5→3→4→2,用文字描述趋势)
|
||
|
||
4. 一句话总结(给管理层的结论和建议)"</div>
|
||
</div>
|
||
</section>
|
||
|
||
<section id="s5">
|
||
<h2>现场演示路线</h2>
|
||
|
||
<div class="table-wrap">
|
||
<table>
|
||
<thead><tr><th style="width:6%;">#</th><th style="width:26%;">步骤</th><th style="width:10%;">工具</th><th style="width:10%;">用时</th><th>演示要点</th></tr></thead>
|
||
<tbody>
|
||
<tr><td>1</td><td>需求→WBS</td><td>Claude Code</td><td>5 min</td><td>给一份 FS→AI 输出完整 WBS+依赖关系→PM 验证合理性</td></tr>
|
||
<tr><td>2</td><td>WBS→排期</td><td>Claude Code</td><td>5 min</td><td>加入团队约束→AI 排期→输出甘特图数据→展示资源负载</td></tr>
|
||
<tr><td>3</td><td>Gitea→进度分析</td><td>终端+Claude</td><td>5 min</td><td>git log→粘贴→AI 输出本周进度分析+偏差预警</td></tr>
|
||
<tr><td>4</td><td>生成周报</td><td>Claude Code</td><td>3 min</td><td>一键生成含数据图表的周报→PM 审核 5 分钟可发送</td></tr>
|
||
<tr><td>5</td><td>风险扫描</td><td>Claude Code</td><td>5 min</td><td>基于历史数据→AI 识别出"前端 A 下月休假 5 天→关键路径风险"</td></tr>
|
||
<tr><td>6</td><td>学员动手</td><td>各人电脑</td><td>15 min</td><td>用自己的项目数据走通 WBS+进度分析+风险识别</td></tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="box box-info">
|
||
<h4>演示关键信息</h4>
|
||
<p><strong>核心要传递的信息</strong>:PM 的价值不在填表——在判断和决策。AI 帮 PM 把 80% 的"信息搜集+格式整理"工作自动化,让 PM 的时间花在"这个风险该怎么处理""客户这个要求怎么响应"上。</p>
|
||
</div>
|
||
</section>
|
||
|
||
<section id="s6">
|
||
<h2>课后作业</h2>
|
||
|
||
<ol class="steps">
|
||
<li><strong>为一个真实项目生成 WBS</strong>:用 AI 把正在管的项目的 FS 拆成 WBS,和现在手工版的 WBS 做对比——AI 遗漏了什么?AI 多拆了什么?</li>
|
||
<li><strong>跑通 Gitea→进度报告</strong>:git log 导出→喂给 AI→生成进度报告。对比和你手工写的周报,看 AI 报告有没有发现你没注意到的事</li>
|
||
<li><strong>建风险登记册</strong>:为当前项目建一份风险登记册,用 AI 做第一次风险扫描。两周后更新一次,看 AI 识别出的风险和实际发生的风险是否匹配</li>
|
||
</ol>
|
||
|
||
<div class="box box-good">
|
||
<h4>✅ 五课毕业标准(全角色)</h4>
|
||
<p><strong>开发岗</strong>:Claude Code ✓ · Gitea Push ✓ · 5+ AI commit · 去版权+风格统一完成<br>
|
||
<strong>售前岗</strong>:1 个真实 Demo ✓ · 1 份 AI 投标方案草稿 ✓<br>
|
||
<strong>PM 岗</strong>:1 个 AI 生成 WBS ✓ · 1 份 AI 周报 ✓ · 1 份风险登记册 ✓<br>
|
||
<strong>全员</strong>:DeepSeek Token ✓ · Cherry Studio ✓ · 每天使用 AI ≥1 次</p>
|
||
</div>
|
||
</section>
|
||
|
||
<footer class="footer">
|
||
<p>AI 工具实操培训 · 第五课 · V1.0 · 2026-06-06</p>
|
||
<p style="margin-top:4px;">课程体系:<a href="ai-tools-hands-on-training.html" style="color:var(--color-primary);">第一课</a> | <a href="ai-tools-training-lesson2-gitea.html" style="color:var(--color-primary);">第二课</a> | <a href="ai-tools-training-lesson3-presales-demo.html" style="color:var(--color-primary);">第三课</a> | <a href="ai-tools-training-lesson4-bidding.html" style="color:var(--color-primary);">第四课</a></p>
|
||
</footer>
|
||
|
||
</main>
|
||
|
||
<script>
|
||
(function(){
|
||
const navLinks = document.querySelectorAll('.sidebar nav a');
|
||
const sections = document.querySelectorAll('section[id]');
|
||
function onScroll(){
|
||
let current = '';
|
||
sections.forEach(function(sec){ if(window.scrollY >= sec.offsetTop - 100) current = sec.id; });
|
||
navLinks.forEach(function(a){ a.classList.toggle('active', a.getAttribute('href') === '#' + current); });
|
||
}
|
||
window.addEventListener('scroll', onScroll, {passive:true});
|
||
})();
|
||
</script>
|
||
</body>
|
||
</html>
|