敏捷
敏捷
敏捷宣言及思维模式
敏捷宣言(4条):
个体以及互动 而不是 过程和工具
可用的软件 而不是 完整的文档
客户合作 而不是 合同谈判
应对变更 而不是 遵循计划
重点:重探索、重实践;轻文档、轻计划
敏捷的12大价值观(重点):
尽早持续交付有价值的软件
欢迎提出变更
要交付可用的软件,周期越短越好
信息传达最有效的方法是面对面交谈
** 可用的软件是衡量进度的首要衡量标准 **
提倡可持续开发
简洁,减少浪费,精益
定期反省
重点关键字:** 关注价值、小批量、消除浪费 **
精益与看板方法
如何看待精益、敏捷、看板方法三者之间的关系:
敏捷和看板方法是精益思想的衍生物。精益思想是一个超集,与敏捷和看板方法拥有共性。
共性在于:** 交付价值、尊重人、减少浪费、透明化、适应变更、持续改善。 **
不确定性、风险和生命周期选择
迭代和增量方法,应用了:
非常短的反馈循环
频繁调整过程
重新进行优先级排序
定期更新计划
频繁交付
敏捷生命周期
预测型
迭代型(变更频繁、复杂度高)
增量型(频繁少量交付)
敏捷型
基于迭代的敏捷(考试默认):timebox固定
基于流程的敏捷
混合敏捷方法
Scrum框架
看板方法(流程可视化):工作流可视化,障碍易被察觉,通过在制品限制WIP来实现流程管理
极限编程XP(注重效率和质量)
故事卡:什么角色,需要什么功能,实现什么目的
持续集成
重构:之前的临时解决方案,存在隐患,需要被重新解决(技术债务)
自动化测试:开发好的功能快速发布
测试驱动开发:明确验收标准后再进行开发工作
Scrum框架
Scrum团队的三个角色
敏捷教练 Scrum Master(帮助产品开发团队学习、应用Scrum来达成商业价值,服务大家,解决工作中的障碍,对团队效能负责)
产品负责人 Product Owner (对产品相关的内容what,拥有决策权,例如:做什么,按照业务价值大小排优先级)
开发团队 Developers(决定开发方法how,负责DoD,对交付结果负责)
Scrum团队是自组织的,没有子团队或层次结构
Scrum团队是跨职能的,干活不求人,破梳子型通才
Scrum团队通常是10人以下,如果团队过大,可以考虑Scrum of Scrum
Scrum的三个工件
产品待办事项 Product Backlog(大需求池)
迭代待办事项 Sprint Backlog(小需求池)
增量 Increment
满足DoD的才可以被视为增量,增量必须是可用的
尽早完成增量,尽早展示,尽早获得反馈
如果有多个Scrum团队在同一产品上一起工作,必须一起遵守统一的DoD
Scrum的5个关键事件
迭代 Sprint(容器型事件,包含了以下4个事件)
迭代规划会 Sprint Planning (核心议题时下一次冲刺要实现的目标和范围)
为什么这次迭代有价值(why)
这次迭代能完成什么(what)
如何完成所选的工作(how)
每日站会 Daily Scrum
促进信息在团队内共享和透明(领导可参与,只倾听不干预)
①完成了什么工作;
②计划做什么;
③遇到什么问题;(记录问题到停车场区,会上不解决,额外安排解决)
迭代评审会 Sprint Review
向利益相关方展示工作结果,但是要避免会议仅限于展示
展示不要单向展示,** 要互动沟通,要获得反馈 **
产品负责人PO负责接受或拒绝用户故事
迭代回顾会 Sprint Retro
产品待办事项以外的变化要记录 (但是不确定优先级)
团队共同讨论和识别出最有用的改变
隐藏款: 产品细化会/产品精化会/产品研讨会/产品梳理会(通常在精化会后可以列出符合DoR的产品待办事项条目)
如果迭代目标Sprint Goal 已经过时,迭代可以取消,只有PO有取消迭代的权力。
用户故事从大到小:史诗>特征>用户故事>任务
在团队需要学习一些关键技术或者功能要素时,可以考虑刺探Spike,来用于方法探索(可以多种方案齐头并进测试)
敏捷发布计划
定愿景 → 形成产品路线图(分几步走) → 发布计划(路线图+多长时间完成)
Scrum价值观
承诺、专注、开放、尊重、勇气
仆人式领导
仆人式领导是一种为团队赋权的方法。
鼓励团队创造一个人人都能成功的环境
仆人式领导通过管理关系,在团队内和组织中建立沟通与协作,有助于消除障碍,促进团队理顺过程。
仆人式领导的工作重点,从“管理协调”转向“促进合作”,帮助每个人各尽所能地思考和工作。
仆人式领导通过成为公正的搭桥者和教练来促进大家协作,不是替代他人做出决策。
仆人式领导还应该关注冗长的过程
仆人式领导的职责示例:
教育相关方了解敏捷、如何敏捷
通过知道、鼓励和帮助为团队提供支持(培养和发展团队成员,帮助他们超越自身角色,即使失去他们也在所不惜)
通过技术项目管理活动来帮助团队(量化风险分析、提供培训、开展活动……)
庆祝团队的成功,创造相互欣赏的积极氛围,建立加强合作的良好意愿。
敏捷团队
最有效的敏捷团队,往往在3~9个人。 团队成员100%是专职成员 。(任务切换会损失效率)
敏捷角色:
跨职能 团队成员
产品负责人
团队促进者(敏捷教练、项目经理、Scrum主管……)
团队工作场所:开放式办公区(渗透沟通)、洞穴
分散式团队的管理沟通的技术:鱼缸窗口、远程结对
敏捷团队需要 团队章程, 包含了团队价值观、工作协议、基本规则、团队规范
敏捷项目的衡量指标
团队预测完成或使用【 交通灯状态 (红黄绿)】来描述项目的能力
预测型衡量指标的问题在于:他们往往不反映真实的情况。(注意内红外绿的 西瓜项目 )
敏捷团队倾向于使用基于经验和价值的衡量指标,而不是预测型指标
敏捷是基于对客户有可见价值的工作产品(可用性)
敏捷工具和技术
燃尽图/燃起图
速度:本次迭代中实际完成功能的故事点大小总和
不同团队速度不具有可比性
** 团队衡量速度时,一定要确认故事已完成可用,要衡量已完成的工作 **
燃起图可以看得出变更,燃尽图看不出变更
看板(流程可视化)
基于流程的敏捷团队使用的衡量指标:交付周期、周期时间、响应时间
交付周期 :交付一个工作项目花费的总时间
周期时间 :处理一个工作项目所需的时间(通过衡量周期时间,发现瓶颈和延迟问题)
响应时间 :一个工作项目等待工作开始的时间
在制品限制WIP:达到在制品限制WIP后,团队不能将工作从左边提取到下一列
蜂拥模式:工作存在瓶颈时,团队成员一起解决问题
功能图
挣值分析
累积流图(把看板变成图)
- 感谢你赐予我前进的力量