文章目录
1.螺旋模型
螺旋模型的基本思想是: 使用原型及其他方法来尽量降低风险。理解这种模型的一个简便方法,是把它看作在每个阶段之前都增加了风险分析过程的快速原型模型。
2.快速原型模型
快速原型是利用原型辅助软件开发的一种新思想。经过简单快速分析,快速实现一个原型,用户与开发者在试用原型过程中加强通信与反馈,通过反复评价和改进原型,减少误解,弥补漏洞,适应变化,最终提高软件质量。
3.水晶系列开发方法–敏捷开发
Crystal——水晶方法论是由Alistair Cockburn和Jim Highsmith建立的敏捷方法系列。Alistair Cockburn将水晶方法细化为透明水晶方法论(Crystal Clear)、黄色水晶方法论(Crystal Yellow)、橙色水晶方法论(Crystal Orange)以及红色水晶方法论(Crystal Red)。这几种水晶方法论按照项目重要程度以及参加人员规模进行划分。一般来讲,透明水晶方法,适用于一个小团队来进行敏捷开发,人数在6人以下为宜。相比于同样适用于小规模团队的XP,水晶方法的纪律性较弱,但其管理运作与团队产出相协调。
3.1.经常交付
敏捷方法对交付成果要求很高,注重频繁小批次交付,水晶方法也不例外。通过经常交付以及时获得客户、产品经理的反馈,从而提升客户价值,使产品价值最大化。
3.2.反思改进
对于在迭代开发过程中出现的问题和在交付成果中发现的问题,团队要进行及时的反思。把握住问题的关键,快速地找到解决方案。当问题发现不及时,或者团队并未进行反思改进时,常常会导致问题的叠加,最终影响可用产品的交付。
3.3.渗透式交流
在两个或多个成员进行交流的时候,与他们同处于一个空间范围内的其他人员会或多或少地获取他们的对话信息。因此,这种接收并非有意创造的信息来源的方式称为渗透式交流,成员根据自己的当前工作可以选择忽略,也可以选择接收。
3.4.个人安全
个人安全类似于极限编程强调的“勇气”,当个人产生问题困惑的时候,选择指出问题而不是隐瞒问题,且自己的人身安全受到保障。首先,只有坦然面对不足,才能及时改正,促使自身与团队不断得到提升。其次,人身安全又是团队中互相信任的表现,只有相互信任,才能更好地完成团队协作。
3.5.焦点
焦点就是首要计划。团队制定出要完成的计划,然后安排时间。
所谓“焦点”,就是确定首先要做什么,然后安排时间,以平和的心态开展工作。确保团队成员清楚的了解他们自己最重要的任务是什么,确保他们能够有充分的时间去完成这些任务。
3.6.与专家、用户建立方便的联系
建立方便的联系是保证专家、用户、团队能够形成一个短周期反应链。对于小批次交付成果、用户需求变动等建立一个快速反馈机制,可以提高团队工作效率。
3.7.测试、管理和集成的技术环境
自动化测试可以对代码进行自动测试,减少了人工成本,使工作变得高效、快捷;简单来说,配置管理就是可以返回上一步,能够通过撤销新操作出现的失误来解决问题;经常集成功能使团队对系统快速集成,以及时发现错误、纠正错误。
4.敏捷开发SCRUM
Scrum的英文意思是橄榄球运动的一个专业术语,表示“争球”的动作;把一个开发流程的名字取名为Scrum,相当于大家像打橄榄球一样迅速、富有战斗激情。而Scrum就是这样的一个开发流程。
Scrum开发流程中的三大角色
– 产品负责人(Product Owner):主要负责确定产品的功能和达到要求的标准,指定软件的发布日期和交付的内容,同时有权力接受或拒绝开发团队的工作成果。
– 流程管理员(Scrum Master):主要负责整个Scrum流程在项目中的顺利实施和进行,以及清除挡在客户和开发工作之间的沟通障碍,使得客户可以直接驱动开发。
–开发团队(Scrum Team):主要负责软件产品在Scrum规定流程下进行开发工作,人数控制在5~10人左右,每个成员可能负责不同的技术方面,但要求每成员必须要有很强的自我管理能力,同时具有一定的表达能力;成员可以采用任何工作方式,只要能达到Sprint的目标。
开发方式:站立会议,任务看板,计划纸牌。
5.功用驱动开发方法(FDD)
它主要针对中小型软件开发项目,是一个以Architecture为中心的,采用短迭代期、目期驱动的开发过程。它首先对整个项目建立起一个整体的模型,然后通过两周一次‘设计功能’——实现功能的迭代完成项目开发。功用驱动开发方法认为,只有良好定义的并且简单的过程才能被很好地执行。另外,由于在FDD中采用了短周期的迭代,最小化的功能划分法,所以可以对项目的开发进程进行精确及时地监控。
- 制定整体的模型
- 据优先级列出功能的详细列表
- 依据功能制定计划
- 依据功能进行设计
- 实现功能
6.自适应软件开发(FDD)
ASD有6个基本的原则:
- 有一个使命作为指导;
- 特征被视为客户价值的关键点;
- 过程中的等待是很重要的,因此“重做”与“做”同样关键;
- 变化不被视为改正,而是被视为对软件开发实际情况的调查;
- 确定的交付时间迫使开发人员认真考虑每一个生产的版本的关键需求;
- 风险也包含其中。
7.极限编程开发方法
极限编程是一个轻量级的、灵巧的软件开发方法;同时它也是一个非常严谨和周密的方法。它的基础和价值观是交流、朴素、反馈和勇气;即,任何一个软件项目都可以从四个方面入手进行改善:加强交流;从简单做起;寻求反馈;勇于实事求是。XP是一种近螺旋式的开发方法,它将复杂的开发过程分解为一个个相对比较简单的小周期;通过积极的交流、反馈以及其它一系列的方法,开发人员和客户可以非常清楚开发进度、变化、待解决的问题和潜在的困难等,并根据实际情况及时地调整开发过程。
“Extreme”(极限)是指,对比传统的项目开发方式,XP强调把它列出的每个方法和思想做到极限、做到最好;其它XP所不提倡的,则一概忽略(如开发前期的整体设计等)。一个严格实施XP的项目,其开发过程应该是平稳的、高效的和快速的,能够做到一周40小时工作制而不拖延项目进度。
8.开放统一过程开发方法
开放统一过程(Open United Process,OpenUP)是一种基于Eclipse过程框架(Eclipse Process Framework,EPF)的开源方法。OpenUP基于统一过程的四阶段的方法采用了迭代和增量(演进型)的生命周期,包含一套核心的敏捷实践。为了避免使用过多的流程,OpenUP遵循精益原则,只涉及最小集合的敏捷实践,更适合于小型敏捷项目。
合理的脚本代码可以有效的提高工作效率,减少重复劳动。