浮云亚,浮云~~~- -| 回首页 | 2005年索引 | - -拯救程序员王俊

略解踌躇- -

                                      

张恂:蹦极前的踌躇
http://zhangxunzi.blogchina.com/1793828.html

恰好我也实施过一段XP,就着自己的经验略解一二。

2. Planning Game

Planning is continuous and progressive. Every two weeks, for the next two weeks, developers estimate the cost of the candidate features, and customers select those features to be implemented based upon cost and biz value. 不过,计划是场“游戏”?国内的文化似乎很难接受这种提法。

这里的“game”更多地是“I Love This Game”的用法,即“比赛”、“博弈”的意思很重。也就是说,客户希望在尽可能短的时间内完成尽可能多的feature,开发者则是要根据自己的估算告诉客户“我能做多少”,然后客户再根据开发者报出的数据挑选“我首先要做哪些”。计划是在不断的讨论和博弈过程中形成的,而不是某个人拍脑袋拍出来的,博弈的筹码就是开发者的估算数据。

8. Continuous Integration

The team keeps the system fully integrated at all times. 常见的做法。90 年代微软一直就是这么干的。

区别在于:微软做得还不彻底。XP要求集成的密度以小时计,甚至每半小时进行一次全集成也是很常见的。持续集成的密度高,使得错误不容易堆积,并且可以用于规范化程序员的工作步伐。“写测试-写代码-重构-集成”,照这个步伐工作,每天的工作量有多少,很容易估算。

9. Collective Code Ownership

Any pair of programmers can improve any code at any time. 如何防止出现混乱?

答案是:TDD。因为每块代码都有单元测试在那里保障,你的重构不可能破坏既有代码,否则你就会被持续集成那里卡住,CruiseControl会不断发邮件给你。

11. Metaphor

The team develops a common vision of how the program works. 关键是这个 vision 如何表述。

关键是XP根本就不管这事。如果拿传统制造业来比喻,“表述一个vision”属于工业设计,XP管的是生产流程。设计不行,这产品肯定做不成施华洛士奇,但XP的严格可以保证你做出来的就是你想要的——至于你想要的是不是你需要的,XP不管。从这个意义上来说,XP算是一种真正严格的工程方法。

- 作者: 透明 2005年06月22日, 星期三 14:59

Trackback

你可以使用这个链接引用该篇日志 http://publishblog.blogdriver.com/blog/tb.b?diaryID=771309

回复

评论内容: