【免费下载链接】CoDiver
An advanced, unified platform for code quality, architectural metrics, and Agile analytics. Features Python AST parsing, Java static analysis (code smells), and interactive project health dashboards built with Streamlit.
CoDiver是一款开源的一体化软件度量平台,其中的 Agile 分析能力可以帮你用 Sprint 速度(Velocity)、燃尽图(Burndown Chart)和范围蔓延(Scope Creep)三组可视化指标,快速判断团队的交付节奏是否健康。无需手工算公式,只需上传一份 Sprint JSON 数据,Streamlit 仪表盘就会自动算出结果。
什么是 CoDiver 的 Agile 分析?
CoDiver 把三大能力集成在同一个界面上:
| 子系统 | 能做什么 | 底层技术 |
|---|---|---|
| 📊代码度量 | 圈复杂度、认知复杂度、缺陷密度、COCOMO 估算 | ast、radon |
| 🏛Java 静态分析 | God Class、设计/实现坏味道、命名规范检测 | javalang |
| 🚀Agile 流程分析 | 速度追踪、燃尽图、范围蔓延计算 | pandas、plotly |
本文聚焦第三块:Agile 流程分析。上传 Sprint 数据后,页面会自动生成2 张趋势图 + 2 张指标卡,也就是标题里说的"3 张图表"——速度趋势图、燃尽图,以及范围蔓延百分比卡片。
架构细节可参考官方文档:docs/architecture.md
3步上手:从 JSON 到仪表盘
整个过程不到 1 分钟,无需任何命令行操作:
- 准备数据:把 Sprint 数据整理成 JSON 数组。仓库自带一份可直接使用的示例:data/sprintJSON.json,字段结构如下:
| 字段 | 含义 | 示例 |
|---|---|---|
sprint_day | Sprint 第几天 | 1 |
planned_points | 当日计划点数 | 50 |
completed_points | 当日完成点数 | 10 |
added_points | 当日新增(插入)点数 | 5 |
remaining_points | 当日剩余点数 | 45 |
上传数据:在侧边栏的Universal Control Center中,通过 "Upload Sprint Data (JSON)" 入口上传该文件。上传组件定义在 app.py 中。
执行分析:点击侧边栏的Execute CoDiver Analysis按钮,切换到Agile Analytics标签页,即可看到指标卡与图表。Agile 结果的渲染入口是 render_agile_results。
💡 提示:你可以同时上传
.py/.java源码文件,CoDiver 会按扩展名自动路由到对应分析引擎,一次点击同时出结果。
图表一:Sprint Velocity Trend 读懂团队交付能力
第一张图是Sprint Velocity Trend(Sprint 速度趋势图),以天为横轴、completed_points为纵轴绘制折线:
- 📈 曲线稳步爬升 → 团队按节奏推进,交付可预测
- ⚠️ 曲线后半段才陡升 → 前期堆积、后期赶工,Sprint 尾部风险高
- 🧊 曲线中途走平 → 可能存在阻塞(技术债、外部依赖、需求不清)
配套的大数字卡片Average Velocity是各天completed_points的均值,核心公式见 analyze_agile_metrics。以示例数据为例:(10 + 15 + 20 + 50) ÷ 4 = 23.75,即团队平均每天完成约 24 个故事点。
🎯 实用技巧:连续 3 个 Sprint 的平均速度,比单次 Sprint 更能代表团队的真实产能,用它来给下个 Sprint 做规划。
图表二:Sprint Burndown Chart 看懂剩余工作量
第二张图是Sprint Burndown Chart(燃尽图),以sprint_day为横轴、remaining_points为纵轴,直观展示"还剩多少没干":
- ✅健康形态:剩余点数逐日下降,Sprint 结束归零。示例数据
45 → 33 → 15 → 0就是一条教科书式燃尽曲线 - 🚨黄色信号:曲线比理想直线"平",说明进度落后,需要砍需求或加班
- 🚨红色信号:曲线不降反升(剩余点数回升),几乎可以确定有需求插入或返工
图表的绘制逻辑在 render_agile_charts,基于plotly.express实现,支持鼠标悬停查看每日精确数值。
指标卡:Scope Creep 量化"需求膨胀"
Agile 项目中最常见的失控形式是范围蔓延(Scope Creep)——Sprint 进行到一半不断插入新需求。CoDiver 用一个百分比把它量化:
Scope Creep % = 全部新增点数 ÷ 全部计划点数 × 100
计算代码位于 src/software_metrics/calculators/agile.py。用示例数据算一下:(5 + 3 + 2 + 0) ÷ (50 × 4) = 10 ÷ 200 = 5%,右侧卡片会显示Scope Creep 5%。
经验参考阈值:
| Scope Creep 占比 | 状态 | 建议动作 |
|---|---|---|
| < 10% | 🟢 健康 | 正常推进,保持当前节奏 |
| 10% ~ 25% | 🟡 需关注 | 与产品负责人复盘,冻结低优先级需求 |
| > 25% | 🔴 高风险 | 立即调整 Sprint 范围,否则大概率延期 |
一次完整的分析长什么样?
上传 data/sprintJSON.json 后,Agile Analytics 页面从上到下依次呈现:
- Average Velocity卡片:
23.75 - Scope Creep卡片:
5% - Sprint Velocity Trend折线图:完成点数 10 → 15 → 20 → 50
- Sprint Burndown Chart燃尽图:剩余点数 45 → 33 → 15 → 0
结论一目了然:这个 4 天迷你 Sprint 前期略慢、第 4 天冲刺收尾,新增需求仅占 5%,整体健康。页面编排逻辑可查阅 src/software_metrics/ui/dashboard.py。
常见问题 FAQ
Q:我的数据不是 JSON 格式,能用吗?A:先用 Excel 等工具导出为 JSON 数组,保证包含上文表格中的 5 个字段即可,字段名需完全一致。
Q:速度趋势图和燃尽图分别看什么?A:速度趋势回答"团队干得多快",燃尽图回答"还剩多少没干"。前者看产能,后者看进度,两者结合才能判断 Sprint 风险。
Q:能只跑 Agile 分析,不跑代码分析吗?A:可以。只上传 Sprint JSON 文件即可,页面只会出现 Agile Analytics 标签,源码文件是可选的。
Q:修改阈值后结果会变化吗?A:Agile 指标是纯数据计算,不受侧边栏"Complexity Warning Threshold"等参数影响(那些参数只作用于 Python/Java 代码分析)。
总结
CoDiver 的 Agile 分析把三件平时需要手工统计的事自动化了:
- 🚀Sprint Velocity Trend:平均速度一眼可见,产能趋势不再靠感觉
- 📉Sprint Burndown Chart:剩余工作量逐日可见,延期风险提前暴露
- 🎯Scope Creep %:需求膨胀量化为百分比,复盘时拿数据说话
只需一份 JSON,三组图表即刻生成,是 Scrum Master、技术负责人做 Sprint 回顾时非常顺手的小工具。
【免费下载链接】CoDiver
An advanced, unified platform for code quality, architectural metrics, and Agile analytics. Features Python AST parsing, Java static analysis (code smells), and interactive project health dashboards built with Streamlit.
相关推荐
OpenProject Backlogs FAQ 全面解读:从版本迁移到 Sprint、积压工作与燃尽图
OpenProject Backlogs FAQ 全面解读:从版本迁移到 Sprint、积压工作与燃尽图 导读 本文围绕 OpenProject 官方文档中针对
后端前端企业应用研发协作协同办公Claude-Code-Agent-Monitor Workflows页深度解读:11张D3.js图表看懂Agent编排全流程
Claude Code Agent Monitor Workflows页深度解读:11张D3.js图表看懂Agent编排全流程 Workflows 页 是 Cl
hapi-auth-jwt2实战教程:5个生产级JWT认证最佳实践
hapi auth jwt2实战教程:5个生产级JWT认证最佳实践 hapi auth jwt2是一个用于Hapi.js框架的安全认证插件,通过JSON Web
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考