敏捷之路三 ACP考试重点
一、 敏捷宣言
-
敏捷宣言产生
2001 年,17位自称“有组织的无政府主义者”在Utah的Snowbird会面,分享他们的想法,这些软件业思想领袖共同发表《敏捷宣言》,正式宣告敏捷开发运动 的 开 始。 -
价值观
个体和互动 高于 流程和工具
工作的软件 高于 详尽的文档
客户合作 高于 合同谈判
响应变化 高于 遵循计划 -
十二原则
1)我们最重要的目标,是通过持续不断地
及早交付有价值的软件使客户满意。
2)欣然面对需求变化,即使在开发后期也一样。
为了客户的竞争优势,敏捷过程掌控变化。
3)经常地交付可工作的软件,
相隔几星期或一两个月,倾向于采取较短的周期。
4)业务人员和开发人员必须相互合作,
项目中的每一天都不例外。
5)激发个体的斗志,以他们为核心搭建项目。
提供所需的环境和支援,辅以信任,从而达成目标。
6)不论团队内外,传递信息效果最好效率也最高的方式是
面对面的交谈。
7)可工作的软件是进度的首要度量标准。
8)敏捷过程倡导可持续开发。
责任人、开发人员和用户要能够共同维持其步调稳定延续。
9)坚持不懈地追求技术卓越和良好设计,敏捷能力由此增强。
10)以简洁为本,它是极力减少不必要工作量的艺术。
11)最好的架构、需求和设计出自自组织团队。
12)团队定期地反思如何能提高成效,
并依此调整自身的举止表现。
概述:“敏捷方法”是一个囊括了各种框架和方法的涵盖性术语,顺畅高质量的交付有用的价值。
-
敏捷特点:
检查、适应和透明 -
Scrum的五个价值观:
勇气 / 承诺 /尊重 / 专注和开放 -
极限编程的五个价值观:
沟通 简单 反馈 勇气 尊重 -
Scrum 人员配置
团队成员在3-9人 -
角色及职责
三种角色:PO SM the Team
角色职责:略
二、用户故事
故事三要素:
角色 活动 价值
模板:
英文:As a , I want to , so that
中文:作为一个 <角色>, 我想要 <活动>, 以便于 <价值>
用户故事不能够使用技术语言来描述,要使用用户可以理解的业务语言来描述
3C原则
卡片(Card): 用户故事一般写在小的记事卡片上。卡片上可能会写上故事的简短描述,工作量估算等。
交谈(Conversation): 用户故事背后的细节来源于和客户或者产品负责人的交流沟通。
确认(Confirmation): 通过验收测试确认用户故事被正确完成。
用户故事的六个特性
简称INVEST原则:独立性(Independent) 、可协商性(Negotiable)、有价值(Valuable)、可估算性(Estimable) 、短小(Small)、可测试性(Testable)
三、 敏捷会议
计划会
参与人:整个团队
时长:迭代周期(每周两小时)如一个迭代为两周:会议为4小时
输入:PB(产品代办列表)
第一部分:PO讲解排好优先级的需求
第二部分:团队规划迭代选取内容
输出:SB(迭代代办列表)
每日站立会
参与人:SM及团队(其他人员可参与,但不能讲话)
时长:15分钟
输入:昨天做了什么?今天计划做什么?我遇到了什么困难?
输出:承诺和透明
评审会
参与人:所有利益相关方
时长:迭代周期(每周一小时)如一个迭代为两周:会议为2小时
输入:待评审功能
输出:评审结果,用户代表及各方的反馈
注意:只演示完成了的功能
回顾会
参与人:SM及团队
时长:迭代周期(每周一小时)如一个迭代为两周:会议为2小时
输入:过程数据累积,如:做的好的,不好的
输出:改进待办事项列表
注意:建议每次迭代改进同样排列优先级,且一个迭代中不宜改进项过多
会议开场需要营造开放的环境,让大家放下包袱,大胆说话。
四、重要概念
- 仆人式领导的工作方式及职责
- 看板、敏捷与精益之间的关系:相辅相成
- T型和I型人才
- 用户画像
- 产品路线图
- 时间盒
- 四种生命周期划分及他们的特点
预测型生命周期。这是一种更为传统的方法,提前进行大量的计划工作, 然后一次性执行;执行是一个连续的过程。
迭代型生命周期。这种方法允许对未完成的工作进行反馈,从而改进和修 改该工作。
增量型生命周期。这种方法向客户提供各个已完成的,可能立即使用的可 交付成果。
敏捷生命周期。这种方法既有迭代,也有增量,便于完善工作,频繁交付。 - 非敏捷方法我们成为预测型
- 当团队成员100%参与项目时效率最高
- 孤岛效应及如何克服
- 团队工作场所应是开放,渗透式的
- 分布式团队需要建立沟通管理机制:如鱼缸窗口和远程结对
- 跨职能团队(需要的团队类型)
- 项目愿景内容
- 敏捷项目章程内容
- 团队章程
- 迭代周期一般在1周至1个月
- WIP在制品数量,限制它有什么好处
- scrum of scrum含义
- 团队速率的划定
- 持续集成
- ATDD验收测试驱动开发
- TDD测试驱动开发
- BDD行为驱动开发
- FDD 功能驱动开发
- DSDM动态系统开发
- 刺探(探针)使用。在团队需要学习一些 关键技术或功能要素时,刺探会很有帮助。
- 重构什么时候进行
- 故事点的确认,相对较小(并非最小)功能最为1个故事点
- 德尔菲、宽带德尔菲
- 完成的定义DOD
- 信息发射源
- 结对编程
- 减少浪费
- 倾听的层级
- 冲突的层级及应对方式
- 情商
- shuhari:守、破、离(守即服从规则,破即打破规则、离即创造规则)
- MVP
- 停车场
- 倾听的层级
五、重要图表
- 产品路径图
- PBL、SBL
- 燃尽、燃起图
- 速率图
- 斯泰西复杂性模型
- 累积流量图
- 价值流图
六、其它概念
- 精益
- XP
- 水晶