本书作者是开发团队Leader,本书记录了他带领团队实施Scurm过程中的经验教训。全书短小精悍,言简意赅。

以下是书中一些观点信息的摘抄:

1:Nokia总结出的迭代开发的基本要求:
1.1:迭代要有固定时长,不能超过六个星期;
1.2:在每一次迭代的结尾,代码都必须经过QA的测试,能够正常工作;

2:Nokia的Scurm标准:
2.1:Scurm团队必须要有产品负责人,而且团队都清楚这个人是谁;
2.2:产品负责人必须要有产品backlog,其中包括团队对它进行的估算;
2.3:团队必须要有燃尽图,而且要了解他们自己的生产率;
2.4:在一个sprint中,外人不能干涉团队的工作;

3:产品负责人之外的人也可以向产品backlog中添加故事,但是他们不能说这个故事有多重要,这是产品负责人独有的权利。他们也不能添加时间估算,这是开发团队独有的权利;

4:我尽力把内部质量和外部质量分开。
4.1:外部质量是系统用户可以感知的。运行缓慢、让人迷糊的用户界面就属于外部质量低劣;
4.2:内部质量一般指用户看不到的要素,它们对系统的可维护性有深远影响。可维护性包括系统设计的一致性、测试覆盖率、代码可读性和重构等等;

5:经验告诉我,牺牲内部质量是一个糟糕透顶的想法。现在节省下来一点时间,接下来的日子里你就要一直为它付出代价。一旦我们放松要求,允许代码库中暗藏问题,后面就很难恢复质量了;

6:为了调整不同的人对故事的工作量的估算的差异,我们采用了计划扑克方法:每个人独立估算工作量,然后公开,差异比较大的成员互相沟通直至时间估算趋于一致;

7:故事是可以交付的东西,是产品负责人所关心的。任务是不可交付的东西,产品负责人对它也不关心;

8:产品负责人往往不能对技术故事的优先级作出正确的权衡;

9:只要让团队坐到一起,就会有立竿见影的成效。过上一个sprint,团队就会认为挪到一起是绝妙的主意。“一起”具有以下含义:互相听到,互相看到,相对独立(团队突然开始激烈讨论,不会影响团队外的任何人);

10:我们的目标是在每个sprint之间安排一个实验日(这一天员工可以干任何想干的事情),目前实际执行的是每个月有一个实验日,放在每个月的第一个星期五;

11:TDD(测试驱动开发)很难,但是在一开始没有用TDD进行构建的代码库上实施TDD……则是难上加难!

12:如果你深陷手工回归测试的泥潭,打算让它自动化执行,最好还是放弃吧。首先还是应该想办法简化手工回归测试,然后再考虑将真正的测试变成自动化执行;

13:我的经验是:宁可团队数量少,人数多,也比弄上一大堆总在互相干扰的小团队强。要想拆分小团队,必须确保他们彼此之间不会产生互相干扰;

14:我们在实施Scrum的时候,所做的第一件事情就是打乱基于组件的团队,创建跨组件的团队。它减少了诸如“我们没法完成这个任务,因为我们在等服务器那帮家伙完成他们的工作”之类的情况发生;

15:“团队凝聚力”是Scrum的核心要素之一,如果一个团队合作工作达多个sprint之久,他们就会变得非常紧密。他们会学会如何达成团队涌流(group flow),生产力会提升至难以置信的地步。

《硝烟中的Scrum和XP》:作者主导Scrum过程的实战经验,四星推荐的更多相关文章

  1. 【在网页中获取截图数据】Chrome和Firefox下的实战经验

    [转载自我在segmentfault的专栏:https://segmentfault.com/a/1190000004584071] 最近在实现一个功能,需求如下: 前提:当前页面无弹窗 页面任意位置 ...

  2. 硝烟中的Scrum和XP

    硝烟中的Scrum和XP 初次接触Scrum和XP(更加准确的说是"看到"),心里不免有些疑问,软件开发为什么会有如此多的方式,难道软件开发.软件工程不就是写写代码的事儿吗?直到后 ...

  3. 硝烟中的Scrum和XP-我们如何实施Scrum 12)发布计划 13)组合XP

    12 怎样制定发布计划, 处理固定价格的合同 一次只计划一个sprint的事情会显得提前量不足, 提前做计划是个好习惯; 尤其是签了固定价格的合同之后, 不得不预先计划好, 防止无法按期交付的危险情况 ...

  4. SCRUM与XP的区别和联系

    相同点:SCRUM和XP都是敏捷开发的方法论,都体现了快速反馈,强调交流,强调人的主观能动性等基本原则,而且多数“最佳实践活动”都互相适用. 不同点:Scrum非常突出Self-Orgnization ...

  5. Dev环境中的集成测试用例执行时上下文环境检查(实战)

    Dev环境中的集成测试用例执行时上下文环境检查(实战) Microsoft.NET 解决方案,项目开发必知必会. 从这篇文章开始我将分享一系列我认为在实际工作中很有必要的一些.NET项目开发的核心技术 ...

  6. Java中的成员初始化顺序和内存分配过程

    Java中的成员初始化顺序和内存分配过程 原帖是这样描述的: http://java.dzone.com/articles/java-object-initialization?utm_source= ...

  7. Webfrom 生成流水号 组合查询 Repeater中单选与复选控件的使用 JS实战应用

                                             Default.aspx 网页界面 <%@ Page Language="C#" AutoE ...

  8. Webfrom 生成流水号 组合查询 Repeater中单选与复选控件的使用 JS实战应用

                                             Default.aspx 网页界面 <%@ Page Language="C#" AutoE ...

  9. xp硬盘安装Fedora14 过程记录及心得体会(fedora14 live版本680M 和fedora14 DVD版本3.2G的选择)

    这次电脑奔溃了,奇怪的是直接ghost覆盖c盘竟然不中.之前电脑上硬盘安装的fedora14操作系统,也是双系统.不知道是不是这个问题,记得同学说过,在硬盘装fedora之后,要手动修改c盘隐藏的那个 ...

随机推荐

  1. 正确的前端传后台json方式

    DEMO: var data=JSON.stringify({"page": {"pagenow": 1,"pagesize": 20},& ...

  2. 静态代码审查工具FxCop插件开发(c#)

    FxCop是一款微软官方提供的.net平台代码审查工具,目的是检查我们编写的程序集的代码是否符合规范.FxCop默认提供的是微软默认的审查规则,而且该规则符合<Framework DesignG ...

  3. JSON+YAML初步学习+ciscoconfparse

    Git git clone 在github.com右上角点击加号创建新的repository 在Linux或Mac命令行下,找到你想存放这个repository的目录,然后git clone 某个re ...

  4. Code First :使用Entity. Framework编程(1) ----转发 收藏

    这个是在学习EF CodeFirst时发现的,对于初学者还是不错的.果断转发,方便自己以后查阅和学习. 对于学习Code First 这个教程讲解的还是很详细. 第一章:欢迎来到Code First ...

  5. jquery的insertBefore(),insertAfter(),after(),before()

    insertBefore():a.insertBefore(b) a在前,b在后, a:是一个选择器,b:也是一个选择器 <!DOCTYPE html> <html> < ...

  6. 使用ruby搭建简易的http服务和sass环境

    使用ruby搭建简易的http服务和sass环境 由于在通常的前端开发情况下,我们会有可能需要一个http服务,当然你可以选择自己写一个node的http服务,也比较简单,比如下面的node代码: v ...

  7. Learn RxJava

    Learn RxJava http://reactivex.io/documentation/operators.html https://github.com/ReactiveX/RxJava/wi ...

  8. No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=i386)

    今天在运行一个老ios项目的时候,突然报错:No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VAL ...

  9. 【C语言】C语言函数

    目录: 1. [函数注意点] 2. [函数目的] 3. [函数格式] 4. [函数定义前需明确的条件] 5. [函数的形参.实参] 6. [函数返回值注意点] 7. [为什么要return] 8. [ ...

  10. iOS cookie问题

    获取cookie时汉字应转换为UTF8格式