敏捷
#预测型存在的问题
-计划驱动,需求明确,一开始就要收集详细需求
-如果需求经常变化,需要通过变更流程修改计划
-一开始就要编写大量文档
-客户参与度不高,认为在收集需求时就讲明白了
-需要花大量时间来汇报当前项目状态
-价值只有项目结束的时候才能显现,造成了较高风险
-无法灵活应对市场变化
MVP(minimum viable product)最小可行产品,快速迭代、快速验证团队目标、快速试错
简单的--》预测、繁杂的--》混合、复杂的--》敏捷
混合型生命周期:风险不大、具有重点程度不确定性的项目中尝试。在成功使用混合方法后,再尝试更复杂的项目实现渐进过渡。
敏捷宣言
个体的互动 胜于 过程和工具
可用的软件 胜于 完整的档案
客户合作 胜于 合同谈判
应对变更 胜于 遵循计划
敏捷开发十二原则
1.最重要的目标,通过及早和持续不断的交付有价值的软件使客户满意
2.欣然面对需求变化,即使在开发后期也一样。为了客户的竞争优势,敏捷过程掌控变化
3.经常交付可工作的软件,倾向于较短的周期。(几个礼拜,一两个月)
4.业务人员和开发人员必须相互合作,项目中每一天都不例外。
5.激发个体的斗志,以他们为核心搭建项目。提供所需的环境和支援,辅以新人,从而达成目标。
6.不论团队内外,传递信息效果最好的效率也是最高的方式是面对面交谈 (集中办公/鱼缸窗口/远程结队、共享屏幕)。
7.可工作的软件是进度的首要度量标准。
8.敏捷过程倡导可持续开发。责任人、开发人员和用户要能够共同维持其步调稳定延续。
9.坚持不懈的追求技术卓越和良好设计,敏捷能力由此增强。
10.以简洁为本,它是极力减少不必要的工作量的艺术。
11.最好的架构、需求和设计出自自组织团队(“特种兵”、一专多能)。
12.团队定期反思如何提高成效,并依此调整自身的行为表现。
Scrum框架
较小的增量,快速迭代,每次交付最有价值的东西。
sprint:冲刺、迭代
每次迭代:固定的时间、固定的人力,决定能做的东西(范围)。
敏捷的成本不明确,成本是开口的。只有在每个冲刺(不允许变更),范围、成本才明确。
Scrum的核心:3355
三个角色:
产品负责人PO:产品待办事项列表的唯一负责人,排代办事件优先级。
开发团队:每个Sprint结尾交付“完成”的产品增量。自组织的、跨职能的、无头衔都是开发者、T型人才、一专多能。
Scrum Master:服务式领导,确保Scrum被理解并实施。
三个工件:
产品代办事件列表product backlog:(所有采购清单,里面的一条就是一个用户故事)用户故事,做为一个<角色>,我想要<功能>,以便实现<价值>;包括特性、功能、需求、改进方法和缺陷修复等。优先级高的是详细的用户故事。
冲刺(迭代)待办事项列表sprint backlog:(购物篮里的清单)开始于Sprint计划会议。会议前半段,产品负责人把优先级高的功能介绍给Scrum团队;后半段将团队有信心完成的功能从product backlog移到sprint backlog。按照优先级选择用户故事直到团队人为足够为止,通常由团队决定一个sprint完成多少。
产品增量product increment:每个sprint“完成”的增量必须可用,定义标准DOD。DOD原则:Definition of Done,事先“完成”的定义。了解TDD(测试驱动开发)和持续集成。
*注意!技术负债,为了加速开发,退而求其次,没有使用最佳方案,未来必须花费额外的时间和经理持续修复之前妥协造成的副作用,或者进行重构,把框架改为最佳实现方式。
五个事件:
Sprint:冲刺、迭代,是Scrum的核心,在一个月甚至更短的时间内,构建一个“完成的”、可用的和潜在可发布的产品增量。Sprint的长度通常保持一致(规定的“时间盒”)。
Sprint计划会议、Sprint每日站会、开发工作、Sprint评审会议和Sprint回顾会议构成。在Sprint期间不能做出有害于Sprint目标的改变。Sprint可以在结束前取消,只有产品负责人才有权利取消。
Sprint计划会议:开发团队自己选择产品待办事项数量。
故事点(待办事项或者其他工作的估算量)、刺探/探针(快速估算故事点)、速率(衡量团队在单个Sprint中可以解决工作量的指标,也是Scrum的关键指标)
每日Scrum站会:每天15分钟,开发团队自己负责召开(别人可以旁听只能听),会上只记录不讨论问题。
昨天我为了Sprint目标做了什么;今天我准备做什么;是否有阻碍。站会之后进行更详细的讨论。
了解SOS会议-Scrum of Scrums。
信息发射源(信息扩散器):大白墙、白板。敏捷提倡引导相关方观看信息发射源以获得项目的状态,而不是单独发送项目状态报告。如燃尽图,燃起图等。让信息变得透明、高效。
Sprint评审会议:在Sprint快结束时举行,团队与相关方协同讨论在此次Sprint中完成的工作。演示增量的目的是为了获取相关方的反馈并促进合作。结果是:一份修订后的产品代办列表,阐明很可能进入下个Sprint的产品待办列表项。
Sprint回顾会议:评审会议之后,下个Sprint计划会议之前。改进开发过程和实践,在下个Sprint中更高效更愉快。在Sprint回顾会议结束时,Scrum团队应该明确接下来的Sprint中需要实施的改进。
五个价值观:
承诺-对目标作出承诺
专注-将心思和能力都用到承诺的工作上去
开发-Scrum把项目中一切开放给每个人看
尊重-每个人都有他独特的背景和经验
勇气-有勇气做出承诺,旅行承诺,接收别人的尊重
看板
可视化管控,消除瓶颈。
记录团队例行工作,布置看板墙,确定WIP限制,定义完成规则,召开每日站会。