极限编程XP︱一文搞懂极限编程XP的关键实践
2022-11-10
来源:ZyBlog 码农老张
一提到 XP ,很多人的第一反应是微软的那个操作系统。没错,XP 似乎已经是它的代名词了。但是,在敏捷领域,也有一个 XP ,而且也是一样的如雷贯耳。那就是传说中的 ExtremeProgramming 极限编程,它的简称就是 XP 。
既然都带有编程两个字了,那么很明显这个理论框架就是出自软件开发行业。之前的文章也说过了,敏捷最初就是一帮软件大神搞出来的,而 XP ,不仅代表着敏捷,还代表着敏捷中的极限。即使你完全不了解这个 XP ,但有几个东西你一定听说过,重构、结对编程、持续集成、编码标准。我说出来了,那你也应该猜到了,这些东西都是 XP 的关键实践,也是 XP 大力推广的内容,甚至更有完全是 XP 创建的概念。
XP的核心价值
XP 是由 Kent Back 这位大神创建的一个敏捷方法框架。关于这位大神,如果你要学习敏捷,他就是绕不过去的一个人。背景问题我们就不多说了,直接进入主题,XP 的核心是什么?只有八个字。
沟通、简单、反馈、勇气
沟通不必多说,任何问题到最后都可以归结为沟通的问题。特别是在敏捷中,沟通是解决各种问题的一剂万能药。而且,沟通不仅限于敏捷项目开发,传统的 PMP 中,也有专门的一个知识领域就是 项目沟通管理 。在 XP 中,会强调客户在现场、会强调两个程序员用一台电脑的结对编程、会强调使用隐喻来说明需求,这些,都是为了更好地沟通。
整个敏捷体系都推崇简单的做事,做好事。而 XP 更是将这个简单发挥到了极限,我们在做任何的项目时,都应该从最简单的方向入手,千万不要一上来就以淘宝的架构来设计一个 PV 过不了百的小网站。而是应该一步一步地,通过不断地重构来完善系统。同时,采用测试驱动开发,来保证代码具有极高的质量。
反馈,就是收集系统、客户和团队的各方各面的回馈信息,同时,就像上面的测试驱动开发,其本质也是一种代码上的反馈。它与沟通和简单是紧密相连的。Kent Back 的原话是“编程中的乐观主义是危险的,而及时反馈则是解决它的方法。”
你有重构核心代码的勇气吗?你有提醒产品专家或客户代表不要过度设计的勇气吗。或许有的人天生就喜欢挑战自我,而有的人可能就喜欢循规蹈矩。在 XP 中,我们更倾向于用一组实践来诠释勇气,你只要在规则的限定下,在代码规范下,在测试驱动开发的框架内,那么,自然而然就能够有重构的勇气。当你明白了价值是项目和产品最重要的部分,也通过沟通获得了客户的信任,那么,你也能够有勇气指出产品设计中的问题。
除了这四大核心之外,现在还有一个词也慢慢融入到了 XP 的核心思想中,那就是 “尊重” 。尊重团队、尊重客户,尊重产品,尊重代码,更重要的是,尊重自己。在一个项目中,做到对自己负责,能够有收获,提交的都是有质量的内容;对团队负责,能够有产出,信任他们的代码;对客户负责,能够有结果,相信产品的价值;反过来,他们也自然会尊重你。一个好的 XP 团队,会把尊重放在重要的位置,我们尊重的不仅是你的代码和能力,更重要的是,我们是通过团队成员间的信任,来达到真正的尊重。
XP的生命周期
只要是牵涉到项目开发,就一定有一个生命周期的概念,PMP 是如此,XP 也是如此,后面我们要学习到的 Scrum 也会有它的生命周期。XP 的生命周期就如下图所示。
在这个图中,我们看到了 用户故事 ,注意,它很重要
免责声明:
1、IT项目管理界发布的所有资讯与文章是出于为业界传递更多信息之目的,并不意味着赞同其观点或证实其描述。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请浏览者仅作参考,并请自行核实相关内容。
2、本站部分内容转载于其他网站和媒体,版权归原作者或原发布媒体所有。如文章涉及版权等问题,请联系本站,我们将在两个工作日内进行删除或修改处理。敬请谅解!
-
延伸阅读:
-