2006年08月09日

转载 敏捷软件开发基础:进行有效的客户协作

在上篇文章(《敏捷软件开发基础:持续集成环境的搭建》)中,我们讲述了如何在团队开发中搭建起一个持续集成的环境,从而为有效地实施敏捷开发实践打下基础。其中所提到的工具和方法都是针对开发团队内部开发环境的搭建的。但是,仅仅有了一个持续集成环境还不足以开发出优秀的软件。毕竟,软件开发出来是要为客户提供价值的,要想开发出真正满足客户要求、使客户满意的软件,开发团队和客户之间的有效协作和沟通是必须的。本文就试图关注于这一方面的内容,就如何高效地进行客户协作以及这种有效协作对软件开发的重要影响展开论述。阅读全文>

发表于 @ 2006年08月09日 08:40:00|评论(loading...)|编辑

转载 敏捷软件开发基础: 持续集成环境的构建

从技术层面上来讲,"持续集成"的含义是指开发团队中的每个成员都尽量频繁地把他们所做的工作更改合入到源码库中,并且还要验证新合入的变化没有造成任何破坏。本文中,作者将介绍如何构建持续集成所需要的环境。阅读全文>

发表于 @ 2006年08月09日 08:39:00|评论(loading...)|编辑

2005年08月30日

原创 "Balancing Agility and Discipline" 中文版——《平衡敏捷与规范》终于要出版了

前年(2003)年末,接到尤晓东编辑的邀请,希望能够翻译"Balancing Agility and Discipline"一书。 由于当时工作较忙,就婉言谢绝了。后来,在尤晓东老师连续2个月的盛情邀请下,就答应翻译此书,并 于去年(2004)3月份开始翻译,6月底交稿。时隔一年,终得出版。希望此书能够对读者朋友有所帮助。内附译者序一篇。相关链接如下: http://www.dearbook.com.cn/subject/agility/ http://www.china-pub.com/computers/common/info.asp?id=26495阅读全文>

发表于 @ 2005年08月30日 14:23:00|评论(loading...)|编辑

2005年07月13日

原创 软件思考系列之二

我们在学习程序设计和语言时,往往忽视了提高应对复杂性能力方面的内容,而把精力放在了语法等一些低层次的细枝末节之上,对程序设计本身产生了很大的误解。当语言本身存在缺陷、教育不当时,后果就变得更加严重。这种状况对提高我们的处理复杂性的能力带来很大的障碍。在本文中,我仅仅关注于程序设计这个问题,就该如何来学习程序设计展开讨论,希望对大家有所帮助。阅读全文>

发表于 @ 2005年07月13日 20:27:00|评论(loading...)|编辑

2005年04月08日

原创 需求工程???

我们在进行软件开发活动中,如果在关注形式和过程的同时,更多地反思一下这些形式和过程本身的质量,更多地关注一下如何才能提高真正的软件质量――可以更快、更好地满足客户的需求,使客户满意,而不是软件开发活动是否严格符合每个过程。并把这些关注真正落实到日常的每一项活动之中,这才是真正注重实效的工程化方法。阅读全文>

发表于 @ 2005年04月08日 09:42:00|评论(loading...)|编辑

2005年03月16日

原创 清晰性和可测试性的权衡

前段时间,一直在对我们项目的程序做重构。在这个过程中,不时会有一些想法和体会,觉得很有必要和大家一起分享。碰巧,前段时间看到IEEE设计专栏上有一篇Michael Feathers的文章,是针对同样的论题的,并且所采用的手法也颇为相似,并且行文流畅,深入浅出。所以就仿照他的行文,结合自己的实践写了篇文章,和大家一起分享。阅读全文>

发表于 @ 2005年03月16日 13:03:00|评论(loading...)|编辑

2005年03月05日

原创 源代码就是设计 续篇

People have occasionally asked whether I did any follow-on writing to my "What Is Software Design" article. The answer has basically been "No, not really." I want to make it clear that that is not because I forgot about it or otherwise changed my mind. Allow me to offer a bit of explanation. 阅读全文>

发表于 @ 2005年03月05日 23:07:00|评论(loading...)|编辑

2004年11月18日

原创 测试观念谈

到目前为止,测试仍然是一种公认的检验程序正确性最为有效的手段。详尽的测试可以大大地降低程序的缺陷率。虽然缺陷率是目前一种公认的检验程序质量的指标,但是它只是一个结果,要到达大家都满意的一个指标值是要付出一定的代价的。阅读全文>

发表于 @ 2004年11月18日 18:00:00|评论(loading...)|编辑

2004年11月17日

原创 Layers, Levels, and DIP

It is often said that high level layers should depend on lower level layers. However the Dependency Inversion Principle says that high level policy should not depend upon low level details. What's up with that? 阅读全文>

发表于 @ 2004年11月17日 14:43:00|评论(loading...)|编辑

2004年11月02日

原创 自底向上设计

有经验的Lisp程序员却以一种不同的方式来分割他们的程序。和自顶向下设计对应,他们称之为自底向上设计(bottom-up design):改变语言,使之适合于要解决的问题。在Lisp中,你不是仅仅用语言来编写程序,同时你还要对语言进行增进,使之更加适用于你的程序。在你编写程序时,你会这么想:“我希望Lisp具有某某操作符。”于是你就去把它编写出来。然后,你发现使用这样一个新的操作符会简化程序其他部分的设计。语言和程序在一起演化。就像是位于两个处在战争状态国家的边界一样,语言和程序之间的边界线不断地重新划分,直到最后停留在山川、河流区域――最适合于你的问题的一个自然边界。最后,你的程序看上去就像是使用专门为它设计的语言编写的。当语言和程序相互非常匹配时,代码也会变得更加的清晰、短小、高效。 阅读全文>

发表于 @ 2004年11月02日 13:33:00|评论(loading...)|编辑

2004年09月15日

原创 Hackers and Painters

"Hackers and Painters" 好文一篇,与大家分享阅读全文>

发表于 @ 2004年09月15日 10:50:00|评论(loading...)|编辑

Csdn Blog version 3.1a
Copyright © hoping