今天为大家总结了PMP®敏捷实践中的五大事件,帮助大家回顾考试重点,大家可以看着下方敏捷实践流程图进行个人构思,后文也会为大家一一剖析其中的重要环节。
完整的Scrum敏捷实践框架流程图:
一、冲刺计划会议 Sprint Planning
1.为即将要开展的Sprint制定计划;
2.Sprint第一天,控制在8小时以内,每周迭代时长对应1~2h会议时间;
3.定义Sprint要交付的内容如何完成;
4.会议基本内容:
①一般由PO来讲解产品待办事项列表,并细化故事,团队来进行评估,得出冲刺待办事项列表;
②将用户故事拆分成任务(task)以估算时间;
③团队成员领取任务(task);
④更新Sprint 待办列表。
二、每日站会 Daily Scrum
一般不超出15分钟;人数过多可稍微延长或划分团队;团队以某种方式“过一下”看板或任务板,而团队中的任何人都可以主持站会;每个人轮流回答问题:
1.上次站会以来我都完成了什么?
2.从现在到下一次站会,我计划完成什么?
3.我的障碍(风险或问题)是什么?
两种反模式:变成状态报告;站会是为了发现问题,而不是解决。
三、迭代评审会议
1.发生在Sprint结束时,控制在4小时以内;
2.参会者包括Scrum团队和产品负责人邀请的主要利益相关者;
3.主要会议内容:
①产品负责人说明哪些产品待办列表项已经“完成”和哪些没有“完成”;
②开发团队讨论在Sprint期间哪些工作做的很好,遭遇到什么问题以及问题是如何解决的;
③开发团队演示“完成”的工作并解答关于所交付增量的问题,获得相关方验收通过;④未完成或未通过评审的用户故事,重新放回产品待办事项列表,在下一次迭代规划会议评价;
⑤参会的所有人就下一步的工作进行探讨,为接下了的Sprint计划会议提供有价值的输入信息;
⑥评审市场或潜在的产品使用方式所带来的最有价值东西的改变;探讨下个预期的产品功能或产品能力版本的发布评审时间表、预算、潜力和市场。
四、迭代回顾会议
1.Sprint回顾会议是Scrum团队检视自身并创建下一个Sprint改进计划的机会。回顾会议发生在Sprint评审会议结束后,下个Sprint计划会议前。对于长度为一个月的Sprint来说,回顾会议时间最长不超过3小时。对于较短的Sprint来说,会议时间通常会缩短。ScrumMaster要确保会议举行,并且每个参会者都明白会议的目的。
2.ScrumMaster确保会议是积极的和富有成效的,同时也教导大家遵守时间盒的规则。ScrumMaster对Scrum过程负责,作为团队的一员参加该会议。
3.Sprint回顾会议的目的在于:
①检视前一个Sprint中关于人、关系、过程和工具的情况如何;
②找出并加以排序做得好的和需要改进的主要方面;同时制定改进Scrum团队工作方式的计划。
五、SCRUM会议时间盒
除了Scrum敏捷实践框架的五大事件,敏捷知识中还有不少值得多次回顾的内容,小赛还帮大家总结了非常重要的敏捷精益思想、KanBan看板与极限编程XP的技术实践,备考PMP®的小伙伴可不能错过!
六、精益思想
1.什么是精益思想?
精益思想就是花最少的钱,办最好的事,核心是消除浪费。
2.必须消除的浪费三大来源
浪费、不均衡、负荷过重。
3.七种制造浪费
库存、运输、动作、等待、缺陷、过度生产、过度加工。
4.七种软件浪费:
部分完成的工作、多余的流程、多余的特性、任务切换、等待、动作、缺陷。
5. 价值流图
七、Kanban看板
1.什么是看板六大核心实践?
①可视化工作流程
②约束在制品(WIP)
③度量和管理流动(拉动)
④显示化规则
⑤建立反馈环
⑥在协作及实验中改进
2、限制WIP
在制品称为工作流程中未完成的事项,在制品数量越多则前置时间越长,且质量越低。限制在制品数量可以缩短前置时间,通过尝试寻找工作流各阶段的适当的在制品数量可以帮助在系统中建立一个稳定的工作流,让项目成员更关注工作的完成。只有完成本阶段的特性,才会考虑从上一个阶段拉取下一组待完成特性。
八、极限编程XP的技术实践
计划游戏:快速制定计划,随着细节的不断变化而完善。
1. 小版本:系统的设计要能够尽可能早地交付。
2.用户测试:要求至少有一名实际的客户代表在整个项目开发周期在现场负责确定需求、回答团队问题以及编写功能验收测试。
3.集体代码所有制:每个成员都有更改代码的权利,所有的人对于全部代码负责。
4.可持续开发速度:要求项目团队人员每周工作时间不能超过40小时,加班不得连续超过两周,从而保证开发速度的稳定。
5.持续集成:提倡在一天中集成系统多次,而且随着需求的改变,要不断的进行回归测试,避免了一次系统集成带来的困境。
6.测试驱动:先写测试代码再编写程序。
7.重构:代码重构是指在不改变系统行为的前提下,重新调整优化系统的内部结构以减少复杂性,增加灵活性和提高性能。
8.简洁设计:任何时候都应当将系统设计的尽可能简单。不必要的复杂性一旦被发现就马上去掉。
9.结对编程:由两个程序员在同一台电脑上共同编写解决同一问题的代码。通常一个人负责写编码,而另一个负责保证代码的正确性与可读性。