软件开发中,关于敏捷开发的几种模型

科技资讯 投稿 19200 0 评论

软件开发中,关于敏捷开发的几种模型

一、敏捷开发简史

  • 1957年,增量软件开发方法出现。

  • 1975年,Fred Brooks 提出“No Silver Bullet”,出版《人月神话》,相关概念和内容已与敏捷方法极其类似。

  • 1986年,竹内弘高和 野中郁次郎在New New Product Development Game文章首次提到将Scrum应用与产品开发。

  • 1993年,Jeff Sutherland在Easel公司首次将Scrum方法用于软件开发。

  • 1995年,在OOPSLA‘95 会议上,Sutherland和Schwaber共同发表论文介绍Scrum方法。

  • 1996年,Martin Fowler,Kent Beck,Ward Cunmingham将XP方法引入C3项目,是第一个被正式的XP项目。

  • 1999年 Martin Fowler 著作《Refactoring: Improving the Design of Existing Code》出版,对敏捷开发中的“重构”实践首次进行系统化阐述。

  • 2001年2月,由17位软件开发专家起草的敏捷宣言发表,敏捷联盟成立。

  • 2001年,Ken Schwaber和Mike Beedle推出第一本Scrum书籍《Scrum敏捷软件开发》

  • 2003年,《Lean Software Development: An Agile Toolkit》出版,精益开发方法被业界广泛认知,并完善了敏捷方法。

  • 2010年,ScrumBan(The first article on Scrumban方法发表,综合了Scrum和Kanban

  • 2010年,ThoughtWorks Jez Humble出版《Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation》首次正式提出构建流水线(Build Pipeline的概念,通过从根本上改变开发团队与运维团队的协作方式,达到敏捷软件交付,创造软件价值。

来自 csdn:敏捷十年简史回顾,我略有精简。csdn 这个链接地址已经失效。另外有效地址:有效地址。

二、敏捷宣言和12条原则

2001年2月,Martin Fowler,Jim Highsmith 等 17 位著名的软件开发专家齐聚在美国犹他州雪鸟滑雪圣地,举行了一次敏捷方法发起者和实践者的聚会。

看敏捷简史我们可以了解到,虽然敏捷宣言是 2001 年提出,但它其实是对前面几十年软件开发实践探索的一个总结。

2.1 敏捷宣言

由此我们建立了如下价值观:

个人和交互 高于 流程和工具

软件产品 高于 综合文档

客户协作 高于 合同协商

应变 高于 遵循计划

©敏捷宣言。2001 年。版权所有:Kent Beck、Mike Beedle、Arie van
Bennekum、Alistair  Cockburn、Ward  Cunningham、Martin  Fowler、James
Grenning、Jim  Highsmith、Andrew  Hunt、Ron  Jeffries、Jon  Kern、Brian
Marick、Robert  C.  Martin、Steve  Mellor、Ken  Schwaber、Jeff Sutherland 和
Dave Thomas。

https://agilemanifesto.org/iso/zhchs/manifesto.html

2.2 敏捷宣言遵循的12条原则

2.欣然面对需求变化,即使在开发后期也一样。为了客户的竞争优势,敏捷过程掌控变化。

4.业务人员和开发人员必须相互合作,项目中的每一天都不例外。

6.不论团队内外,传递信息效果最好效率也最高的方式是面对面的交谈。

8.敏捷过程倡导可持续开发。责任人、开发人员和用户要能够共同维持其步调稳定延续。

10.以简洁为本,它是极力减少不必要工作量的艺术。

12.团队定期地反思如何能提高成效,并依此调整自身的举止表现。

https://agilemanifesto.org/iso/zhchs/principles.html

三、瀑布开发模型

瀑布模型(Waterfall Model 是 Royce 在 1970 年提出的。它强调软件开发的一个完整周期。

1.制定软件计划

3.软件设计

5.软件集成与测试

并且是自上而下的顺序,如同瀑布一样,开发步骤逐级往下流动。

不论后来的什么开发方法开发模型,都是对这几个软件开发阶段进行优化。

随着时间发展,软件功能越来越复杂,软件协作人数越来越多,瀑布模型也暴露了一些缺点:

2.各个软件开发阶段之间较少的反馈

后来又出现了原型模型增量模型迭代模型

在下面一节简要介绍下增量模型和迭代模型。

四、增量模型和迭代模型

4.1 增量模型

增量模型(Incremental Model,也叫增量式开发,增量是指在软件开发过程中,先开发主要功能模块,再开发次要功能模块,逐步完善整个软件功能。

现在用编程语言写软件基本都是用的这个方法。

https://blog.csdn.net/chktsang/article/details/87010449

4.2 迭代模型

迭代模型(Iterative Model,也叫迭代进化式开发。迭代模型把整个开发工作组织为有固定长度工期的小项目,被称为一次迭代。经过多次迭代完善整个软件。

瀑布模型是相反的,瀑布模型是计划整个项目,然后一次性开发完成。

https://blog.csdn.net/chktsang/article/details/87010449

编程笔记 » 软件开发中,关于敏捷开发的几种模型

赞同 (35) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽