敏捷开发和极限编程初识

敏捷建模(Agile Modeling,AM)是一种态度,而不是一个说明性的过程。AM是敏捷建模者们坚持的价值观、敏捷建模者们相信的原则、敏捷建模者们应用的实践组成的集合。AM描述了一种建模的风格。当它应用于敏捷的环境中时,能够提高开发的质量和速度,同时能够避免过度简化和不切实际的期望。

AM是对已有方法的补充,而不是一个完整的方法论。AM的主要焦点是在建模上,其次是文档。AM并不是要反对文档。文档的创建和维护都会增大项目涉众的投资。敏捷文档尽可能的简单,尽可能的小,目的只集中在和目前开发的系统有直接关系的事情上,充分了解受众的需要。

AM的价值观包括了五个价值观:沟通、简单、反馈、勇气、谦逊。另外,AM定义了一系列的核心原则和辅助原则。如下:

  主张简单:最简单的解决方案就是最好的解决方案;
  拥抱变化:需求时刻在变要求人们对于需求的理解也时刻在变;
  可持续性:你在开发的时候,你要能想象到未来;
  递增的思想:你只要开发一个小的模型,或是概要模型,打下一个基础,然后慢慢的改进模型;
  令投资最大化:不浪费资源;
  有目的的建模:要确定建模的目的以及模型的受众,在此基础上,再保证模型足够正确和足够详细;
  多种模型:开发软件需要使用多种模型,因为每种模型只能描述软件的单个方面;
  高质量的工作:没有人喜欢烂糟糟的工作;
  快速反馈:从开始采取行动,到获得行动的反馈,二者之间的时间至关紧要。和其他人一共开发模型,你的想法可以立刻获得反馈;
  软件是你的主要目标:软件开发的主要目标是制造出满足需要的软件,而不是制造无关的文档;
  轻装前进:模型不应太复杂,模型越复杂,越详细,发生的改变极可能就越难实现;
  内容比表示更重要:一个模型有很多种的表示方法,不一定是用建模工具软件;
  开放诚实的沟通:人们需要能够自由的提出建议,而且人们还应该能够感受到他们是自由的;
……..

极限编程(Extreme Programming,简称XP)是由KentBeck在1996年提出的。极限编程是一个轻量级的、灵巧的软件开发方法,是一种控制开发过程的思想,不是定义一个具体的开发流程。它的基础和价值观是交流、朴素、反馈和勇气;XP认为任何一个软件项目都可以从四个方面入手进行改善:加强交流;从简单做起;寻求反馈;勇于实事求是。

XP是一种近螺旋式的开发方法,它将复杂的开发过程分解为一个个相对比较简单的小周期;通过积极的交流、反馈以及其它一系列的方法,开发人员和客户可以非常清楚开发进度、变化、待解决的问题和潜在的困难等,并根据实际情况及时地调整开发过程。

XP要求项目团队遵循13个核心实践:

  团队协作(Whole Team)
  规划策略(The Planning Game);
  结对编程(Pair programming)
  测试驱动开发(Testing-Driven Development)
  重构(Refractoring)
  简单设计(Simple Design)
   代码集体所有权(Collective Code Ownership)
  持续集成(Continuous Integration)
  客户测试(Customer Tests)
  小型发布(Small Release)
  每周40小时工作制(40-hour Week)
  编码规范(Code Standards)
  系统隐喻(System Metaphor)

总而言之:
‘敏捷’这个词是指软件开发的一种理念。好些个方法都可以归入敏捷型旗下,如极限程序设计(XP),Scrum,精悍开发(Lean Development)等等。每种方法都有自己特定的思路、社群和领军人物。它必须要遵循一些相同的原则。每个社群也从其他社群中借鉴相互的思想与技术。也有许多人士在不同的社群间来来往往,因此把不同的思想传来播去。所有这些都让敏捷社会成为一个复杂而动态的生态系统。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值