硝烟中的Scrum和XP读书笔记(5)

上一篇 / 下一篇  2014-05-22 17:05:30 / 个人分类:测试

第十一章 sprint之间的休息

第十二章 怎么制定发布计划 处理固定价格的合同

发布计划最重要的是验收标准。

一个发布,一般包含若干个sprint。所以每个sprint的验收标准和整体发布计划的验收标准都很重要,能保证每个阶段按时完成。

产品计划如同一个超大的sprint计划。时间也是团队进行估算。生产率也是依据团队的能力进行预估。

设置好整体的发布计划,就可以在不同的sprint根据优先级塞满各个任务。

sprint的计划要保证发布计划能够按时完成。调整发布计划是要先调整sprint计划,然后根据sprint计划调整发布计划。

第十三章 怎么结合使用Scrum和XP

Scrum注重的是管理和组织实践。它是一个框架,不会告诉你具体做什么,一切都要实践。
XP关注的是编程实践。它关注的是如何让开发过程更加敏捷

所以二者是不同领域的方法,才能有效的结合起来。

当然,两个也有很多重叠的地方,但是基本上重叠的地方都是Scrum为主。例如:团队是个整体,坐在一起,故事,计划等。

下面说一些XP的实践:

1. 结对编程
1)提高代码质量
2)集中团队的注意力
3)反对结对编程的人是因为没真正用过
4)精神和体力损耗大,不能一直不停
5)结对要经常互换
6)提高知识的传播速度
7)不能不习惯就不推动
8)必要时从代码审查开始
9)不是真的两个人只有一台机器
10)不要强制
11)结对不是两个人干一个人事,是两个人共同干两个人的有交叉的事
12)结对的工作量比单独一个人的要多

2. 测试驱动开发(TDD)

测试驱动开发意味着你要先写好自动化测试,然后编写能通过该测试的代码,然后重构代码,提高可读性和消除冗余,然后整理一下,添加comment。

1)TDD很难。其实你只是不愿与是习惯它
2)TDd对系统设计的正面影响很大,你做开发之前,就想到了很多没说清楚的细节
3)TDD不是一开始就能用上,需要过一段时间,尤其是在黑盒的集成测试特别有益
4)需要有经验的人和合适的工具进行推广
5)需要额外的资源创建基础库

一般常用的工具有:
1)Juint/HttpUnit/Jwebunit
2)TestNG/Selenium
3)Cucumber/Webdriver/Watir
4)HSQLDB
5)Jetty
6)Cobertura
7)Spring

一般都是现在新代码上开始TDD,直接将测试代码开发在新代码中。虽然开始有很多额外的开销,但是你会发现会节省大量的后期维护开销。

在旧代码上开始TDD很难,因为基本上就是要重新开发了。所以,需要找出那些减少手工测试的入口,然后开发一系列的工具。

如果你已经陷入了手工回归测试的泥沼,不要企图将它自动化。 首先要做的是减少回归测试的范围和深度,建立特殊检查点来判断回归的覆盖率,然后才考虑,那些东西可以自动化,减少时间。


3. 增量设计

增量设计是指一开始要保持设计的简单化,不断的进行改进,而不是为了保持不出错,就不允许更改。

持续的设计改进,很大程度上要依赖TDD。

4. 持续集成

持续的集成,每天自动测试,自动发送报告。但是需要巨大的精力去开发维护集成环境。

5. 代码的所有权

要保证代码是集体所有权,也就是说,每一块代码都不是只有一个人能够维护,每个人都有自己的backup。

6. 充满信息的工作空间

项目助理的作用就是每天将新的信息发布给所有人感知,去掉那些以及各过时的信息的影响

7. 代码标准

代码可以有风格,但是必须遵循一致的标准。

8. 可持续的开发速度/精力充沛的工作

加班工作会影响开发效率。 定时上下班的效率比你想象的要高。





TAG: 敏捷

 

评分:0

我来说两句

日历

« 2024-04-17  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 150359
  • 日志数: 185
  • 文件数: 6
  • 建立时间: 2007-08-06
  • 更新时间: 2015-01-06

RSS订阅

Open Toolbar