zoukankan      html  css  js  c++  java
  • 敏捷开发方法综述

        
        在敏捷方法其独特之处以外,他和其他的方法也有很多共同之处,比如迭代开发,关注互动沟通,减少中介过程的无谓资源消耗。通常可以在以下方面衡量敏捷方法的适用性:从产品角度看,敏捷方法适用于需求萌动并且快速改变的情况,如系统有比较高的关键性、可靠性、安全性方面的要求,则可能不完全适合;从组织结构的角度看,组织结构的文化、人员、沟通则决定了敏捷方法是否适用。跟这些相关联的关键成功因素有:
     
        组织文化必须支持谈判人员彼此信任,人少但是精干,开发人员所作决定得到认可,环境设施满足成员间快速沟通之需要。最重要的因素恐怕是项目的规模。规模增长,面对面的沟通就愈加困难,因此敏捷方法更适用于较小的队伍,20、40人或者更少。大规模的敏捷开发尚处于积极研究的阶段。
     
        另外的问题是项目初期的大量设想或快速的需求收集可能导致项目走入误区,特别是客户对其自身需要毫无概念的情况下。与之类似,人之天性很容易造成某个人成为主导并将项目目标和设计引入错误方向的境况。开发者经常会把不恰当的方案授予客户,而直到最后出问题前都能获得客户认同。虽然理论上快速交互的过程可以限制这些错误的发生,但前提是有效的负反馈,否则错误会迅速膨胀。

    敏捷软件开发原则及核心观点

        随着项目的不断庞大,对项目进行维护必然会对项目引入新的内容。从而使软件项目不断庞大。另一方面,需求的变化也将引起软件规模的迅速增加。《敏捷软件开发》附录C中第一个Rufus公司项目的例子,正是由于追求一次性庞大完成的输入、设计从而导致项目的失败。为此,敏捷软件开发提出了如本文引用中所提到的4条宣言,它体现了4个核心观点,这4个核心观点又引出了敏捷软件开发的12条原则。

    软件的核心观点释义

        敏捷软件开发过程中强调人的重要性。敏捷软件开发,再好的过程和工具也必须是由软件开发团队进行使用。如果仅有良好的管理过程,团队成员之间却缺少交流,那么开发的项目将会失败率很高。同时,如果仅有良好的开发工具,而团队成员不具备必要的开发技术,紧依靠工具进行完成,那么软件将会变得很松散。另一方面,敏捷软件开发还强调,一个好的团队不一定是一个技术精湛的团队。一个沟通良好,成员技术水平一般的团队,要比一个由技术精湛的成员组成,但缺少交流的团队的水平高得多。

        敏捷软件开发强调文档要少而精。轻量级的软件开发致力于减少各方面的不要支出。文档方面的减少也将给开发工作带来极大的便利。相反,复杂的文档必然会给软件开发带来复杂度高的技术及软件结构。从而违背敏捷软件开发轻量级的意图。

        敏捷软件开发强调及时的与客户沟通。及时的与客户沟通,给顾客展示新产品的功能,让顾客提出建议或意见。这样可以满足客户的需求,又可控制软件开发的方向。那种与顾客签订合同,然后闭门造车,软件基本完成时去交付给客户的做法往往会导致产品并非顾客真正的意图,或者不能满足客户新的需求,从而带来客户的不满,导致项目失败。

        敏捷软件开发强调及时响应变化。由于是轻量级的开发,基本上每两三周便可交付一个新功能的产品,开发周期较短,从而可以及时响应技术和客户需求带来的变化,降低软件开发过程中的风险。

    敏捷软件开发的12条实践原则

    由敏捷软件的4条核心价值引出了软件开发的12条原则,它们是:“简单设计、测试驱动、代码重构、持续集成、结对编程、现场客户、发行版本最小化、系统隐喻、代码集体所有、规划策略、规范代码、40小时机制。”

  • 相关阅读:
    Session cookie 原理
    asp.net core service mesh
    js 常用库
    asp.net core consul
    asp.net core polly
    asp.net core ocelot
    第十五章 享元模式 Flyweight
    第十四章 策略模式 Strategy
    mysql 主从复制
    mysql 执行计划
  • 原文地址:https://www.cnblogs.com/WS1004/p/5326661.html
Copyright © 2011-2022 走看看