·xbreed
行为驱动开发,bdd/bahavior-driven development
瀑布式的主要的问题是它的严格分级导致的自由度降低,项目早期即作出承诺导致对后期需求的变化难以调整,代价高昂
·自适应软件开发,asd/adaptive software development
对比瀑布式开发:
·特性驱动开发,fdd/feature driven development
【1】【2】
敏捷方法有时候被误认为是无计划性和纪律性的方法,实际上更确切的说法是敏捷方法强调适应性而非预见性
组织文化必须支持谈判人员彼此信任,人少但是精干,开发人员所作决定得到认可,环境设施满足成员间快速沟通之需,要最重要的因素恐怕是项目的规模规模增长,面对面的沟通就愈加困难,因此敏捷方法更适用于较小的队伍,20、40人或者更少大规模的敏捷软件开发尚处于积极研究的领域
·极限编程,xp extreme programming
·scrum
对比迭代方法:
·动态系统开发方法,dsdm/dynamic systems development method
适用性
列入敏捷方法的有:
·探索性测试
另外的问题是项目初期的大量假定或者快速收集需求可能导致项目走入误区,特别是客户对其自身需要毫无概念的情况下与之类似,人之天性很容易造成某个人成为主导并将项目目标和设计引入错误方向的境况开发者经常能把不恰当的方案授予客户,并且直到最后发现问题前都能获得客户认同虽然理论上快速交互的过程可以限制这些错误的发生,但前提是有效的负反馈,否则错误会迅速膨胀
·aup(agile unified process)
敏捷技术
已经有一些项目管理工具用于敏捷开发,可以用它们来帮助规划,跟踪,分析和整合工作 这些工具在敏捷开发中扮演的重要的角色,也是知识管理的一种方法
相比迭代式开发两者都强调在较短的开发周期提交软件,敏捷方法的周期可能更短,并且更加强调队伍中的高度协作
管理工具
测试驱动开发,tdd/test-driven development
scrum
适应性的方法集中在快速适应现实的变化当项目的需求起了变化,团队应该迅速适应这个团队可能很难确切描述未来将会如何变化.
·敏捷数据库技术,ad/agile database techniques
对比其他
·精益软件开发,lean software development
方法列表
·敏捷建模,am/agile modeling
通常包括:版本控制整合,进度跟踪,工作分配,集成发布和迭代规划,论坛和软件缺陷的报告和跟踪
·软件开发之韵,software development rhythms
两者没有很多的共同点,瀑布模型式是最典型的预见性的方法,严格遵循预先计划的需求、分析、设计、编码、测试的步骤顺序进行步骤成果作为衡量进度的方法,例如需求规格,设计文档,测试计划和代码审阅等等瀑布式方法在需求不明并且在项目进行过程中可能变化的情况下基本是不可行的
相对来讲,敏捷方法则在几周或者几个月的时间内完成相对较小的功能,强调的是能将尽早将尽量小的可用的功能交付使用,并在整个项目周期中持续改善和增强
在敏捷方法其独特之处以外,他和其他的方法也有很多共同之处,比如迭代开发,关注互动沟通,减少中介过程的无谓资源消耗通常可以在以下方面衡量敏捷方法的适用性:从产品角度看,敏捷方法适用于需求萌动并且快速改变的情况,如系统有比较高的关键性、可靠性、安全性方面的要求,则可能不完全适合;从组织结构的角度看,组织结构的文化、人员、沟通则决定了敏捷方法是否适用跟这些相关联的关键成功因素有:
·水晶方法,crystal