作者:  王子君 
审核:JimWang王军 ShineScrum

引言

我喜欢读书,书是我最忠实的朋友。当我想找他聊天时,他总是有时间陪伴我,随便聊多长时间。当我厌倦他时,他从不打扰我,直到有一天我开始想念他。我喜欢读书,书是我最博学的老师。当我百思不得其解时,他来给我点拨,引领着我,或许横跨整个太平洋,或许穿越回上个世纪。写些读书心得,算作对朋友的回赠,对老师的敬意。

第一章 引子

 感 想 

Scrum的项目管理策略是“好钢用在刀刃上”

在《Essential Scrum》书的一开头,Ken Rubin用他小儿子的诞生比喻一个项目,指出一个成功项目应具备的特点:准时、高质量、干系人满意。项目管理有几个基本维度:时间、范围、成本和质量。这些维度相互制约,似乎达成一些要求,就必须对另一些要求妥协。

怎样平衡这些维度?项目管理策略需要回答这个问题。

实践中,开发团队往往面对所有维度的要求都固定,无权妥协的困境。他们不得不通过暗中损失“质量”这个隐性维度,来换取在时间、范围、成本这些显性维度达到要求。然而,质量问题早晚会浮出水面,影响客户满意度,给维系和发展长期客户关系带来负面影响。

Scrum采用的是满足时间、成本和质量要求,灵活调节范围的策略。在时间方面,Scrum的每个Sprint都要开发出潜在可发布的软件,满足正式发布截止时间的风险比传统开发方法小。在成本方面,软件开发的主要成本来自开发者的人力成本。Scrum开发团队成员应当基本稳定。以团队为核心开展工作,这既是对人类社会性需求的满足,也是Scrum的核心精神。所以成本主要受时间的影响。时间不延迟,成本就不会超预算。在质量方面,通过制定和履行严格的完成的定义(DoD),保证发布的特性具备应有的质量水平。在范围方面,Scrum采用将产品待办项按照优先级排序的策略,在时间紧,人力有限的条件下,优先开发对用户最有价值的特性。

俗话说的好,好钢用在刀刃上。Scrum用有限的时间和成本做最有价值的事,让客户满意。这符合20-80 定律,是价值驱动代替计划驱动的原则在实践层面上的体现。

Genomica取得的成果

 感 想 

怎样评价Scrum使用成功与否?

Ken Rubin在Genomica担任VP期间,先后采用瀑布开发方法和Scrum开发方法开发一款创新型产品。基于这款产品开发的实际情况,他用一张表格对比瀑布和Scrum的使用效果。值得注意,他对比了三个指标:工作量、速度和客户满意度。工作量指人*月数;速度指单位时间开发出的有价值的特性个数;客户满意度指与客户形成长期合作关系。


为什么选取这样三个指标?他们具有怎样的普遍意义呢?

第一、 工作量

为什么比较工作量而不比较开发成本呢?软件开发的成本主要来自开发者的工资,外加其他费用,如出差、加班、团队建设。工资是保密信息,并且不同地区差距较大,不容易获得准确数据,不方便拿来比较。而用工作量(人*月)就简单的多。人*月数与开发成本具有很强的正向相关性,人*月数大,开发成本必然高,降低成本也主要通过降低人*月数来达到目标。所以通过比较人*月数的方法来比较开发成本,是简单有效的好方法。

第二、 速率

为什么比较速率而不分别比较范围和时间呢?开发范围大小不同的项目,比较时间没有意义。开发时间长短不同的项目,比较开发范围也没有意义。通过用特性个数除以时间计算速率,得到单位时间内开发的特性个数,两个项目、两种开发方法才具备可比性。

需要注意,这里用作分子的特性个数指“有价值”的特性个数。在变更为常态的革新型产品的开发过程中,Scrum频繁获取客户反馈,围绕客户价值排列新特性的优先级,优先实现它们。而瀑布开发方法根据计划阶段确定的需求进行开发,到项目结束时,当初确定的部分需求失去了其价值。这就导致采用Scrum方法开发出的“有价值”的特性个数就比采用瀑布方法开发出的多。

其一,单位时间开发的新特性多,未必代表做的好,这里速率强调有价值的特性。其二,开发同样有价值的新特性,用更短的时间,越早交付越好。

第三、 客户满意度

评估软件质量,可以考虑客户满意度、缺陷数据、可维护性(圈复杂度)等多个度量。其中最终要的,也是比较容易获得的度量是客户满意度。怎样度量客户满意度呢?像银行柜台那样安装一个用户反馈终端,邀请客户点“非常满意/满意/不满意”的按钮吗?或者像教育咨询机构的客服那样打电话给客户,邀请评分吗?你一定遇到过这样的现象:有的客户很友好,按了“非常满意”或打了10分,但就是不再继续购买你的产品或服务了;而有的客户很挑剔,提出各种抱怨,但继续购买你的产品或服务。于是我们感到客户反馈不客观,无法准确度量。Ken Rubin在这个问题上给出一个睿智的答案:用“维系和发展与客户之间的业务关系”度量客户满意度。

Scrum能给你带来帮助吗?

 感 想 1 

什么时候适合用Scrum?什么时候不适合?

Scrum并非银弹。按照Cynefin框架,Scrum最适合应用在复杂(complex)场景中,用于开发创新型产品和特性。Scrum需要客户的配合,客户需要能够接受在Sprint期间不轻易改变已经处于进行中的工作项。客户需要参加Sprint评审会,并对展示的产品特性给出反馈意见。如果你的客户习惯于强势沟通,并且朝令夕改,总是有更重要的事打断你目前正在进行的工作,不能接受有计划、有节奏的长期合作,那么你感觉你是否经常处于中断驱动(interrupt-driven)的工作场景中呢?如果真是这样,看板方法比Scrum对您更有帮助。

 感 想 2 

怎样用看板

Scrum不太适合中断驱动型工作。在中断驱动的环境里,最好用看板方法取而代之。具体而言,看板提倡以下原则:

  • 把WIP穿过系统的过程可视化
  • 限制WIP在每个步骤里的数量,确保不超负荷
  • 度量和优化穿过系统的工作流,以持续改进

想起两个违背第二条原则的案例。

案例一、某产品集成阶段出现大量缺陷,管理层施加压力,要求当天指派的缺陷当天解决。开发团队每人每天解上百个bug,每人每月加班超过100小时。然后出现什么问题呢?有些缺陷其实没有解决,但是已经是午夜零点,开发者直接在缺陷管理系统上把缺陷状态改成解决,第二天这个缺陷再被测试者拒绝,并遭到On Shore团队投诉。

案例二、某产品由于软件架构不合理,导致一个模块与其他模块高耦合在一起。当其他模块开发时,这个模块的开发团队就为解bug疲于奔命。后来实在解不完了,干脆慢慢解。所谓虱子多了不咬,债多了不愁。过了几个月,对这个产品的软件架构重新调整,才解决这个问题。

所以在使用看板时,确保不做超过自己能力的工作是一条重要的原则。超出了自己能力的最大限度,就会导致工作质量急剧下降,或者工作效率急剧下降。如果的确有那么多工作需要完成,首先应该秉承按照优先级排序的原则,用有限的时间和资源,优先做最有价值的工作。然后再运用第一条和第三条原则,可视化问题,从根本上解决问题。比如案例二提到的软件架构调整。

本文作者王子君,由ShineScrum Jim Wang审核,转载请注明

Scrum的本质,您领悟了吗 ?——ShineScrum学员读书心得笔记相关推荐

  1. 一个苏州IT人的5年挨踢经历-------面试,薪资,企业,经历全方位揭示(之二)

    转自:http://blog.csdn.net/my_business/article/details/7170625 第二章 感悟----回顾走过的路 感想性的文字相对比叙述性的要难写很多,尤其是对 ...

  2. scrum项目管理_Scrum,用于初创企业(或针对该项目的任何项目)

    scrum项目管理 Scrum is a lightweight framework designed to help small, close-knit teams of people develo ...

  3. Scrum指南更新:Ken Schwaber、Jeff Sutherland访谈

    为了更好的反应Scrum的本质并澄清一些误解,Ken Schwaber和Jeff Sutherland更新了Scrum指南.Scrum可以用于构建软件产品,可以应用于软件之外的许多其他领域.Scrum ...

  4. 在中国应如何改良Scrum框架

    在中国应如何改良Scrum框架 @吴穹Adam (新浪微博) 在我的CSDN博客(http://blog.csdn.net/adwu73)上面,我发表了一个"为什么纯粹的Scrum在中国很难 ...

  5. Scrum的3355

    Scrum的3(角色)3(工件)5(活动)5(价值观) 三个角色 Product Owner:主要负责确定产品的功能和达到要求的标准,指定软件的发布日期和交付的内容,同时有权力接受或拒绝开发团队的工作 ...

  6. scrum知识_专注于基础知识:掌握Scrum的艺术

    scrum知识 严格遵守Scrum规则可能会使我们误入歧途. 要掌握Scrum,我们必须学会取消学习. 使真正有效的Scrum团队更注重原则而不是规则. 许多软件团队练习敏捷开发. 敏捷仅仅是软件开发 ...

  7. 《50个教育法:我把三个儿子送入了斯坦福》书中的精髓:了解教育的本质,以言传身教、耐心引导的教育方式培养孩子成才。

    <50个教育法:我把三个儿子送入了斯坦福>书中的精髓:了解教育的本质,以言传身教.耐心引导的教育方式培养孩子成才. 随着国内对教育重视程度的提高,不少家长节衣缩食把孩子送进昂贵的学习班,希 ...

  8. 随笔:读书笔记 --《见识:商业的本质和人生的智慧》

    前言 最近终于读完了吴军老师的<见识:商业的本质和人生的智慧>这本书 (3.14-3.29),大概两周时间吧,本文记录下自己的读书心得. 读书心得 – 上半篇 序言中介绍了"命& ...

  9. 敏捷开发的根本矛盾是什么?从业十余年的工程师在思考

    阿里妹导读:敏捷开发不仅靠流程和技巧,更需要企业文化的支撑.今天借"敏捷开发"的话题,与大家探讨一个更深层的问题:工程师如何在控制性和创造性中找到平衡点?生产的严谨和创造的不严谨性 ...

最新文章

  1. 【译】Writing a Simple Linux Kernel Module
  2. C#调C++生成的dll报0x800736B1错误
  3. ​内核调试技巧--systemtap定位丢包原因
  4. python 局域网扫描_Python 简化版扫描局域网存活主机
  5. 美团点评基于Storm的实时数据处理实践
  6. hdfs中与file数组类似的数组_EXCEL中数组的应用专题之十二:行列数相同数组的运算...
  7. python做客户端适合吗_为了选出最合适的 HTTP 客户端,我做了个测评
  8. 设计模式学习(三):确保对象的唯一性—单例模式
  9. js语音识别_js 语音识别_js 语音识别库 - 云+社区 - 腾讯云
  10. sphinx php 扩展安装
  11. [C++] C/C++ 取整函数ceil(),floor()
  12. vscode插件开发总结
  13. Elasticsearch之近义词/同义词的使用
  14. bitcoin简析一
  15. Secure CRT 用域名连接虚拟机的详细步骤
  16. 生物信息学缘起——linux篇(六)for和while循环
  17. 译文: C28x Compiler Error and Warning Messages
  18. 豆瓣的robots内容分析
  19. 【商业挖掘】关联规则——Apriori算法(最全~)
  20. fcm基本原理_光谱FCM工作原理

热门文章

  1. RHEL 6 修改网卡名称
  2. python网上选课系统django-PyCharm
  3. MTK CVE-2020-0069 使用方式,以及Android端测试工具
  4. JavaScript知识结构图
  5. 【深度首发】全应科技CEO夏建涛:为传统制造装上智慧大脑,做最具价值的工业物联网平台丨Xtecher封面
  6. Burpsuite 下
  7. AJAX 单页面应用的两种实现思路
  8. 基于Blinker物联网+Esp8266的燃气灶温度与燃气残留浓度监控装置的设计与实现之二
  9. js动画与html动画效果,九种原生js动画效果
  10. 硬件工程师基础知识架构