极限编程与敏捷开发

http://tech.ddvip.com   2008年03月28日    社区交流

内容摘要:敏捷开发过程的方法很多,主要有:SCRUM,Crystal,特征驱动软件开发(Feature Driven Development,简称FDD),自适应软件开发(Adaptive Software Development,简称ASD),以及最重要的极限编程(eXtreme Programming,简称XP)。极限编程(XP)是于1998年由Smalltalk社群中的大师级人物Kent Beck首先倡导的。

  6、测试驱动开发

  编写单元测试是一个验证行为,更是一个设计行为。同样,它更是一种编写文档的行为。编写单元测试避免了相当数量的反馈循环,尤其是功功能能验证方面的反馈循环。程序员以非常短的循环周期工作,他们先增加一个失败的测试,然后使之通过。

  7、改进设计

  随时利用重构方法改进已经腐化的代码,保持代码尽可能的干净、具有表达力。

  8、持续集成

  团队总是使系统完整地被集成。一个人拆入(Check in)后,其它所有人责任代码集成。

  9、集体代码所有权

  任何结对的程序员都可以在任何时候改进任何代码。没有程序员对任何一个特定的模块或技术单独负责,每个人都可以参与任何其它方面的开发。

  10、编码标准

  系统中所有的代码看起来就好像是被单独一人编写的。

  11、隐喻

  将整个系统联系在一起的全局视图;它是系统的未来影像,是它使得所有单独模块的位置和外观变得明显直观。如果模块的外观与整个隐喻不符,那么你就知道该模块是错误的。

  12、可持续的速度

  团队只有持久才有获胜的希望。他们以能够长期维持的速度努力工作,他们保存精力,他们把项目看作是马拉松长跑,而不是全速短跑。

  极限编程是一组简单、具体的实践,这些实践结合在形成了一个敏捷开发过程。极限编程是一种优良的、通用的软件开发方法,项目团队可以拿来直接采用,也可以增加一些实践,或者对其中的一些实践进行修改后再采用。

  敏捷开发

  人与人之间的交互是复杂的,并且其效果从来都是难以预期的,但却是工作中最重要的方面。

  敏捷软件开发宣言:

  ◆个体和交互     胜过   过程和工具

  ◆可以工作的软件 胜过   面面俱到的文档

作者:徐景周    责编:豆豆技术应用

正在加载评论...