极限编程(eXtreme Programming)敏捷方法,特别擅长于获得技术成功。
在XP中客户不仅仅是指支付开发费用的人,有时,客户是和开发人员同属于一家公司的一组业务分析师或者市场专家;有时,客户是用户团体委派的用户代表。与客户紧密合作,时刻满足客户需求,解决实际问题。
3、第三周田导进一步提出需求,完成上位机紧急报警功能;
正如上面笔者介绍的上位机项目,需求的特定细节很可能会随着时间而改变,一旦客户(田导)开始看到集成到一起的系统,就更会如此。看到可以工作的软件是关注需求的最好时刻,减少无用功,生产刚刚好的软件。
3、短交付周期
正如笔者之前的项目经历,每一个项目的结束,都会积累十几个版本的可以工作的软件,是不停迭代和完善的结果;
XP强调面对面协作。它可以如此有效地消除交流中的延迟和误解,以致于XP团队无需区分阶段(phase)。这使他们能够以“并行阶段”(simultaneous phases)每天从事于所有的活动。采用并行阶段,XP团队每周都产出可部署的软件。在每次迭代中,整个团队分析、设计、编码、测试和部署一部分特性。
随着新特性的不断添加,软件结构会逐渐退化。如果对此置之不理的话,这种退化最终会导致纠结不清,难以维护的混乱代码。
6、文档极简原则
总结
客户合作 胜过 合同谈判