极限编程是最流行的敏捷方法之一。第一个极限编程的项目发生在1996年。迄今为止的二十多年中,极限编程被全球众多不同行业、不同规模的企业采用,并成功发挥出显著的效果。
极限编程之所以能在采用它的企业中获得成功,是因为它高度强调客户满意。这种方法并不尝试一次交付所有可能在遥远的将来用到的功能,而是在真正需要时交付最有价值的软件。极限编程使软件开发者满怀信心地响应客户的需求变化,哪怕在交付项目的后期也同样如此。
极限编程强调团队协作。在一支高度协同的团队中,管理者、客户、开发者都是平等的合作伙伴。极限编程营造了简单而有效的协作环境,使团队最大程度地发挥其生产力。团队自发地组织起来,尽可能高效地解决问题。
极限编程从五个方面提升软件项目:沟通、简单、反馈、尊重、勇气。
极限编程最令人惊讶的一点是,它的规则非常简单。采用极限编程很像在玩拼图游戏,你会看到很多小片的拼图,每一个小片单独看起来没有意义,组合起来就会看见一幅完整的图景。这些规则乍一看可能显得幼稚笨拙,但在它们背后有着坚实的价值观和原则支撑。(题图:XP的生命之环)
极限编程的规则为团队成员设置了彼此之间的期望,但规则本身不是团队最终追求的目标。你会发现,这些规则构建起了一个良好的工作氛围,鼓励团队协作和充分赋权。在这样的氛围下,卓有成效的团队协作会逐渐成型,此后即便规则随着公司的需求而调整,高效的团队协作也会延续。
极限编程(XP)建立于一些基础的价值观之上。我们前面探讨的规则,即是最大化体现这些价值观的自然延展和结果。XP不是一套死板的规则集,而是一种与个人价值和企业价值相协调的工作方式。基于以下所列的XP价值观,极限编程的实践者可以补充自己相应的规则,以适应实际工作中的变化。
只做必须做的事,过犹不及。以此最大化投资价值。以简单、小步骤来达成目标并排除故障。创造引以自傲的东西,并以合理的成本长期维护它的发展。
每个人都是团队的一部分,团队成员每天都要有面对面交流的机会。无论需求分析还是编码,大家都可以一起工作。用最好的方案解决问题。
通过发布可工作的软件来认真兑现每一次迭代承诺。尽早、尽可能频繁地演示软件,然后认真倾听、做出相应的改变。调整开发流程以适应项目,而不是僵化地遵从既定流程。
每个人在团队中都是有价值的存在,理应得到尊重、并给予他人尊重。即便是简单的热情,也是一种贡献。开发人员要尊重客户的专业性(反之亦然),管理者要尊重开发人员在工作中的权利和义务。
真实反应项目进展和状态。不要为失败找借口,因为我们的目标是成功。无需恐惧,因为我们是一起战斗。勇于拥抱变化。
接下来,你可以继续深入了解极限编程: