|
在敏捷开发中所描述的《极限编程》方法学,包括以下几点。我们将在之后的课程中尽全力实践其中的一部分。(另外一部分可能因为条件关系无法应用,比如结对编程)。
极限编程方法学包括:
客户作为团队成员
用户素材
短交付周期
验收测试
结对编程
测试驱动开发方法
集体所有权
持续集成
可持续地开发速度
开放的工作空间
计划游戏
简单的设计
重构
隐喻
以上十四条方法可以在极限编程网站上找到相应的解释,我们主要的工作是在游戏开发中依次实践,最后判断其中哪些适合我们,哪些需要根据具体状况改进,或者哪些无法实现。因为本网站的项目有自己的特殊性,所以各位开发者还需要根据自己的项目作出相应的调整。但是我个人的建议是,应该先全盘接受,深刻了解;之后再逐一验证,定制剪裁。本系列教程,认为读者已经有一定敏捷开发知识,并不提供完整的敏捷开发讲座。如果没有的可以去网上看一下相关资料。
和想象的不一样,《极限编程》并不是所有部分都适合剪裁使用,这是因为其中大部分的方法相互关联影响。例:如果没有良好的测试驱动进行代码质量的管理,重构就会变得很危险(缺乏质量保证)。这也就是为什么我建议大家先全盘接受的原因,单独使用某些方法可能会让人得不到最好的效果。
下面是按照我个人的理解对敏捷开发方法之间的关系进行一下梳理,因为自身能力的原因,这个图不一定准确,不过没关系,我们同样会在之后的实践过程中迭代这个图表。

客户作为团队成员
用户素材,客户作为团队成员可以帮助完成并完善用户素材。
短交付周期,持续集成能保证随时产出可运行的产品,简单的设计能保证高速迭代快速开发,持续的验收测试保证其交付质量。
验收测试,清晰的用户素材能保证验收测试有的放矢。
结对编程,开放的空间是结对编程的前提条件,代码集体所有权让团队成员可以相互评定有益于交换结对对象,持续集成减少本地编译时间让结对变成更流畅。隐喻让结对人员沟通流畅。
测试驱动开发方法
集体所有权,持续集成可以帮助集体每个成员随时了解其他人的工作进度和问题。
持续集成,通过测试驱动来机器评测代码
可持续地开发速度,短交付周期有助于快速调整步伐,结对编程有助于提高程序员单位时间内工作的效率。
开放的工作空间
计划游戏,需要基于用户素材
简单的设计,重构可以保证简单的设计变成合理的设计。
重构,测试驱动保证重构的安全性
隐喻,基于用户素材。
在这个图中,最顶层的客户作为团队成员,测试驱动开发方法以及开放的工作空间是敏捷开发的基础,而最底端可持续地开发速度是敏捷开发的主要目标。
对这些因素得更好理解有助于我们今后对整个敏捷开发进行更好地实践。
原文发表在 http://class.gd/node/16 |
|