关于XP编程的思考
关于XP编程的思考
不死的达芬奇 发表于9个月前
关于XP编程的思考
  • 发表于 9个月前
  • 阅读 12
  • 收藏 0
  • 点赞 0
  • 评论 0

移动开发云端新模式探索实践 >>>   

摘要: 极限编程(Extreme Programming,XP)是一门针对业务和软件开发的规则,它的作用在于将两者的力量集中在共同的、可以达到的目标上。它是以符合客户需要的软件为目标而产生的一种方法论,XP使开发者能够更有效的响应客户的需求变化,哪怕是在软件生命周期的后期。它强调,软件开发是人与人合作进行的过程,因此成功的软件开发过程应该充分利用人的优势,而弱化人的缺点,突出了人在软件开发过程中的作用。极端编程属于轻量级的方法,认为文档、架构不如直接编程来的直接。

XP等轻量开发方法认识到,在当前很多情况下,按传统观念建立的大量文档,一方面需要消耗大量开发资源,同时却已失去帮助“预见、管理、决策和控制的依据”的作用。——百度百科

其实XP编程,听起来很酷炫,无非就是将更多的开发资源由文档撰写转移到代码的编写、测试与code review上;而且XP编程是摒弃加班的,认为加班是摧毁开发创造力的一种严酷的方式。

个人认为所谓XP编程,就是充分调动开发的工作积极性,在处理繁杂业务的同时也不乏获得了技能的提升,减少了维护文档的工作其实也不是一劳永逸的,也会产生一些反面和消极的结果。比如后续新同事的加入,没有时间培训的话,只能通过之前的技术文档进行学习。欠下的技术债和文档债同样需要补。虽然通过XP的各个流程——工期和成本评估规划、简答设计、结对编程(重要的环节)以及测试驱动开发和持续集成,可以让开发测试成本降到最低,也能维持很高的人员留存率,但是应对公司重大变动(比如缩减开支,团队变迁等情况)时的灵活性还是差了点。而且XP编程还强调沟通和反馈的敏捷性。所以如果你的团队里有个环节的人员出了问题,那整个项目链条就会导致崩塌。所以对于招聘这一环来说尤为重要,你就必须确定你招的人都是可以独当一面的,对于招聘人员的素质考验还是挺大的。

综上所述,XP编程并不适合所有的组织和团队,他尤其适合小微型企业,如果大型企业中进行XP编程的实施,也应当将团队的粒度细化到功能项和需求点上面。这样才能做到真正的敏捷。

欢迎大家通过讨论的方式各抒己见。多谢!

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 38
博文 40
码字总数 37909
×
不死的达芬奇
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: