敏捷开发笔记(一)

 敏捷软件开发是为了防止项目开发中的过程膨胀而提出的。为此,成立了敏捷软件联盟,并创建了《敏捷软件开发宣言》。

 

 我对敏捷开发的感觉有以下几点:

一.  在开发过程中强调人以及人与人之间关系的作用。不但要求开发团队要有一个积极向上的氛围,同时强调成员与成员之间的合作和交流。例如:每两名成员组成一对,共同开发一个功能,并且这种结对要至少每天更换一次。这就保证了信息在项目组内部的流通,同时知识也更容易传播。

二.    降低了工具的作用。作者强调在开发的过程中,应当优先使用简单的工具,直到证明这些简单的工具不再适用。在书后的附录中,一个开发团队因为在项目中期引入了一个代码管理工具,而在工具的配置,培训以及修改错误上耽误了大量的时间。

三.    在每次迭代中,要优先实现已确定的素材,其次再为下一次迭代的素材作打算。在每次迭代中,要以实现当前的素材为准则。“团队最开始的工作是以尽可能最简单的方式实现第一批用户素材。只有当出现一个用户素材迫切需要改变基础结构时,他们才会引入该基础结构”。在这一点上我有一些疑惑:如果第一批素材与第二批素材在对数据库的设计上要求并不统一,那么在进行第二批素材的时候,就需要对数据库进行更改。如果类似的事情出现在项目的中后期,是否会产生不好的影响?

四.    推荐在编写代码之前,要先编写单元测试验收测试。然后以通过测试为目的来编写代码。这样“有目的的编写代码”,可以有效地降低代码的冗余。同时,单元测试可以降低代码之间的耦合。

五.    重构和隐喻很重要。我想这并不仅仅适用于敏捷开发。

posted @ 2007-08-04 09:09  Hm  阅读(209)  评论(0编辑  收藏  举报