敏捷革命

为什么需要Scrum

传统方法(主要是瀑布法)效率不足且经常引起项目最终无法交付。

Scrum团队

团队效率的提升比个人能力的提升对项目完成的影响更大
卓越团队的特点:

  1. 明确的目标
    他们具有希望超越寻常的目标。实现这种目标的动力促使他们超越寻常,达到卓越。他们下决心拒绝平庸,出类拔萃,这种决定改变了他们看待自己的方式,扩大了他们的能力范围。
  2. 自主决策能力
    这种团队自我组织,自我管理,有能力决定如何开展工作,并获得了根据自己决定做事的授权。
  3. 多功能
    这些团队具备完成项目的所有技能:计划、设计、生产、销售、分销。具有这些技能的成员相互学习,相互提高。一位设计革命性新款相机的团队成员说:“当所有团队成员都在一间大房子里办公时,某个人的信息就是你的信息,并且得来全不费功夫。你会开始思考对整个团体而言,最优选择或次优选择是什么,而不再仅仅从你个人的角度考虑问题。”
    每个团队成员都具备完成工作所需的各种技能,而不严格划分每个成员的角色,如果严格划分角色,不同角色间交流情报时就会容易产生误差。
  4. 透明度高、注重信息分享
  5. 团队规模
    如果团队规模过大,沟通渠道增多会带来更大的沟通成本。
    Scrum团队倾向于让每个成员都知道其他人在做什么,每个人正在做什么工作,正面临哪些挑战,取得了哪些进步等等,都是透明的。团队规模过大会影响沟通效果,进而导致团队分裂成小团体,以至于多功能的团队就不复存在了。
  6. Scrum Master
    制订工作框架:冲刺、每日立会、检查与回顾。
    Scrum Master负责确保整个工作流程的顺利推进,他的工作职责是召集会议,确保团队运作过程的透明度,为团队发现障碍,并持续改进。
  7. 工作制度
    不要把问题归咎于某一个人,而是寻求制度上的解决方案。

周期

  1. 冲刺
    冲刺指的是项目中的一个小的迭代周期,叫冲刺会比较有紧张感。
    每个周期固定时间审视一下这个周期内团队成员做的成果
    冲刺周期是固定的,有固定期限可以让团队成员方便评估自己的节奏在每个周期能做多少事情,并且不允许团队之外的任何人给团队内成员增加任务。
  2. 每日立会
    了解这个冲刺周期内各项任务的进展状况,有没有障碍,需不需要其他人来帮忙;团队的一切任务都是自主决定、自主完成的,不需要汇报。
    时间不宜过长,不应给团队带来负担。
    Scrum Master每日问3个问题示例:
  • 你昨天做了什么去帮助团队完成冲刺;
  • 今天你打算做什么来帮助团队完成冲刺;
  • 什么因素阻碍了团队的前进之路?
    每日立会规则:
    一、每天会议召开的时间是固定的,每个成员都要出席;
    二、开会时间不能超过15分钟,每次开会都直击重点,如果有事情需要进一步讨论,可以先记录下来,在每日立会结束之后再做进一步的讨论;
    三、每个人都要积极参与,尽量让每个人都站起来开会。

避免浪费(人力)

  1. 一次只做一件事
    研究报告指出,哪些最喜欢同时执行多项任务的人自制能力相对较弱,没有办法让自己长时间集中精力。
    同时执行多项任务一般不会加快速度,反而会拖累。
  2. 一次把事情做完
    Scrum开发过程中的工作是有节奏的。每一个迭代期,或者说每一个冲刺期,团队都试图完成很多事情。但是“完成”意味着一款能被消费者使用的、完整的、可交付的产品。如果在迭代期的最后,事情只做了一半,你将比一点都没开始做更糟糕。你花费了资源,付出了努力和时间,最后没有得到任何成果。

一次把事情做对

如果你出了一个错误(我们都会出错),那就在发现错误时立即修改,不然就会付出代价。
生产流程应该是持续改进的,而处理问题的最佳时机是你发现问题的时候,而不是发现问题之后很久再着手解决。
出现问题不立即修复,而是放到很久之后,会浪费更多时间:当你在做一个项目的时候,大脑专注于它,你很清楚做某件事的所有原因,这时你的脑子里存在一个与之相关的复杂架构,想在几个星期后重新建立这样的架构十分困难,会花费更多时间。

工时越长,效率越低

马克思韦尔曲线
工作时间太长的人会开始犯错,而改正错误可能会比创造新成绩花费更多的时间。工作超出负荷的员工比较不容易集中注意力,而且会影响别人也跟着分心,不久之后他们就会开始做出错误决策。
这意味着我们更应该关注完成任务的时长和质量而不是工时长短。

确保工作的合理性

有几种不合理现象:
1、目标荒谬、不切实际
2、期待过高
3、负担过重,比如繁琐的规定、没必要的汇报、会议等过多
4、情绪浪费,比如团队中某个人倾向于激怒别人、削弱团队斗志。

周期规划会

给项目划分任务
确立优先级:由产品负责人决定优先级
确定需要花费多少精力、时间和资金。怎么知道自己的速度?每个成员冲刺周期结束时复盘可以知道自己的效率如何,并且可以通过消除障碍来变得更快
让执行团队评估自己的工作
用用户故事描绘任务:角色、活动、商业价值
用户故事必须完整:独立性、可协商性(不要带太多细节)、有价值、可评估、规模小、可测试
用户故事来源:需要产品负责人拿出一半时间与购买产品的客户开展对话(了解客户对于最新产品的看法,看看自己的产品是否为客户创造了价值),还要拿出一半时间拟定待办事项清单(让团队成员知道客户重视什么、不重视什么)。

产品负责人的特点

  • 第一,产品负责人需要在相关领域内掌握丰富的专业知识。
  • 第二,产品负责人必须获得自主决策权。
  • 第三,产品负责人必须有足够的时间与团队成员接触,向团队成员解释清楚需要做什么以及为什么要这么做。
  • 第四,产品负责人必须为价值负责。

信息瀑布:人们倾向于遵从之前众人的行为 - 别人的评估意见只能拿来作为参考,以便改进自己的判断,而不是完全取代自己的判断。
光环效应:是指当认知者对一个人的某种特征形成好或坏的印象后,还倾向于据此推论该人其他方面的特征,本质上属于以偏概全的认知错误 - 评估时保证匿名性,减少互相影响
拥抱变化:一般最初的计划评估不会完美,关键在于,要在项目执行过程中及时加以调整和改进,而不是刻板地遵循计划。详细规划出能够创造出新价值的部分,至于项目中的剩余部分,计划粗略一些也无所谓。每个冲刺周期结束之际,都必须为顾客展示一些看得见、摸得着的新价值。你可以问顾客一些问题,比如,这是你要的吗?这能帮你解决一些问题吗?我们的方向是对的吗?如果答案是否定的,那么你就要修改你的计划。

二八原则

往往20%的功能可以覆盖80%的价值
1、根据产品负责人对需求优先级的排列可以确定最重要的那部分需求
2、先做最重要的MVP部分,以期快速得到市场反馈,在此基础上检查和调整产品

风险

Scrum的目的之一是降低项目研发过程中的风险,常见的风险是市场风险、技术风险和财务风险。
市场风险:Scrum注重渐进式迭代,每个周期通过show case将产品展示给客户,收集用户意见,因此可以实时对产品做出小改动,不必等到投入大量成本后再被迫做出改动。
技术风险:先做几种原型,实际加以比较。
财务风险:怎么发现自己做的产品能挣到钱?渐进式迭代+showcase