随笔-313  评论-12138  文章-1  trackbacks-256

完成这最后的20%——《持续集成——软件质量改进和风险降低之道》书评

“当一个项目经理或一名开发者说已经完成了80%的任务,您必须保持审慎的态度。因为剩下的20%可能还需要80%的时间,甚至永远都不能完成。”

上面这段话来自于《持续集成——软件质量改进和风险降低之道》的译者序。仔细想想,此话说得相当有道理:程序员是一群自信而乐观的人,总是以为自己已经考虑到了方方面面,所编写的模块万无一失、无懈可击。哪怕遇到了问题,也总会找到理由:是不是需求或是别人出了问题——一句最为流行的Developer应对Tester的Bug Report的话就是,“It is not a bug, but it is a feature.”。

不过即使程序员有千万种理由为自己的模块洗清了一切的“罪名”,但客户需要的上线或发布时间却仍旧无声地等在那里,不以任何人的借口而改变。

回到本文开始的那段译者序文字中,那“剩下的20%”究竟要用来做什么呢?为什么“可能还需要80%的时间”呢?

答案就是集成。虽然流行的软件开发理论已经把模块/组件之间的耦合程度降低到了最低,且有无数种类似单元测试的“流程”保证这每一个独立模块功能的正确性,不过当把这些堪称“完美”的模块集合成一个整体系统时,还是会不停地出现各种问题?

 

OK,让我们停止探讨为什么会发生这样的情况之类无谓的探讨,而是去看看应该怎样解决这个问题,并最终保证产品的发布时间和质量——毕竟问题已经发生了。

——持续集成。

持续集成能够把最终的一次大规模的集成调试过程分散到项目开发时间表的每一周、每一天、甚至每个小时。让项目中的各个人员都能够随时掌握当前的整体进度,并迅速发现集成过程中出现的问题并进行解决。

这本《持续集成——软件质量改进和风险降低之道》的第一部分就详细介绍了持续集成的理念、相关流程以及做法。

 

目前来看,持续集成似乎看起来非常不错,不是吗?

可是,一次集成并不是说句话就能搞定的——构建、部署、测试、生成测试报告、反馈……种种操作将会占用大量的人工。难道还需要专门派人负责每天的集成吗?

因此,将所有的步骤自动化,就是实现持续集成中最为重要的问题。

《持续集成——软件质量改进和风险降低之道》的第二部分则给出了一个完善的自动化持续集成流程,让持续集成从一句空谈变为实实在在的、具有可操作性的规范。

 

不过是一本200页左右的小书,却已经毫无遗漏地将持续集成的点点滴滴娓娓道来。若你正在为这方面的问题苦恼,不妨尝试从中找到一些答案。

posted on 2008-03-12 22:23 Dflying Chen 阅读(17983) 评论(5) 编辑 收藏

评论:
#1楼 2008-03-13 09:25 | Clark Zheng      
说实话,看上去好象没什么意思
 回复 引用 查看   
#2楼 2008-03-14 09:20 | Anthan      
方法论的价值在于懂得方法的人能让他手下的人有效的去执行这些方法
 回复 引用 查看   
#3楼[楼主] 2008-03-17 12:22 | Dflying Chen      
呵呵,仅仅是一本书,具体问题还要具体分析
 回复 引用 查看   
#4楼 2008-03-18 16:07 | cikik[未注册用户]
这本书可是18届JOLT大奖得主
 回复 引用   
#5楼 2009-03-10 17:11 | Aaron Wu      
这本书已经看了几遍了,可惜一直没有机会实践……
 回复 引用 查看   
除非特别声明,本站内所有资源,包括但不限于文章,代码,图片等,均应用于Dflying版权说明
关于ASP.NET AJAX,您可以:
直接阅读ASP.NET AJAX文章分类
Atlas文章打包下载(截至4/28/2006)
加入ASP.NET AJAX学习团队
询问关于ASP.NET AJAX的问题
加入ASP.NET AJAX讨论群
阅读愚作《ASP.NET AJAX程序设计》
点击阅读
点击阅读


关于Windows Vista,您可以:
加入Windows Vista开发团队!
昵称:Dflying Chen
园龄:5年10个月
粉丝:127
关注:0

搜索

 
 

最新随笔

随笔分类(352)

随笔档案(313)

Blog Roll

Dflying的其他Blog

Online Chat

统计信息

积分与排名

  • 积分 - 2442908
  • 排名 - 7

最新评论

阅读排行榜

评论排行榜