关于敏捷开发随笔

  在浏览了Martin的blog 后才真正对敏捷开发有了一个初步的概念。首先谈一下敏捷,敏捷可以应用与任何一个软件过程。但是为了实现这一个目标,非常重要的一点是过程的设计应使项目团队适应与任务,并且是任务流水线化,在了解敏捷开发方法的流动性的前提下进行计划的制定,消除所有最基本的软件产品并精简软件开发过程,强调这样一个增量交付策略,根据具体的产品类型和运行环境,尽可能快的将切实可行的软件交付给用户。应用敏捷的软件开发模式,可以将变更费用明显降低,其原因就是增量交付的策略。

  

  下面就是要求进行敏捷过程,敏捷过程必须具有可适应性。敏捷团队需要客户的反馈以做出正确的适应性改变。其中敏捷联盟提出了12条原则:

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

  2.即使在开发后期,也欢迎需求变更。敏捷过程利用变更为客户创造竞争优势。

  3.经常交付可运行软件,交付间隔可以从几个星期到几个月,交付的时间间隔要越短越好。

  4.在整个项目开发过程中,业务人员和开发人员必须天台你都工作在一起。

  5.在团队内部,最富有效果和效率的信息传递方式是面对面交流。

  6.可运行软件是进度的首要度量标准。

  7.围绕有积极性的个人构建项目。给他们提供所需的环境和支持,并且信任他们能够完成工作。

  8.敏捷过程提倡可持续的开发速度。负责人、开发者和用户应该能够长期保持稳定的开发速度。

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

  10.简单是必要的。

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

  12.每隔一段时间,团队会反省如何才能更有效的工作,并相应的调整自己的行为。

  在敏捷开发工程中,要求团队人员必须具有以下要求:

  1.基本能力  2.共同目标  3.精诚合作  4.决策能力  5.模糊问题解决能力

6.相互信任和尊重  7.自组织

  敏捷开发有一种方式叫做极限编程,其要求开发者只对即时的需求做设计,不考虑长远需求。这样做的目的是为了使代码简化。极限编程使用单元测试来作为主要的测试策略。每进行一级开发,开发团队就设计一个单元测试来测试每个操作是否按照规定功能完成。它包含了策划、这几、编码和测试4个框架活动的规则和实践。其中,设计环节要求编程遵循保持简洁的原则,设计的故事提供不多也不少的实现,不鼓励额外功能性设计。彪马过程要求团队不是直接编码,而是开发一系列用于检测本次发布包括所有故事的单元测试,一旦建立单元测试,开发者就更能够集中精力于必须实现的内容以通过单元测试。

  另外一个重要概念就是自适应软件开发,包括思考、协作和学习三个阶段。

  敏捷建模,就是通过建模的方式保证参与者更好的理解要做什么,将问题有效的分配给个人和对正在设计和构建的质量系统进行评估。建模的要求即为:1.有目的的模型

2.使用多个模型  3.轻装上阵,即只保留提供长期价值的模型  4。内容重于表述形式,即说清楚一个内容要比完美的阐述但是难以理解的更加有效  5.理解模型及工具

6.适应本地需要,即适应团队的需要。

  针对敏捷开发,我个人认为,是一种符合如今时代发展的快速软件开发技术,拥有极高的开发灵活性,能够在众多的情况下更灵活的进行软件的开发。

  以上即为我在开完Blog 和课本有的一点总结和理解。

  

posted @ 2013-10-16 00:01  11061187  阅读(235)  评论(0编辑  收藏  举报