2008年4月6日星期日

My First XP Practice

公司一直以来都采用的传统的开发模式(公司按照的是ISO9000的要求), 但由于项目客户(电信,移动) 的特殊性,项目的时间通常都是非常的紧促,项目的需求变化频度很高,我逐渐发现这种方式并不能满足客户的需求,庞大的复杂的流程,和文档反而成了项目过程 中的一种负担,大多数的过程产物最终都变成了即占物理空间,又浪费人力的储存品, 我们真的需要那些东西吗,我们生产的是软件还是文档? 我开始尝试XP...

GiGix在不完美的XP实践 谈到了一些XP的实践,下面是我的一些经验

在项目即将达到一个里程碑(或即将完成的)的时候,如果发现在确定的时间内无法完成,适当的加班是有益的,这可以使你项目在可以容忍的时间范围内保持项目发布的进度,XP项目的一个特点就是,在项目的每个小的迭代周期内要保持实时的跟踪与调整.

积极的沟通与反馈(feedback),将更加有利与对项目的进度进行控制和保持团队成员积极向上的心态。

最近我在一个项目中实施了XP中的部分实践,项目现在进行了5个多月,产品的版本发布都按照预期可控的时间进行发 布,并且工作得很好,让我感到很高兴的一件事情是:在这个过程中培养出了4个不错的新人(刚刚参加工作的本科毕业生),现在他们基本上能够单独胜任分配给 他们的任务,其中做得最出色的一个,在中途调离项目后,使用了1个多月的时间,和其它几个同事一起开发了一个中等规模的Web系统,让我非常地吃惊!

XP并没有针对特定的人,它在一定的环境下也适合新人(可塑性很强), 但是新老结合的模式下会工作得更好, 在这个项目实施的过程中,还有一件让我感觉很有意思的就是:项目在开始的时候有8个人,但随着其它的变化,在项目进行的过程中人员经常发生变动,直到最后 剩下4个人,但是这些变动并没有太大影响产品在定义的里程碑进行发布。

实践心得:

1. 要拥抱变化

2. 项目既需要目标,也需要计划 --- 《最后期限》

3. 短期的压力乃至于加班可能是有用的策略,因为它们能使员工集中精力,并且让他们感到工作的重要性。但是长时间的压力肯定是错误的 --- 《最后期限》

4. 积极的沟通反馈,能使组员之间保持一个更和睦的关系和积极的心态,同时有利于从中获得更多项目的信息,以便及时对项目进行适当的调整与控制。

5. 人是软件开发的最关键的因素

支持工具:

JUnit http://www.junit.org/ (TDD)

Maven http://maven.apache.org/ (Continueous Integration)

Eclipse http://www.eclipse.org/ (IDE)

JIRA http://www.atlassian.com/software/jira/ (Bug and Issue Tracking)

没有评论: