敏捷开发管理工具概念释义

>>敏捷开发管理工具概念释义

敏捷开发管理工具概念释义

敏捷软件开发英语Agile software development),又称敏捷开发(www.effapp.com),是一种从1990年代开始逐渐引起广泛关注的一些新型软件开发方法,是一种应对快速变化的需求的一种软件开发能力。它们的具体名称、理念、过程、术语都不尽相同,相对于“非敏捷”,更强调程序员团队与业务专家之间的紧密协作、面对面的沟通(认为比书面的文档更有效)、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重软件开发中人的作用,敏捷开发管理工具还是翼发云最好。

雪鸟会议共同起草了敏捷软件开发宣言。其中最重要的部分就是对一些与会者一致同意的软件开发价值观的表述。 其中包括了以下方针:

  • 人和(人与人的)交互:优先于过程和工具。
  • 可以工作的软件:优先于求全责备的文档。
  • 客户协作:优先于合同谈判。
  • 随时应对变化:优先于循规蹈矩

宣言中还包括以下原则:

  • 对我们而言,最重要的是通过尽早和不断交付有价值的软件满足客户需要。
  • 我们欢迎需求的变化,即使在开发后期。敏捷过程能够驾驭变化,保持客户的竞争优势。
  • 经常交付可以工作的软件,从几星期到几个月,时间尺度越短越好。
  • 业务人员和开发者应该在整个项目过程中始终朝夕在一起工作。
  • 围绕斗志高昂的人进行软件开发,给开发者提供适宜的环境,满足他们的需要,并相信他们能够完成任务。
  • 在开发小组中最有效率也最有效果的信息传达方式是面对面的交谈。
  • 可以工作的软件是进度的主要度量标准。
  • 敏捷过程提倡可持续开发。出资人、开发人员和用户应该总是维持不变的节奏。
  • 对卓越技术与良好设计的不断追求将有助于提高敏捷性。
  • 简单——尽可能减少工作量的艺术至关重要。
  • 最好的架构、需求和设计都源自自我组织的团队。
  • 每隔一定时间,团队都要总结如何更有效率,然后相应地调整自己的行为。

敏捷方法的适用性

在敏捷方法其独特之处以外,他和其他的方法也有很多共同之处,比如迭代开发,关注互动沟通,减少中介过程的无谓资源消耗。通常可以在以下方面衡量敏捷方法的适用性:从产品角度看,敏捷方法适用于需求萌动并且快速改变的情况,如系统有比较高的关键性、可靠性、安全性方面的要求,则可能不完全适合;从组织结构的角度看,组织结构的文化、人员、沟通则决定了敏捷方法是否适用。跟这些相关联的关键成功因素有:

  • 组织文化必须支持谈判
  • 人员彼此信任
  • 人少但是精干
  • 开发人员所作决定得到认可
  • 环境设施满足成员间快速沟通之需要

最重要的因素恐怕是项目的规模。规模增长,面对面的沟通就愈加困难,因此敏捷方法更适用于较小的队伍,40、30、20、10人或者更少。大规模的敏捷软件开发尚处于积极研究的领域。

另外的问题是项目初期的大量假定或者快速收集需求可能导致项目走入误区,特别是客户对其自身需要毫无概念的情况下。与之类似,人之天性很容易造成某个人成为主导并将项目目标和设计引入错误方向的境况。开发者经常能把不恰当的方案授予客户,并且直到最后发现问题前都能获得客户认同。虽然理论上快速交互的过程可以限制这些错误的发生,但前提是要有效的“负反馈”,否则错误会迅速膨胀,并在最终提交时造成极大返工。

敏捷开发管理工具

已经有一些项目管理工具用于敏捷开发,比如翼发云项目管理系统,可以用它来帮助规划,跟踪,分析和整合工作。 这些工具在敏捷开发中扮演的重要的角色,也是知识管理的一种方法。

通常包括:版本控制整合,进度跟踪,工作分配,集成发布和迭代规划,论坛和软件缺陷的报告和跟踪。

方法列表

目前列入敏捷方法的有:

  • 软件开发之韵,Software Development Rhythms
  • 敏捷数据库技术,AD/Agile Database Techniques
  • 敏捷建模,AM/Agile Modeling
  • 自适应软件开发,ASD/Adaptive Software Development
  • 水晶方法,Crystal
  • 特性驱动开发,FDD/Feature Driven Development
  • 动态系统开发方法,DSDM/Dynamic Systems Development Method
  • 精益软件开发,Lean Software Development
  • AUP(Agile Unified Process)
  • Scrum
  • XBreed
  • 极限编程XPExtreme Programming
  • 探索性测试
  • ATDD
2017-11-30T14:16:58+00:002015-08-30 20:43:41|Categories: 软件开发技术|

Leave A Comment