接
http://fly-ever.iteye.com/blog/251911
3,adopting agile practices :敏捷实践采纳策略
two tables;
Pattern to Business Value Mappings
practices and clusters that improve business value
Pattern to Smell Mappings
practices and clusters that alleviate smells
以商业价值为中心Be business-value focused
面向目标Be goal-oriented
采用迭代的方式来采纳实践Adopt iteratively
使用敏捷的方法来采纳实践Be agile about you adoption
测试驱动的采纳策略Test-Driven Adoption strategies:
this loop-set a goal,adopt a practice,then validate the practice against the expected goal-is a 'test-driven adoption strategy'
第二部分:模式
介绍:什么是模式
模式是被发现而不是被创造出来的。
本书中的模式以下面的格式来描述:
名称
描述:实践或者实践集合的一个简短介绍。
{依赖图:}一个表示内部依赖或者集合关系的图形。
商业价值:一个分好类的该实践或者实践集合能提升的商业价值描述。
Sketch概述:一个虚构的故事,用来描述这个模式在软件开发中应用的环境。
上下文环境:适应的前置条件和环境,环境为一系列不变量的集合:通过应用这个模式,这些问题不会变化。
Forces模式能解决的问题:
Therefore:模式描述
Adoption:
But:
Automated Developer Tests (Abstract Pattern):
开发者写好一系列测试,来减少寻找和修复bug所用的花费——因此来提高代码质量——并且使得如果需求按增量式变化时能够适应设计的变化。Disciplined writing of tests encourages loosely coupled designs。
依赖于Test-First Development 和Test-Last Development 。代码集体所有。
商业价值:
通过在开发周期的早期发现错误来提高质量。灵活性和产品生命周期得到提示,通过创造一个用测试和重构构成的‘安全网’。早期价值是显而易见的,不太明显的好处是Automated Developer Tests也能减少推出市场的时间以及通过缩减开发时间而节约的开发成本。
概述:
采纳:执行实践时采取的步骤
1, 写的测试代码作为一个小组来提交。
这是一个人的问题而不是工具的问题。
认同测试代码和产品代码同样重要。
认同相对于一个没有测试代码的功能实现,没有功能实现更好。
认同耐心,在当前的项目基础上,可能需要花费2到6个月才能养成这个实践的习惯,并且明显的感受到该实践带来的好处。
2, 找一个易用的工具。
3, 象对待产品代码一样对待测试代码,测试代码也应该被好好设计。
4, 努力从其他地方得到帮助:同事,书籍,网络。简单的方法没必要测试。
5, 代码集体所有来支持团队开发。
6, 考虑结对编程来降低团队的学习曲线。
7, 从现在开始,写测试代码。虽然之前会花费很多时间,但是最后,他将提高你的速度。
8, 测试时的初始数据会与时俱增,两个方法解决这个问题:
a) 公有的初始代码放到公有类中,这些类承担创建类和测试数据的任务——他们是一种特殊的工厂类型。
b) 使用Mocks和Stubs来保持对象的简洁。
9, 两种方法都行,重要的是要达成共识,使用其中的一种方法并遵守它。
10, 使用Mock对象和Stubs来测试与外部通信的类。
11, 如果使用ObjectMother,避免添加太多新的工具。
但是:
这个实践是脆弱的,它需要团队中的每个人都执行。
测试代码也需要好的设计,需要好的质量。
测试有时候不被人重视:我们在这里打破了好的设计的规则,不可避免会导致脆弱的代码和难写的测试。对待测试代码需要如产品代码一样。
写测试代码,尤其是对已存在的没有写测试的代码补上测试代码,将会很困难,但不能放弃。
所有的测试代码应该一直被运行,并通过——没有任何借口。
过度强调测试代码覆盖率的重要性。
1, 测试代码覆盖率与测试质量不同。
2, 测试代码和被测试方法可能并不是一对一的关系,而是多对多的关系。而代码覆盖率则是一对一的测试形式。
Variations
有两种类型的自动测试。Test-First Development和Test-Last Development。
Test-Last Development
Test-Last Development involves writing test after writing the code to support the requirements for a particular task.they exercise the system as it has already been built.
商业价值:
与Automated Developer Tests商业价值一样。
Sketch
Test-First Development
Test-First Development involves writing tests before writing the production code that will support and eventually pass that test.Tests resulting from this practice tend to be a developer’s understanding of requirements because there is no “design” at its inception.
商业价值:
与Automated Developer Tests商业价值一样。一般来说,Test-First 和 Test-Last开发都达到一样的商业价值,而Test-First development 更加有效率,但也更难被采纳。
Adoption:
如何采纳这种模式:
1, Required,一个团队一起学习这项实践,对团队中每个人都要有耐心。至少要在两个月内不去怀疑这项实践,把开发的速度放慢。
2, Recommended,把团队成员送到TDD培训班。
3, Highly Recommended,提供帮助(外部或者内部的)使团队能上手,有某个已经实践过TDD的人,来跟这些开发者结对编程,帮助他们学习这个技术。一般的,需要一个人在每个月中拿出一周来与4到5个开发者结对编程,这样持续几个月。
4, Highly Recommended,采纳结对编程。
- 大小: 102 KB
- 大小: 141.6 KB
- 大小: 22.3 KB
分享到:
相关推荐
Proven Patterns and Techniques for Succeeding with Agile in Your Organization Agile methods promise to help you create software that delivers far more business value—and do it faster, at lower cost,...
读书笔记:Agile+Java+测试驱动开发的编程技术(例子+习题)
Agile Principles, Patterns, and Practices in C# 英文版(chm格式),一本学习设计模式的好书
ePUB格式。可用iBook阅读。 本书概要介绍了如何设计好面向对象软件。重点是SOLID设计原则。另外简单介绍了如下一些内容: 1.敏捷过程,Scrum和看板。 2.重构 3.依赖注入
敏捷开发设计模式和SOLID原则, 提高编码能力必备, 英文版
英文扫描版,在别人的基础上加了目录
[免费PDF高清]敏捷软件开发(英文版)Agile Principles, Patterns, and Practices in C#.rar [免费PDF高清]敏捷软件开发(英文版)Agile Principles, Patterns, and Practices in C#.rar
在本篇“Agile Java学习笔记【二】”中,我们将深入探讨敏捷开发方法与Java编程的结合,以及如何在Eclipse集成开发环境中利用Ant工具进行构建和测试。敏捷开发是一种以人为本、迭代、逐步发展的软件开发方法论,强调...
Sim-to-Real: Learning Agile Locomotion For Quadruped Robots笔记 Sim-to-Real: Learning Agile Locomotion For Quadruped Robots笔记 Sim-to-Real: Learning Agile Locomotion For Quadruped Robots 笔记
资源区很多打开看不到,本资源已测,内容完整
Agile.Software.Development:Principles,Patterns.and.Practices
Adaptive Code Agile coding with design patterns and SOLID principles(2nd) 英文azw3 第2版 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
这本书指导其读者制定采用敏捷实践的策略。 然后,该策略直接与描述有多少团队成功(但未成功)采用这些实践的模式相关联。
**RDO Agile Framework**可能是书中介绍的一种敏捷框架,"RDO"可能代表某个特定的敏捷实践或方法,但具体含义需要根据PPTX文件的内容来解读。通常,敏捷框架包括但不限于Scrum、Kanban、XP(极限编程)、Crystal、...
2. 敏捷方法论:书中详细讲解了Scrum、XP(极限编程)等敏捷框架,强调迭代开发和持续集成,帮助读者理解如何在C#项目中实施敏捷流程,提高开发效率和软件质量。 3. 设计模式:作者深入浅出地介绍了工厂模式、单例...