以下是我在公司内参与应用XP软件工程方法项目后的一点儿想法,欢迎各位同仁讨论:
1、XP开发方式是不适合较长周期的开发任务。
时间一长,由于缺乏相关的文档资料,则项目中所涉及到的各种管理和控制都将一团混乱。例如需求和版本之间的同步关系,测试方案和需求之间的同步关系,还有BUG和BUG修订之间的控制,需求变更和设计变更的控制等。 个人认为,XP的开发,适合不超过两个月的项目周期。 千万不要只是用XP的名义,而实际上却是一种作坊式的开发方式。
2、勇气
XP要求“以勇气面对变更”。勇气是要的,但更重要的是要看到变更所带来的后果。以无谓的勇气做出了变更,结果拖延了任务周期,时间人力资源上的损耗,不足以弥补变更所带来好处,则得不偿失。而且,这“变更”,应该指的是需求上的变更,如果在开发过程中,在需求稳定的情况下,出现设计上的变更,则要好好反思一下组内的系统设计思想了。
3、无谓的争论
在XP中,注重组内人员之间的交流沟通,但这种沟通同样需要控制。由于每个成员都有自己的设计思想,因此,对同一目的的问题往往有自己的解决办法。在争论过程中,经常会出现能达到相同目的的两种或多种路径之间的争论。这在软件开发中很常见。通常这种争论会由于软件人员的不服输的性格而持续很久,而且往往最后会变成不是对技术的探讨,而变成嘴皮子口水的打架。这种争论就需要控制。个人认为比较好的办法是将自己的观点写下来,列出其优劣,然后由决策人,或经验更丰富的人来做出决策和判断。
4、管理角色
无论是XP还是其他的开发方式,管理角色是必不可少的。首先其职能一定要符合他的角色。做管理同时做开发,结果只能是拖延进度,或为了管理者的开发更改其他模块的设计。个人以为,项目的管理者,其实是为了项目更顺利进行,为系统分析人员与客户交流提供便利,为设计开发人员清除一切与开发无关的障碍,为技术支持维护实施人员提供必要的条件,监督进度,矫正方向,满足项目进程中的各种需求。同时,同一个项目的管理角色不能多,否则,会陷入长时间的争论和停滞,极端的情况可能出现互相推委责任的情况。
5、一点补充:职责明确
在XP的应用过程中,一定要严格遵循每个人对自己代码的完全拥有性。而且,任务的安排与分配,一定要按照预定好的严格执行。防止不断的变更出现,以免造成不必要的职责纠纷。
回复:我不知道我为什么不能回复我的文档。所以我写在这里。对于gigix的说法,我表示同意,可是请问,你对于没有文档的项目管理,采用什么办法呢。xp不是没有文档,是优先级别比较低而已。文档一定要有,为了以后的维护等方面。我其实很难想象没有文档的软件项目管理和维护。或许真有这方面的高人?
回复:我发这文章是为了更好的讨论和提高。第一,希望speedies能说明你自己的看法,不要无聊的全盘拷贝我的话;第二,请speedies说明为什么以“它”来指代我,如果表示不同意见,可以说出,但不要人身攻击,对于文章本身内容,你并没给出什么反驳;第三,我来CSDN是为了提高技术,不是来找无聊的;第四,请speedies给出你对我文章中观点的不同意见(我只是揣测,认为你如果没什么意见的话,不可能对我人身攻击,不过或许我又错了,你只是因为想骂我?)