一、 敏捷宣言
敏捷宣言产生
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
- 水晶