- 敏捷宣言强调的敏捷软件开发的四个核心价值是:
个体和互动高于流程和工具
工作的软件高于详尽的文档
客户合作高于合同谈判
响应变化高于遵循计划 - 敏捷的12条原则是:
1、 通过早期和连续型的高价值工作交付满足“客户”。
2、 大工作分成可以迅速完成的较小组成部分。
3、 识别最好的工作是从自我组织的团队中出现的,
4、 为积极员工提供他们需要的环境和支持,并相信他们可以完成工作。
5、 创建可以改善可持续工作的流程。
6、 维持完整工作的不变的步调。
7、 欢迎改变的需求,即使是在项目后期。
8、 在项目期间每天与项目团队和业务所有者开会。
9、 在定期修正期,让团队反映如何能高效,然后进行相应地行为调整。
10、 通过完成的工作量计量工作进度。
11、 不断地追求完善。
12、 利用调整获得竞争优势。 - 敏捷三角指是价值、质量以及约束条件(成本、进度、范围)。在敏捷三角中,为了实现价值和质量目标,约束条件也就是进度、成本和范围是可以牺牲和调整的,如果进度和成本不变的情况下就调整范围。
- 敏捷项目评估的三个目标可归纳为:
1、 价值目标: 提供可交付的产品
2、 质量目标: 提供可靠的、 适应性强的可交付的产品
3、 约束目标: 在可接受的约束内, 实现价值和质量目标。 - 常见的敏捷架构/方法论包括:
Scrum、XP极限编程、精益软件开发、水晶、特征驱动开发(FDD)、动态系统开发方法(DSDM)、敏捷统一过程(AUP)。 - 《美国项目管理协会敏捷社区实践社区章程》提出的社区价值包括:
前景、仆人式领导、信任、协作、诚实、好学、勇气、开放、适应力、领导变革、透明化。 - 敏捷术语和概念
1、 敏捷最适合具有复杂要求和技术的项目
2、 敏捷项目范围不固定, 而时间和成本是固定的
3、 敏捷使用自上而下的估计
4、 敏捷文档通常勉强够用
5、 敏捷有利于适应, 而传统的管理方法有利于预期 - 敏捷挣值管理(EVM) 用于价值跟踪报告, 最好应用于迭代级别。因为范围是变化的,所以项目的EVM计算往往有误差。
- 渐进明细是敏捷计划的一个理念。敏捷计划有5个层次(计划洋葱):愿景、产品路线图、产品发布计划、迭代计划、每日计划。其中,产品发布计划、迭代计划和每日计划是从三个不同的角度逐步进行计划的。
1、 愿景:目标是定义产品要解决的首要问题和目标人群。这有助于你了解产品为用户带来的真正价值,和如何让你的产品与其他产品区分开来。规划这一层的一个好方法是与组织领导者共同完成产品愿景画布。
2、 产品路线图:团队一起创建的高级别计划,说明如何实现产品愿景中定义的目标。通常,路线图的内容在发布层会被分组,让组织中更多成员在确定每个可能的版本中的功能时能更好理解这些内容。
3、 产品发布计划:阐明构成路线图中的每一个发布版本的特定功能和每个版本交付的实际时间表。单独的故事和任务会出现在计划上。
4、 迭代计划:为每次迭代做计划,包含选择迭代需要完成的用户故事和迭代工作计划。
5、 每日计划:团队要在每天开始的时候评估自己的状态,并共同制定第二天的计划。 - 敏捷项目管理模式的架构的5个阶段:构想—推测—探索—适应—结束,重点在交付(执行)和适应。
1、 构想:确定产品构想、项目范围、项目社团以及团队共同工作的方式。
2、 推测:制定基于功能的发布计划、里程碑和迭代计划,确保交付构想的产品。
3、 探索:在短期内提供经测试的功能,不断致力于减少项目风险和不确定性。
4、 适应:审核提交的结果、当前情况以及团队的绩效,必要时做出调整。
5、 结束:终止项目、交流主要的学习成果并庆祝。 - Scrum是敏捷项目管理的框架,它是一个冲刺和增量型的框架,它的基石是“一直存在一个理论上可传输的产品”。
1、 Scrum的三大支柱:
A) Transparency 透明:为项目结果的负责人提供可见度。
B) Inspection 检查:适时检查项目进度顺利地向目标推进,找寻问题的偏差。
C) Adaption 适应:假设检验发现问题或是不合意的趋势,调整流程。
2、 Scrum团队由Team、PO和SM组成,包含几种不同的活动类型:冲刺、冲刺计划会、每日立会、冲刺评审会和冲刺回顾会。
3、 一个健全的站立会议的重点特征包括:同辈压力、密切的配合、细在专注、每日承诺、辨别障碍。在每日立会中可讨论调整团队的工作量。
4、 Scrum开发团队应保持5~9人的规模(不含PO和SM),开发团队不含测试或业务分析等子团队,它强调跨职能的,自组织的。
5、 PO产品负责人主要职责是对产品待开发项进行管理,梳理产品待开发项,并对其进行优先级排序,确保开发团队所执行工作的价值,确保产品待开发项对所有人可见、清晰、透明,以及开发团队对其有一定程度的了解。
6、 Scrum Master首要职责是确保Scrum被正确地理解和实施,确保团队遵循Scrum的理论、实践和规则,保护团队免受干扰,排除障碍,他以各种方式服务于PO、Team和组织。
7、 产品负责人应在会议前准备好产品待开发列表,缺少产品负责人的情况下,Scrum Master应该在会议前创建符合要求的产品待开发项,并代理产品负责人一职。
8、 时间盒:冲刺(24周)、冲刺规划会(48小时)、每日立会(约15分钟)、冲刺评审会(4个小时)、冲刺回顾会(1~3小时)、先前迭代回顾会不超60分钟。
9、 Scrum三个工件:产品Backlog、Sprint Backlog、燃尽图。
10、 Scrum的五个价值:承诺、专注、开放、尊重、勇气。
11、 在进入首个Sprint之前,需要举行一个发布计划会议,发布计划会议输出是:发布计划、发布Backlog、行动项目、风险、假设、依赖。
12、 产品待办事项(product backlog)的 DEEP 原则:
D) 详略得当(D etailed Appropriately)
E) 做过估算的(E stimated)
F) 涌现的(E mergent)
G) 排列优先级的(P rioritized)
13、 SOS:每 5~9个Scrum TEAM为一个Scrum-of-Scrum。
14、 Sashimi的原意是“生鱼片”,在Scrum中是团队用来表达“完成”的一种说法;不同团队对于“完成”的定义可以是不一样的,但在一个团队内必须统一,在Scrum中一个团队需要定义不同级别的“完成规范”来统一这个概念,“完成规范”可是是任务级别的,团队级别的或者产品特定级别的。
15、 Impediments的意思是“障碍”,是团队在向着“完成规范”所定义的状态努力过程中遇到的阻碍,一般来说,Scrum Master需要作为消除障碍的主要负责人! - XP极限编程是敏捷方法中的一中软件开发方法,相对于Scrum关注项目管理工作,XP更加关注软件开发的良好实践。它要求至少有一名客户代表在整个项目周期在现场负责确定需求、回答问题和功能验收测试。
1、 XP的核心价值是:简单、沟通、反馈、勇气、尊重。
2、 XP的13个核心实践是:完整的团队、规划游戏、小型发布、客户测试、共同所有权、编码标准、可持续的速度、隐喻、持续集成、测试先行/测试驱动开发、重构、简单设计、结对编程。
3、 肯特.贝克概念中简单设计如下:
A) 能够通过所有的测试程序;
B) 没有包括任何重复的代码;
C) 清楚地表现了程序员赋予的所有意图;
D) 包括尽可能少的类和方法。
4、 Demeter(迪米特)法则,也称为LoD法则、最少知识原则,指一个对象应当对其它对象尽可能少地了解,通俗地说就是“只与你的朋友通讯”、“不要和陌生人说话”。
5、 结对编程技术被誉为XP保持工作质量、强调人文主义的一个典型实践,有助于协作的流畅、知识的交流共享和提高团队的稳定性。 - 特征驱动开发(FDD)是一种简单的便于理解的构建产品或者解决方案的方法。其已经成为最广泛应用的快速软件开发方法。
1、 特征驱动开发(FDD)有一系列良好的实践:领域对象建模、按照特性开发、类(代码)拥有权、特性小组、审查、配置管理、定期构建、可视性进度报告。
2、 特征驱动开发(FDD)的五个步骤:
A) 开发整体模型;
B) 建立特征清单;
C) 依特征做规划;
D) 依特征做设计;
E) 依特征进行建立。 - 动态系统开发方法(DSDM),也称为业务中心框架开发方法。它倡导以业务为核心,快速而有效地进行系统开发。它的基本观点是任何事情都不可能一次性圆满完成,应遵循二八原则;实施思路是在固定的时间进度和可用资源情况下,力争最大化满足业务要求。
1、 DSDM开发过程被形象地称为“两张披萨和一块奶酪”,它的周期有以下7个阶段:
A) 项目准备阶段;
B) 可行性研究阶段;
C) 业务研究阶段;
D) 功能建模阶段(冲刺式);
E) 系统设计编程阶段(冲刺式);
F) 实施阶段;
G) 项目后期。
2、 DSDM的哲学是“足够就好,无须过多!”。
3、 DSDM在功能建模阶段会产生以下产物:带有优先级的功能、功能性原型的评审文档、非功能需求、实施计划。 - 水晶(Crystal)方法体系与XP一样,都有以人为中心的理念,但在实践中有所不同,它探索了用最少纪律约束而仍能成功的方法。
1、 Crystal系列方法分为Crystal Clear(透明水晶)、Crystal Yellow(黄水晶)、Crystal Orange(橙水晶)、Crystal Red(红水晶)。重要性根据项目中的错误引发的后果分为:C-不舒适、D-经济损失、E-严重经济损失、L生命危险。
2、 水晶方法采用了一种比例的方式以匹配项目,它拥抱很多其它的敏捷原则:
A) 频繁地交付;
B) 反思改进;
C) 渗透式沟通;
D) 个人安全;
E) 焦点;
F) 与专家用户建立方便的联系;
G) 配有自动测试。
3、 反思提高研讨会是水晶方法论的基石。
4、 水晶架构是迭代的,它的三个基本过程:
A) 章程;
B) 交付迭代;
C) 项目总结。
5、 水晶纲领包括:
A) 建设团队;
B) 做探索性的360;
C) 为团队定义实践标准;
D) 建立初始项目计划。 - 精益开发(LEAN)不是一种敏捷的方法,但是精益和敏捷的价值观是密切相关的。Lean是系统的思想,Kaizen(持续改善)是一个手段。
1、 精益的7大原则:
A) 消除浪费;
B) 加强学习;
C) 尽量晚一点做决定;
D) 尽快交付;
E) 授权给团队;
F) 建立无暇的产品;
G) 窥其全貌。
2、 精益生产理论是指估算浪费,价值流程图是敏捷采用的精益生产分析技能,用于价值的流动分析。执行价值流程图包括以下5个步骤:
A) 确认产品,客户和范围(即流程的始末);
B) 地图作为团队或者个人现时价值流,确认流程步骤,延时和信息需求。估算流程步骤的持续时长和前置期持续时长(lead time durations)。前置期是指在发生前一项流程或者事件需等待的时长;
C) 分析价值流程图来确认浪费存在的地方(比如前置期)和流程可完善的地方(流程时间通常认为是价值增加时间,但是应尽量减少整个流程的时间,由此来缩短向客户交付价值流的时间);
D) 通过分析,总结出一份展示价值流应努力达到的前景或者目标的未来价值流程图;
E) 通过流程完善活动或者其他方法来达到目标的一些工作。
3、 价值流程图识别出来的可完善的地方和浪费的形式非常多,可用WIDETOM来记忆:W-waiting 等待; I-inventory库存; D-defects 缺陷; E-extra processing 额外流程; T-transportation 运输; O-over production 过度生产; M-motion 动态。
4、 精益投资组合管理(Lean Portfolio Management ) - 选择项目以最大化投资回报的方法:
A) 投资组合应包括最低市场特征(MMF),以便快速交付;
B) 尽量减少在制品。
5、 最小化可交付的特性(MMF)–为最终用户提供价值的最小功能集. 一个 MMF是最小粒度且有商业价值的特性。MMF 被放在一个队列中维护,(很像 Scrum中的产品 Backlog) ,但对队列的大小有严格的限制(James 认为应该是两到三个,最多七个) 。 - 看板开发,规则简单,但其有效实施依赖于对原理的理解、对原则的坚持和实践的应变。
1、 看板开发方法使用一个拉动系统进行工作,它限制了在制品(WIP)的数量,这样可以帮助识别开发过程中产生的问题和最小化浪费。
2、 看板开发方法的5个核心实践如下:
A) 可视化工作(价值)流;
B) 限制在制品的数量;
C) 度量和管理流动;
D) 协同改进;
E) 显式化流程规则。 - 敏捷领导者
1、 服务型领导的主要职责:保护团队不受干扰、移除工作中的障碍、沟通项目愿景、为团队带来食物和水。
2、 在一个自主管理的团队中,仆人式领导是促成者,倾听团队的需求,清除团队障碍并为提高生产率提供工具和其他支持。
3、 敏捷领导者常见的行为准则如下:
A) 教授团队成员自主决策敏捷实践和方法;
B) 允许团队自主管理和自我约束;
C) 授权团队适当的决策;
D) 激励团队创造力和探索新技术;
E) 阐述产品愿景,持续进行愿景激励以完成整体目标;
F) 移除团队遇到障碍和问题;
G) 宣传敏捷的价值观和理念;
H) 确保所有干系人有效协作;
I) 依据工作环境改变领导风格,以此确保有力支持敏捷价值和原则。 - 价值评估工具和技术
1、 投资回报率(ROI)是指通过投资而应返回的价值,ROI=年利润/投资总额×100%。
2、 净现值(NPV)是指投资方案所产生的现金净流量以资金成本为贴现率折现后与原始投资额现值的差额。PV=FV/(1+R)^N。
3、 内部收益率(IRR)有助于评估计算项目投资的回报期,内部收益率就是净现值(NPV)等于0时的折现率。
4、 挣值管理(EVM)不仅能反映出目前的项目状态,也能对项目未来的完成情况进行预测。它的最大好处是可视化管理,通过图表技术,使得大家对项目状态一目了然。
5、 关键指标绩效(KPI):进展率、剩下的工作、可能完成的日期、可能完成时需要的成本。 - 产品列表排列的优先级标准: DIVE
1、 依赖关系(Dependencies )
2、 风险(Insure against risk : business and technical)
3、 商业价值(Business Value)
4、 估算工时(Estimated Effort) - 价值优先级排序方案
1、 基于客户价值的优先级排序
A) 简单的方案,完全基于主观经验;
B) MoSCoW优先级方案,M-必须做的、S-应该做的、C-可以做的、W-不要做的;
C) 虚拟钱币,利用固定钱币去购买特征,最多的为优先级最高;
D) 100点方法,每个相关方决定如何分配自己的100点数,点数最高的优先级最高;
E) Kano分析,它定义了三个层次的顾客需求:基本型需求、期望型需求和兴奋型需求。
2、 相对优先级或排序就是按照特性的相对大小,从上往下进行排序,依次为:高、中、低。 - 软件开发中的测试和验证
1、 探索性测试,核心思想是:测试是一个不断学习、不断探索的创造性过程。它将戴明环(PDCA)做到了极致。
2、 可用性测试,指的是让一群有代表性的客户对产品进行典型操作,同时观察员和开发人员在一旁观察、聆听、做记录。可用性有5个指标:易学性、易记性、容错性、交互效率和用户满意度。可用性测试适用于解决以下问题:
A) 确定测试产品的可用性水平;
B) 与预期目标、竞争对手、老版设计相比的可用性水平;
C) 比较不同方案,确定哪个方案更可行;
D) 现测试产品的可用性问题。 - 持续集成的步骤如下:
1、 持续集成服务器不断检查版本服务器上的代码状态,看代码是否有更新;
2、 如发现代码有最新提交,那么就从版本服务器上下载最新的代码;
3、 代码完全更新后,调用自动化编译脚本进行编译;
4、 运行所有的自动化测试;
5、 进行代码分析;
6、 产生可执行软件,能够提供给测试人员进行测试。 - 测试驱动开发(TDD)要求先编写测试代码,然后只编写使测试通过的功能代码。它有助于编写简洁可用和高质量的代码,并加速开发过程。
1、 测试驱动开发的基本过程如下:
A) 快速新增一个测试;
B) 运行所有测试(有时候是部分),发现新增的测试不能通过;
C) 做一些小改动,尽快让测试程序运行,为此可以在程序中使用一些不合情理的方法;
D) 运行所有的测试,并全部通过;
E) 重构代码,以消除重复设计,优化设计结构。
2、 测试驱动开发不是一种测试技术,而是一种分析技术、设计技术,更是一种组织所有开发活动的技术。它具有以下优势:
A) TDD根据用户需求编写测试用例,对功能的过程和接口都进行了设计,而且这种从使用者角度对代码进行的设计通常更符合后期开发的需求。
B) 出于易测试和测试独立性的要求,将促使我们实现松耦合设计,并更多地依赖接口,提供系统的可扩展性和抗变性;
C) 将测试工作提到编码之前,并频繁地运行测试,可尽量避免和尽早发现错误,降低了后期测试和修复的成本,提高了代码质量;
D) TDD提供了持续的回归测试,可以重构代码;
E) TDD所产生的单元测试代码就是最完美的开发者文档,它展示了所有的API是如何工作的,并且是同步的、最新的;
F) TDD可以减轻压力、降低忧虑,提高团队对代码的信心和对代码重构的勇气;
G) 快速地提高了开发效率。 - 验收测试驱动开发(ATDD)技术使得测试的焦点从代码本身转向业务需求,它的测试案例代表了功能在验收测试水平上所被期望的行为。它包含讨论、提炼、开发和演示四个阶段:
1、 Discuss 讨论:敏捷团队和客户或者商业干系人详细讨论用户故事,包含用户故事应有和不应有的预期行为;
2、 Distill 提取:开发团队研习讨论中的条目并提取成可验证和确认这些行为的测试。提取流程中, 整个团队应充分认识“完成”对用户故事的意义,这正是验收标准所在;
3、 Develop 开发:提取后,团队开发测试代码和产品代码以产生产品特性;
4、 Demo 示范:产品特性开发后,团队向客户或商业干系人展示以获得反馈。 - 敏捷章程的一些实际应用有以下几部分:
1、 在实际项目开始前,作为冲刺0的一部分;
2、 通过高级管理层进行签署,并且授予团队资源和权利;
3、 如果可能,在这份文档里也会写出团队成员的名字;
4、 解决项目的5W1H(What,Why,Who,When,Where and How);
5、 类型项目章程,但详细程度不同,敏捷章程不是很详细,并且关注于渐进明细;
6、 内容包含概要需求、关键的成功要素、里程碑和初步的预算;
7、 必须为团队授权进行敏捷过程定义;
8、 敏捷章程不是可有可无的,是必需的。 - 完成的定义(DoD),在敏捷软件开发中存在多级不同的完成定义,包括冲刺的DoD、发布的DoD、用户故事DoD、每日DoD和每周DoD,DoD应该由干系人共同认可。
1、 冲刺DoD,是最初DoD应用的地方,常见的冲刺DoD条款有以下几个:
A) 所有完成的用户故事得到产品负责人的验证;
B) 所有的代码得到静态分析,纠正最高级别的不符合项;
C) 所有新增代码得到人工评审;
D) 所有完成的用户故事都有对应的测试用例。
2、 发布DoD的典型条款有如下几条:
A) 完成发布的规划所要求的重点内容;
B) 通过发布的全量测试,回归测试范围是全范围的,回归率不低于50%;
C) 修复所有等级为1、2、3的缺陷,4级及4级以下的缺陷不超过200个。1、2级缺陷必须修复,3级缺陷经过带缺陷发布审批后可以发布。
3、 用户故事DoD有以下几个条款:
A) 用户故事最终描述符合INVEST原则;
B) 用户故事得到测试用例的对应覆盖;
C) 用户故事得到对应的自动化测试用例;
D) 用户故事得到用户代表使用并初步认可。 - 线框图是由一些简单的方框组成,用来在用户界面上显示元素的位置、界面布局和软件功能。
1、 线框图的主要功能如下:
A) 显示界面元素;
B) 显示这些元素是如何组织在一起的;
C) 显示用户界面如何工作;
D) 显示用户如何与程序或者网站进行交互。
2、 线框图可用很好地用于敏捷项目:
A) 线框图鼓励团队成员积极交流,协同工作;
B) 线框图是轻量的,并且是易于理解消化的,而不是繁琐的文档;
C) 线框图可以获得用户和客户的早期反馈,并且是持续性的反馈;
D) 线框图允许在项目开始时使用交互式的草稿图,再逐步演化为最终设计。 - 人物画像可以让开发人员快速地知道关键相关方所感兴趣的事情,为开发人员提供快速的指导。
1、 人物画像将:
A) 提供用户描述的原型;
B) 植根于实际;
C) 以目标为导向,更加具体和相关;
D) 是有形的、可以行动的;
E) 使人们更加聚焦。
2、 人物画像不能代替需求,但是它们可以代替争执。 - 信息雷达图可能会呈现以下的数据:
1、 所交付特征的数据和没有交付特征的数据;
2、 谁工作在哪件工作上;
3、 这一轮迭代所选择的特性;
4、 速率;
5、 威胁和问题列表;
6、 故事地图;
7、 燃尽图。 - 敏捷的可视化
1、 燃尽图(Burndown Chart)可以直观地展现项目总体进度,它展示了时间和项目剩余总体工作量间的关系,有效的描绘了团队进展的速度和生产能力。燃尽图可以判别完成的时间,但不能判别完成的内容。有发布燃尽图和迭代燃尽图等。
2、 燃起图(Burnup Chart),它能够直观展现项目时间与已完成的工作间的关系的一种图表,根据每天完成的story情况动态展现工作成果的曲线。
3、 停车场图表用来对用户故事按主题进行分类和管理。包括确定主题的名称、用户故事的数量、其包含的故事点、展现故事点完成百分比的进度图表。
4、 看板图是一个拉动式的图表,用来帮助团队理解当前做得如何,以及下一步要做什么,令团队能够自我指导。在看板图、燃尽图和停车场图三者之中,看板图的信息最详细。看板方法关注的是价值的流动效率。
5、 累积流图(CFD: Cumulative Flow Diagram)是看板方法里的核心度量,可以很好地反映工作项在每个流程环节的流动问题。累积流图可以用来分析在制品、平均周期时间、吞吐率(Throughput)、需求范围的变化、预测交付日期。
6、 价值流程图是敏捷采用的精益生产分析技能,用于对形成客户产品或服务的原料和信息(即价值)的流动进行分析。一张价值流程图可能用于分析信息或者材料的流动,从它们的源地到终点,以此来识别浪费区域,识别出的区域成为流程可完善的地方。 - 协同工作
1、 工作坊是一个多人共同参与的场域与过程。以下的一些技巧可以让工作坊更加有效:
A) 让更多的人参与进来,可以有不同的观点,因为其会带来有价值的想法和解决方案;
B) 在讨论中应避免某个人主导,应该让团队集体产生想法;
C) 轮流发言,每个人都应该做出贡献,而不仅仅是一个被动的听众。
2、 头脑风暴是指一群人或小组围绕一个特定的兴趣或领域,进行创新或改善,产生新点子,提出新方法。头脑风暴可以通过安静地写作、循环方法或无限制的方式实现。头脑风暴的好处有:
A) 提高创造力;
B) 建立更好的社交圈和职员关系;
C) 营造更让人愉快的工作环境;
D) 创造新市场、新产品、新服务;
E) 创造更好的产品和服务,实现更好的管理;
F) 减少冲突和争论,提高生产力和可信度。
团队可以使用头脑风暴来完成以下几种功能:
A) 确定特定任务的产品角色;
B) 为发布版本确认最小市场特性;
C) 识别影响项目的风险;
D) 制定针对特出问题的解决方案。 - 协作游戏
1、 回想未来。目的是理解客户所定义的成功。
2、 修剪产品树。目的是休假产品以符合市场需要。
3、 高速游艇或帆船。目的是找出客户不喜欢你的产品或服务的地方。
4、 买特性。目的是对特性进行优先级划分。
5、 性价比。目的是对待开发项进行优先级排序。
6、 Bank-for-the-Buck:审视价值与成本的游戏。
7、 产品盒(Vision Box) : 设计产品的虚拟盒子(确定最重要的前 3 项工作) 以确定优先级。 - 积极倾听
1、 层次一:内心收听。认真听对方讲话,但会根据自己的理解重新解读。
2、 层次二:专心收听。设身处地地为说话人着想,完全专注他的话语本身。
3、 层次三:全心收听。结合具体的环境用心收听每句话,包括说话人的语气、姿势等。 - 冲突的解决技术
级别 描述 处理方法
5、世界大战 摧毁对方
很少或没有语言交流 做任何必要的事情来防止大家彼此伤害
4、圣战 保护自己的族群成了焦点
语言是意识形态 再次构建安全框架,使用“穿梭”外交,把一个派系的想法带给另一个派系
3、争辩 胜利重于解决
语言包含个人攻击 迁就:当问题本身更重要时
交涉:冲突的事情可以分解的情况下
得到事实:搜集数据,建立事实
2、争执 个人保护胜于协作
语言是戒备的但允许解释 支持:允许对方解决问题
安全
1、解决问题 信息分享和协作
语言是开放的并基于事实 协作:寻求双赢的局面
共识:学习各自的想法,达成一致
敏捷冲突的三步干预方法:
您是否与_________分享了您对此的疑虑和感受?
_______应该知道你的担忧。如果我和你一起去,会有帮助吗?
我可以告诉_________你有这些顾虑吗? - 参与式决策方法
1、 简单投票,让团队用手势的方式表示“同意”或者“反对”,这是最快捷的方法。
2、 拇指向上/下/边。
3、 决策分级,它给予参与者更多的选择,将参与者的回答画成线,整改团队就可以看到集体的意见了。
4、 5个手指投票,0-绝对支持、1-支持、2-支持但有很少保留、3-关注,需要讨论、4-不赞成,需要讨论、5-停,反对这个决策。 - 用户故事
1、 好的用户故事包括3个要素:
A) 角色。谁要使用这个功能;
B) 活动。需要完成什么样的功能;
C) 商业价值。为什么需要这个功能,这个功能带来什么价值。
2、 一个良好的用户故事应遵循INVEST原则:
A) 独立的(Independent)。
B) 可协商的(Negotiable)。
C) 有价值的(Valuable)。
D) 可估算的(Estimable)。
E) 小的(Small)。
F) 可测试的(Testable)。
3、 3C:Card卡片 Conversation对话 Confirmation确认。卡片记录,记录用户对话,需要与干系人确认。
4、 基于不同的技术对故事进行分割,有以下几点好处:
A) 减少结构风险
B) 更容易排列用户故事优先级;
C) 因为特征的完成,软件可以较早发布;
D) 有利于自动化测试。
5、 需求层次的结构:特性—>史诗—>用户故事—>任务。
6、 用户故事地图,为敏捷团队提供了一种实现“用户体验是一个完整的过程”的产品管理方法,一个打通“产品规划”与“开发计划”的工具。
7、 故事地图中显示每个版本中用户故事/史诗的分类方式:
A) 主线(backbone):基本功能
B) 行走的骨骼(walking skeleton) Walking Skeleton:最小的功能集
C) 附加功能:其他功能
8、 梳理待开发项的步骤如下:
A) 产品负责人和团队一起讨论用户故事的背景、业务目标、用户角色、用户场景、业务流程、业务规则,保证团队理解充分且无异议;
B) 产品负责人和团队一起讨论界面和交互流程,画出低保真和交互流;
C) 产品负责人和团队讨论用户故事的测试要点、技术实现方案、可能存在的技术风险,必须输出的测试要点(验收标准),测试要点形式不限。
D) 团队估算出用户故事的规模(故事点数),对于过大的用户故事要拆分成小故事;
E) 产品负责人对用户故事排优先级。 - 估算是Scrum和其它敏捷过程的核心实践
1、 宽频德尔菲是基于团队的估算方法,这种技巧要求一组专家匿名提交估算,这有助于将“从众效应”和“光圈效应”的影响减到最小。
2、 宽频德尔菲技术通常用“计划扑克”来实施,这个技术的转化使用了一个快速的、合作的过程,并结合了所有基本的宽频德尔菲元素。
3、 相对大小和故事点,这个方法可以解决以下两个问题:
A) 人民不擅长精准地预测工作的绝对大小;
B) 估算过程是困难的、不受欢迎的。
4、 亲和估算是一种用于快速和更容易地估算大量用户故事的技术。其要求产品待开发项列表中,开发项最小的大小为20.
5、 理想时间和耗用时间。
6、 构造成本模型(COCOMO) - 对已完成的软件项目的输入进行逆向工程,得到项目已知具体成本,以便对新项目进行估算。是普及程度比较高的一种自顶向下项目成本估算模型,是比较精确,易于使用的成本估算方法。 - 问题解决的步骤
1、 收集数据。常用工具如下:
A) 时间表,工作相似的人分在同一组(<=人)。小组讨论完成后,按时间顺序将卡片贴在墙上,可以使用色彩代码并标注其意义。例如绿色-好的事情、黄色-有问题的时间、红色-重大的事情。
B) 三个5游戏,在一个团队中,每人有5分钟头脑风暴时间,写下自己的想法并传递给右边的人,右边的人再基于这纸条写下自己的意见,直至一轮结束。
C) 颜色代码圆点,需结合时间表使用,在完成活动后,可以用来表示团队成员的工作心情,可展示团队成员的士气随时间而发生的变化。
D) 愤怒—悲伤—高兴,用于收集团队成员在一个冲刺周期中情绪的变化情况。
E) 定位优势,目的是找出下一个阶段可以发挥的优势,为激发灵感做准备。
F) 满意程度直方图,目的是直观地特出在某些重点方面团队成员的满意程度。
G) 团队雷达图,目的是评估团队成员在各个领域的表现。
H) 挑选同义词,主要是帮助团队成员回忆他们在项目中的经验,并了解不同的人的不同看法。
2、 激发灵感。常用活动如下:
A) 头脑风暴,产生灵感,让大家想出需求主意,然后再进行筛选。好处是可以吸收不同人的不同想法,缺点是容易产生从众现象。
B) 力场分析,找出利于解决问题的力量和因素,排除消极因素,以解决问题。
C) 5Why分析法,也就是对同一个问题点连续多次以“为什么”来自问,以追究真正的原因。目前在持续改善、精益生产法和六西格玛法中得到采用。
D) 鱼骨图,又名因果图、石川图,可以找出问题的所有潜在原因,将问题的原因而不是症状放在首位。
E) 用圆点铁进行优先级排序,目的是引导小组在一大堆变革、提议等方案中确定实施的优先顺序。
F) 寻找主题,目的是为了从定位优势访谈活动中找出共同的线索思路,寻找创意。
3、 决定做什么,常用技术包括:
A) 回顾规划游戏,主要是为所建立的方案制定一个详细的计划。
B) SMART目标,帮助团队创建“Specific-具体的、Measurable-可量化的、Achievable-可实现的、Relevant-有相关性的、Timeboxed-有时限性的”目标。
C) 问题圆圈,目的是帮助团队对下一轮的冲刺选择一项试验或选择行动步骤,特别是团队成员需要互相听取意见的时候。 - 回顾,是敏捷中普遍使用的方法,它是在敏捷项目中进行初始学习、反馈和进行调整的事件。
1、 回顾可以让团队获得很多的收益,包括:提高生产力、提升能力、提高质量。
2、 回顾的步骤:开场、收集数据、产生见解、决定如何做、关闭回顾。 - 团队发展规模
1、 守—破—离(Shu-Ha-Ri)模型。守–遵守规则;破–突破框架的规范,灵活运用;离–返璞归真,无须刻意做作。
2、 Dreyfus模型,它将学习分为5个阶段:新手、高级新手、胜任者、精通者、专家。
3、 塔克曼模型,它将团队的发展分为5个阶段:形成期、震荡期、规范期、成熟期、解散期。 - 领导力
1、 适应型领导力是指根据团队的具体情况和成熟度来调整相应的领导力。作为领导,可以通过(支持、指导情景领导力模型)调整不同阶段的关注点来帮助团队。
2、 仆人式领导,这样的领导是为团队提供帮助、解决团队遇到的实际困难、支持团队使其产生最大的生产力。对领导的要求有几点:倾听、说服、感同身受、省察、致力于员工成长、预见力、抽象化。 - 培训、教练和辅导
1、 培训,通过实践和指导对一种技能或者知识进行的教学。议程由讲师创建,并且非常格式化。
2、 教练,通常是一种被协助的流程,用以帮助人们提高绩效。教练往往是看着团队,为其提供批评指正、解决问题。
3、 辅导,更多的是职业活动,是在一定的基础上来解决问题。 - 如何构建高效的团队
1、 拥有共同的目标
2、 完善的晋升机制
3、 高效的协作与沟通
4、 有效的团队激励
5、 良好的团队文化和团队精神 - 问题管理
1、 持续改进式的解决问题方式
A) Kaizen,意思是变得更好,意味着持续改进。它通过小组行为去改善,即常见的质量圈QC。Kaizen比较关注的是对团队的鼓励—正在做这项工作的人—频繁地实施小的、增量的改进。敏捷环:计划开发—>评估—>学习。
B) 多层次的改进,敏捷项目中多层次的持续改进包括:结对编程、每日立会、评审回顾会、产品发布。
C) 持续改进的流程,可使用系统性思考、过程分析、价值流程土等来评估流程和需要改进的领域。
D) 价值流分析,目标是通过优化每一个流程中的环节,消除浪费,为客户提供更优的价值。
2、 团队参与解决问题,其作用如下:
A) 通过向团队寻求解决方案,可以让团体成员达成一致;
B) 可以让团队获得更广泛的知识;
C) 团队的解决方案往往是比较实用的;
D) 通过讨论,人们在一起工作可以相处更好的方法;
E) 团队在一起可以更加自信。 - 周期时间
1、 周期时间:实际花费在工作项目上的时间总和;
2、 前置时间:从客户创建请求开始到这项工作被完成。
3、 吞吐量:生产的能力
4、 周期时间=WIP/吞吐量 - 项目和质量标准指的是要匹配项目的适用性。它包括以下内容:
1、 通过测试和客户验收来度量产品质量;
2、 尽可能多地做自动化测试;
3、 确保测试成为每个冲刺的一部分;
4、 在下一个冲刺中至少修复90%的缺陷;
5、 鼓励质量控制和质量保证人员与开发人员、业务人员一起工作,了解每个特性的验收标准。 - 失败和成功模式
1、 失败的模式包含以下5种情况:
A) 犯错误;
B) 宁可失败也要选择保守;
C) 创新而不研究;
D) 不能始终如一;
E) 使用纪律和容忍来应对。
2、 成功的模式包含以下4种情况:
A) 善于四处寻找;
B) 有学习能力;
C) 具有可塑性;
D) 以工作为自豪。 - 项目管理办公室的类型如下:
1、 价值驱动型;
2、 面向创新型;
3、 多学科型。 - 敏捷中,有效的“知识分享”是成功的关键因素,它需要所有的团队成员和干系人对关键信息的近乎实时的交流。可使用以下方式促进知识分享:
1、 使用全面专家/多功能团队
2、 自主管理和自我约束团队
3、 协作
4、 每日站立会议
5、 迭代/冲刺计划
6、 发布计划
7、 结对编程和结对轮换
8、 项目回顾和反思
9、 现场客户支持 - 燃烧率:每次迭代的人工(最大部分) 和其他成本, 用于准备预算或 EVM。
- 累积流图(CFD) -一个实践工具,可以帮助我们看到 WIP 的状态、 项目的步调、并且快速识别出交付时间存在的风险以及瓶颈。
- 决策谱(由 Jim Highsmith 提供) - 一种参与式决策制定工具, 允许人们表明对决策的支持/保留。
- DRY (don’t repeat yourself) –一种编程哲学, 要求程序员不要重复相同的代码。
- 经验过程控制(Empirical Process Control) –关于项目的决策是基于项目执行期间的持续观察和实验而不是预先计划。
- 史诗故事(Epic Story) – 史诗般的故事是大型用户故事, 可以分解为较小的用户故事, 可以在产品 backlog 的底部找到。
- 逃逸缺陷(Escaped Defect) – 客户发现的问题或错误, 即逃过验证, 验证和验收测试。
- 功能缓冲区(Feature Buffer) – 用于管理风险, 以确保可以提供必须具备的功能。
- 强化迭代(Hardening Iteration) (Iteration H) –为产品准备产品的最后一次迭代,通常涉及最终测试,管理,文档。
- 帕累托原则 - 也称为 80-20 规则, 对于敏捷项目, 80%的最有用的功能可以在 20%的努力中完成, 强烈建议关注“20%”。
- 项目数据表(PDS) - 是所有关键业务和质量目标, 产品功能和项目管理信息(包括里程碑, 风险等) 的单页摘要。
- 产品路线图(Product Roadmap) - 提供功能发布里程碑的高级概述。
- 面对面沟通 3个组成部分:
1、 口语表达传递的信息是 7% 就是语音语调(verba口头表达)。
2、 语言就是文字表达 传递的信息是 38%。
3、 肢体语言 传递信息是 55%。 - chaos是无政府状态这种状态是混乱且无序的。
- ROIT 回顾会议有效性度量
- ARCS模型是由约翰·M·凯勒(John M Keller)教授于20世纪80年代提出的一个教学设计模型。 所谓ARCS,是Attention(注意)、 Relevance(关联)、Confidence(信心) 和 Satisfaction(满意)四个英文单词的首字母。
- 流逝的时间指的是时钟走过时间的总和或者日历活动。
- 错误反馈率指的是当解决了现存缺陷的时候,新产生的缺陷数量。
- 内部回报率(IRR) 是使现金流出量的现值和流入量的现值之间的差额等于零的折现率,在比较两种不同现金流的价值时是最好的参数。
- 团队需要在下面的四个领域进行持续的评估和做出合适的调整:产品价值、产品质量、团队绩效、项目状态。
- 收益的分类
1、 新收益:增加新客户而带来的收入;
2、 留存收益:如果不开发项目或者主题公司会损失收入;
3、 增加收益:现有客户可以获得的额外收入。 - 分布式团队要首先考虑文化的差异性,尊重不同问题化的差异,致力于项目的成功。对于分布式团队除了关注文化的差异,也要考虑沟通的多样性。
http://www.hjxwn.com
PMI-ACP知识要点
最新推荐文章于 2023-02-19 11:40:32 发布