XP等轻量开发方法认识到,在当前很多情况下,按传统观念建立的大量文档,一方面需要消耗大量开发资源,同时却已失去帮助“预见、管理、决策和控制的依据”的作用。——百度百科
其实XP编程,听起来很酷炫,无非就是将更多的开发资源由文档撰写转移到代码的编写、测试与code review上;而且XP编程是摒弃加班的,认为加班是摧毁开发创造力的一种严酷的方式。
个人认为所谓XP编程,就是充分调动开发的工作积极性,在处理繁杂业务的同时也不乏获得了技能的提升,减少了维护文档的工作其实也不是一劳永逸的,也会产生一些反面和消极的结果。比如后续新同事的加入,没有时间培训的话,只能通过之前的技术文档进行学习。欠下的技术债和文档债同样需要补。虽然通过XP的各个流程——工期和成本评估规划、简答设计、结对编程(重要的环节)以及测试驱动开发和持续集成,可以让开发测试成本降到最低,也能维持很高的人员留存率,但是应对公司重大变动(比如缩减开支,团队变迁等情况)时的灵活性还是差了点。而且XP编程还强调沟通和反馈的敏捷性。所以如果你的团队里有个环节的人员出了问题,那整个项目链条就会导致崩塌。所以对于招聘这一环来说尤为重要,你就必须确定你招的人都是可以独当一面的,对于招聘人员的素质考验还是挺大的。
综上所述,XP编程并不适合所有的组织和团队,他尤其适合小微型企业,如果大型企业中进行XP编程的实施,也应当将团队的粒度细化到功能项和需求点上面。这样才能做到真正的敏捷。
欢迎大家通过讨论的方式各抒己见。多谢!