极限编程与敏捷开发

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首先倡导的。

  ◆客户合作       胜过   合同谈判

  ◆响应变化       胜过   遵循计划

  虽然右项也有价值,但是我们认为左项具有更大的价值。

  敏捷宣言遵循的原则:

  ◆我们最优先要做的是通过尽早的、持续的交付有价值的软件来使客户满意。

  ◆即使到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优势。

  ◆经常性地交付可以工作的软件,交付的间隔可以从几个星期到几个月,交付的时间间隔越短越好。

  ◆在整个项目开发期间,业务人员和开发人员必须天天都在一起工作。

  ◆围绕被激励起来的个体来构建项目。给他们提供所需的环境和支持,并且信任他们能够完成工作。

  ◆在团队内部,最具有效果并富有效率的传递信息的方法,就是面对面的交谈。

  ◆ 工作的软件是首要的进度度量标准。

  ◆ 敏捷过程提倡可持续的开发速度。责任人、开发者和用户应该能够保持一个长期的、恒定的开发速度。

  ◆不断地关注优秀的技能和好的设计会增强敏捷能力。

  ◆简单是最根本的。

  ◆最好的构架、需求和设计出于自组织团队。

  ◆每隔一定时间,团队会在如何才能更有效地工作方面进行反省,然后相应地对自己的行为进行调整。

  当软件开发需求的变化而变化时,软件设计会出现坏味道,当软件中出现下面任何一种气味时,表明软件正在腐化。

  ◆僵化性: 很难对系统进行改动,因为每个改动都会迫使许多对系统其他部分的其它改动。

  ◆脆弱性: 对系统的改动会导致系统中和改动的地方在概念上无关的许多地方出现问题。

  ◆牢固性: 很难解开系统的纠结,使之成为一些可在其他系统中重用的组件。

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

正在加载评论...