XP极限编程
价值观:
勇气:有勇气接受挑战,为项目挺身而出。
尊重:团队伙伴相互尊重,团队中的每个人都信任彼此能完成任务。
沟通:极限编程强调沟通,采用建立信息化场所(洞穴和公共区域布局),信息放射源,渗透式沟通来增加沟通的效率。
反馈:通过迭代,持续集成,审查,单元测试等促进反馈,从而达到不断的改善。
简单:尽可能减少不必要的工作,这是一门艺术。
迭代时间盒:
季度循环及周迭代,团队会为每个迭代增加松弛,提高迭代调整的灵活性。
Scrum与极限的区别:
Scrum关注项目管理和产品开发,主要用来使团队更有组织。极限编程主要还是迭代和增量的应用,缺乏scrum的结构性和严格性,如没有scrum中对会议时间盒的具体要求。同时,极限编程采用了更多的技术实践提高项目的敏捷性。
XP的技术实践:
计划游戏:快速制定计划、随着细节的不断变化而完善。
小版本:系统的设计要能够尽可能早地交付。
用户测试:要求至少有一名实际的客户代表在整个项目开发周期在现场负责确定需求、回答团队问题以及编写功能验收测试。
集体代码所有制:每个成员都有更改代码的权利,所有的人对于全部代码负责。
编码标准:强调通过指定严格的代码规范来进行沟通,尽可能减少不必要的文档。
可持续开发速度:要求项目团队人员每周工作时间不能超过40小时,加班不得连续超过两周,从而保证开发的速度的稳定。
比喻:通过隐喻来描述系统如何运作、新的功能以何种方式加入到系统。它通常包含了一些可以参照和比较的类和设计模式。
持续集成:提倡在一天中集成系统多次,而且随着需求的改变,要不断的进行回归测试,避免了一次系统集成带来的困境。
测试驱动:先写测试代码再编写程序。
重构:代码重构是指在不改变系统行为的前提下,重新调整、优化系统的内部结构以减少复杂性、消除冗余、增加灵活性和提高性能。
简洁设计:任何时候都应当将系统设计的尽可能简单。不必要的复杂性一旦被发现就马上去掉。
结对编程:由两个程序员在同一台电脑上共同编写解决同一问题的代码。通常一个人负责写编码,而另一个负责保证代码的正确性与可读性。
课程:PMI-ACP®免费课程丨网络课程