你是不是经常在项目截止日期前疯狂赶工,却还是避免不了延期交付😫?团队成员之间沟通起来仿佛隔着一层 “玻璃”,信息总是传达不到位,工作效率直线下降。每次开项目会议,讨论半天也没有实质性进展,大家都身心俱疲。这时你在寻找一些项目管理的方法论比如敏捷开发
但是!
想学敏捷管理,却看着一堆专业术语和复杂流程,感觉一头雾水😵?想把敏捷方法运用到工作中,却不知从何下手,尝试了几次都以失败告终,信心备受打击。别发愁,作为曾经同样在敏捷管理学习路上迷茫的一员,我深知你的痛苦。今天,我就来给大家分享一些超实用的学习方法和落地技巧!
我眼中的敏捷价值观
- 个体和互动高于流程和工具
- 工作的软件高于相近的文档
- 客户合作高于合同谈判
- 响应变化高于遵循计划
这些抽象的敏捷价值观其实就是在说:
📌 与其花一小时写详细的邮件报告,不如开个15分钟的站会当面沟通解决问题
📌 比起写100页的产品说明书,不如先做出一个原型让用户试用并收集反馈
📌 当客户提出新想法时,不是说"这不在合同范围内",而是讨论"如何让产品更好地满足需求"
📌 当市场出现新机会时,能够快速调整开发方向,而不是固守原计划
敏捷并不是一刀切说传统项目管理方法不再适用当前的软件开发节奏,而是在原来的管理方法论上找平衡,以应对当前的软件开发节奏。
1970年到1990年代,软件开发节奏称为“瀑布时代”,当时互联网为普及,用户需求相对稳定,软件的变更成本很高。为了应对当时的商业模式(软件一次性发布),前期必须做好万全之策,降低后期变更风险。
2000年后,云计算以及移动互联网爆发,云计算带来的基建成本降低,移动互联网的兴起培养出“挑剔”的用户。导致技术的迭代速度被迫提升,不提速代表着在互联网时代就丧失了核心竞争力。要快速的探索商业模式,要快速的追赶用户热点,要快速对的抄竞争对手的新特性。。。
所以敏捷并不是解决快的问题,而是适应性的问题,是对市场影响能力以及价值交付的效率
响应市场能力与价值交付的效率
假设开发一个社交应用,6个月后一次性交付用户的需求,那么带来的问题:
- 6个月内没有任何商业价值产出
- 不知道哪些功能真正有用
- 投资回报周期长
- 风险集中在最后
- 第3个月发现对手推出了新功能
- 第4个月发现市场上出现新技术趋势
- 第5个月发现功能已经过时了
如果按价值优先级逐步交付:
- 第2周:核心注册登录 -> 可以获取用户
- 第4周:基础消息功能 -> 用户可以交流
- 第6周:简单朋友圈 -> 提高用户粘性
- 第8周:好友系统 -> 扩大社交网络
- ...持续迭代优化
每个阶段都在创造价值,项目交付可以根据市场反应调整方向,降低决策风险,逐渐建立商业生态系统。
敏捷原则
敏捷原则有很多条,不需要死记硬背那些抽象的条款,核心思想就是3个:
- 快速验证
- 持续改进
- 价值导向
开发一款健身APP的案例来说明这三个核心思想:
价值导向
核心问题:做什么最有价值?
通过市场分析我们发现,用户痛点是缺乏专业指导,市面上APP教学质量不高,健身房私教贵。商业目标应该是做一个针对付费用户的高质量私教视频课程。
决策:先做私教视频课程功能
而不是一次性开发:❌ 饮食计划,❌ 社交功能,❌ 商城系统,❌ 数据分析
快速验证
核心问题: 假设是否正确?
第一次验证(2周) 最小功能:
- 10个基础健身视频
- 简单播放器
- 基础用户系统
验证结果:
- ✅ 发现用户愿意观看视频
- ❌ 但完成率低
- 💡 用户反馈:视频太长
第二次验证(2周) 调整方案:
- 将视频拆分为5分钟小节
- 添加打卡功能
持续改进
核心问题:如何做得更好? 产品迭代路径:基础视频课 -> 个性化训练计划 -> 社区激励系统 -> AI教练助手 在迭代路径上收集运营数据来获得反馈,数据驱动接下来的决策。
运营数据:
- 用户留存率
- 课程完成率
- 付费转化率
- 用户反馈
最终验证实际效果 初始版本:
- 日活用户:1000
- 付费率:1%
- 留存率:20%
3个月后:
- 日活用户:10000
- 付费率:5%
- 留存率:45%
Agile 敏捷流程
敏捷框架那么多,搞懂一个 Agile 就够了。 敏捷团队角色除了开发团队外,有2个特别的角色需要承担或者体现(可以由开发,PM,PO任意人承担):业务价值代表 & 敏捷流程引导。
作为价值代表,始终要问自己:
- 这个任务产生什么价值?
- 现在做是最优时机吗?
- 有更简单的方案吗?
工作方式: (通常2周称为一个迭代)
周一: Sprint Planning 迭代计划会议
PO确定目标,明确问题:为什么这个功能优先级高?具体要实现什么?成功标准是什么?PO展示各种用户故事。开发团队则进行任务拆解,最后一部分是估点:
团队对每个任务进行估算:
任务:添加"加入购物车"按钮
估算:3点(约1天)
讨论:
- 开发A:"需要考虑不同商品类型"
- 开发B:"还要处理库存校验"
- 开发C:"建议先做个简单版本"
最终共识:3点,优先实现基础功能
迭代周期:2周 总点数:40点
| 优先级 | 任务 | 点数 | 负责人 |
|---|---|---|---|
| 1 | 添加商品到购物车 | 8 | 张三 |
| 2 | 修改商品数量 | 5 | 李四 |
| 3 | 购物车总价计算 | 3 | 王五 |
| ... | ... | ... | ... |
技术任务 vs 业务任务
在开发时经常会遇到一些非业务性的任务,但是重要性也很高,比如日志监控什么的。面对技术任务有2种策略:
-
合并在业务迭代中
每个迭代固定分配比如20%是用于技术任务,通过设立每周技术例会来验收和讨论这些问题。技术改进与业务价值结合,让商业价值主导人参与,让其认同短期效益与长期健康的关系。 -
技术迭代
通常这种适用于技术为核心的产品,需要保持一个良好的技术规划,迭代。但是对业务迭代节奏会被打断,市场相应会延迟。业务主导人的时间压力也很大,所以也别给他散播焦虑,说“车不能一直跑不保养,不然会抛锚”。更好的做法是,双轨制或者提升技术负债迭代的ROI,比如"投入2周技术改造,能节省未来6个月的维护成本,ROI超过200%"
每日站会
目标是同步信息、发现问题,而不是解决问题。通常保持15分钟,每个人回答3个问题:
- 昨天做了什么?
- 今天要做什么?
- 有什么障碍需要帮助?
每日站会沟通内容示例:
开发A:
"昨天:完成了商品详情页,今天:开始购物车页面,阻碍:等待后端购物车接口"
开发B:
"听到前端需求,我会优先处理购物车接口,预计今天下午提供,昨天:支付功能联调,今天:继续支付功能开发,阻碍:测试环境的支付配置没有权限,需要运维协助"
周五:迭代评审会议
步骤1:回顾迭代目标(也就是让我们看看完成情况)
步骤2:showcase,全流程演示
- 开发A演示 1.2.3
- 现场反馈: “能不能显示库存?”,“数量修改的醒目些”
步骤3:数据回顾
完成情况:
- 计划点数:40点
- 完成点数:35点
- 完成率:87.5%
质量指标:
- 测试用例:100个
- Bug数:12个(严重:0,普通:8,轻微:4)
- 代码覆盖率:85%
性能指标:
- 页面加载时间:<2s
- API响应时间:<200ms
步骤4:反馈整理
收到的反馈:
1. 功能建议:
- 添加批量删除功能
- 增加商品库存显示
- 优化价格展示方式
2. 体验改进:
- 数量修改更醒目
- 添加成功提示更明显
- 总价实时更新
3. 技术优化:
- 缓存机制优化
- 移动端性能提升
- 错误处理完善
敏捷工具
用户故事
用户故事也就是需求, 一般我们会在相关书籍中看到用户故事要满足 INVEST原则,但是太复杂了。一个用户故事只要满足3点就是个好故事!
- 谁要用?
- 想干什么?怎么用?
- 为什么要?
作为 <角色>
我想要 <功能>
以便于 <价值>
例子:
作为 网购用户
我想要 查看订单状态
以便于 了解商品的配送进度
🎯 讨论点: 开发人员能创建用户故事吗?
在敏捷开发中,用户故事(User Story)通常是从用户或业务角度出发,描述用户的需求和期望。然而,这并不意味着开发人员不能提出用户故事。
实际上,开发人员在开发过程中可能会遇到一些技术性问题或需要进行一些调研工作,这些也可以通过用户故事的形式来表达。不过,这类用户故事需要明确其价值和目标,确保它们对整个项目有实际的推动作用(需要沟通技巧让业务负责人买单你的观点,通常业务负责人不是 tech people)
比如在实现某个核心功能时有风险,也可以通过 user story 来管理这个任务:
User Story: 调研第三方库
-
用户故事:作为开发人员,我希望调研适合用户管理系统的第三方身份验证库,以便我可以选择最适合我们需求的库。
-
验收标准:
- 调研了至少三个流行的第三方身份验证库。
- 编写了调研报告,包括每个库的优缺点。
- 与团队讨论并确定了最终选择的库。
只要对项目有推进工作的用户故事都应该被尊重,确保 User Story 要满足这3点:
- 明确目标:每个用户故事都明确指出了开发人员希望通过调研达成的具体目标,例如理解数据格式、选择合适的第三方库、识别性能瓶颈等。
- 可衡量的验收标准:每个用户故事都定义了清晰的验收标准,确保开发人员知道何时完成了任务。
- 对项目有实际价值:这些用户故事的完成对整个项目有直接的推动作用,例如提高开发效率、选择合适的工具、优化系统性能等。
燃尽图
燃尽图就是任务的消灭速率!就像玩游戏,起始100滴血,目标就是在规定时间内消耗完,过程就是看消耗速度够不够。项目管理也就是在玩经营管理类游戏!
Day 1: 100个任务点
Day 2: 90点 (消灭10点)
Day 3: 75点 (消灭15点)
Day 4: 60点 (消灭15点)
Day 5: 45点 (消灭15点)
→ 平均每天消灭13-15点
→ 按这速度,8天能完成
如果看到这种图那么就说明团队进度太慢了,要及时分析原因和调整。
工作量
100 |
| ●─●─●
75 | ●─●
| ●─●
50 | ●
|
25 |
|________________________________
点数
上面燃尽图的点数就是 story point,通常我们在迭代中会有个 Sprint velocity,如果你汇报时说 "Sprint velocity has been consistent at 85 story points", 那说明项目管理的很稳!
Story Points 是工作量的相对估算单位: 复杂度 + 工作量 + 不确定性 = 故事点
例如:
- 简单任务:1-2点
- 中等任务:3-5点
- 复杂任务:8-13点
例如:如果项目还有340个故事点 团队velocity是85 则大约需要4个冲刺周期完成
通过让团队熟悉点数的概念,经历几次迭代建立基准的 velocity,当团队的 velocity 很稳定,那对项目交付的进度管理越好。小孩子才以快慢衡量交付标准,项目交付的核心是:稳!
尤其是新团队在适应敏捷时,velocity 都是不稳定的,一方面是对于点数概念的不熟悉,另一方面是对共同承诺的履约性存在问题。 这时候要分析波动原因,改进估算方法。 如果是点数估算不准确,可以让多人参与估算,还可以玩一点趣味性的,比如投骰子。
写在最后的
项目管理的目的是管理人性,而非项目, 通过持续学习和改进,让团队更好地完成目标,让成员更快乐地工作是敏捷的精髓。
敏捷不是目的,而是手段 不是终点,而是旅程 重要的不是形式,而是本质
成功的敏捷实践应该:
- 帮助团队更好地交付价值
- 让成员更快乐地工作
- 使组织持续成长进步
如果本文对你有帮助,点个赞❤️吧