当前位置: 主页 > 建站知识 > 软件开发

敏捷软件开发:原则-瀑布式开发和敏捷开发

发布时间:2023-02-02 14:07   浏览次数:次   作者:佚名

敏捷在最近几年逐渐流行起来。 不仅受到众多中小企业的青睐,更跻身于世界百强企业之列。 敏捷开发也开始流行起来,受到很多资深项目经理和开发人员的推崇。 到2008年,将近一半的欧美软件公司采用敏捷方法进行开发。 大多数尚未采用敏捷的组织都知道它,并且许多组织正计划这样做。 中国的外企、外包公司和很多知名企业也开始采用敏捷方法。 比如腾讯内部几乎所有的开发团队都在实施敏捷。 如今,几乎 100% 的大公司都在进行敏捷转型。

敏捷方法也给这些企业带来了巨大的收益。 真正做到敏捷原则的团队,一般会提高数倍的效率,软件的质量也得到更可靠的保证。 同时,敏捷开发的应用也为团队中的每一位成员提供了良好的发展机会,他们的技术水平和协作水平都可以得到相应的提升。

敏捷性是通过创造和响应变化在不确定和混乱的环境中取得成功的能力。 我们经常听到的敏捷软件开发是基于敏捷宣言定义的价值观和原则而进行的一系列方法和实践的总称。 自组织的跨职能团队使用适合其自身环境的实践得出解决方案,并不断发展以取得持续的业务成功。

敏捷不是指特定的方法论、过程或框架,而是一套价值观和原则。 也就是说,它本质上是一个概念。 符合敏捷价值观和原则的开发方法包括:极限编程(XP)、Scrum、精益软件开发、动态系统开发方法(DSDM)、特性驱动开发、Crystal Clear等。但是当我们在日常工作中提到敏捷时,我们经常会提到最著名的敏捷开发方法,如Scrum、XP、精益开发。

很多人认为敏捷开发相对于“传统”的瀑布开发模式是一种“现代”的开发模式。 说到敏捷,大多数人都会想到2001年敏捷宣言的发表,但其实敏捷运动并不是起源于敏捷宣言的发表,它可以追溯到更早的时候。 特别是迭代和增量开发方法 (IID) 起源于 1930 年代的一些非软件项目。

极限开发与敏捷开发_瀑布式开发和敏捷开发_敏捷软件开发:原则

01

20世纪60年代,软件规模较小,主要以作坊式开发为主,基本上是个人设计、个人使用、个人运营、自给自足的私有软件生产方式。

20世纪70年代,随着硬件的飞速发展,软件的规模和复杂度都与以往不同。 为了改变软件生产方式,提高软件生产率,对软件生产的需求越来越强烈,软件危机开始爆发。

从1970年到1990年,软件工程被等同于物理工程,在设计和施工过程中尽可能借鉴物理工程项目的管理理论和方法。 终于诞生了大家熟悉的瀑布模型,以流程为中心,分阶段控制软件开发。 由于其简单、线性、直观、易于理解和有纪律的模型,提供了非常可识别的里程碑。 所以一度成为软件开发流程的首选入门模型。

20世纪90年代,随着互联网的发展,软件开发过程越来越繁重,开发效率下降,响应速度变慢。 越来越多的行业领袖认为,必须有更好的软件构建方式来改变这一切,因为面对激烈的市场竞争,需要尽快投放市场,验证和确认市场需求,并且根据用户反馈及时实施软件。 使需求和政策保持一致。

极限开发与敏捷开发_敏捷软件开发:原则_瀑布式开发和敏捷开发

20世纪90年代初期,一些轻量级软件开发方法越来越受到大众的关注,包括:1991、快速应用开发(RAD)、1994动态系统开发方法(DSDM)、1995、Scrum、1996、Crystal Clear、Extreme Programming(XP)、 1997 年,特征驱动开发 (FDD)。 这些方法强调开发团队和业务利益相关者之间的密切协作; 频繁交付商业价值; 紧密合作的自组织团队; 以及代码制作、验证和代码交付的巧妙方法。

进入21世纪,为了应对快速变化的需求,缩短交付周期,“敏捷开发”应运而生。

2001年2月,包括Martin Fowler、Jim Highsmith、Kern、极限编程先驱Kent Beck在内的17位知名软件开发专家齐聚美国犹他州雪鸟滑雪场,举办了一场敏捷方法发起人和实践者的聚会。 在这次会议上,他们讨论了这些轻量级的方法,最终正式提出了Agile(敏捷开发)的概念,并共同签署了《敏捷宣言》并发布了相应的十二条原则,宣告了敏捷开发概念运动的开始.

会后成立了敏捷联盟,鼓励行业从业者进一步探索和分享想法和经验。 随着敏捷宣言的发表,敏捷这个词开始在世界范围内传播开来。

2006年,谷歌、微软、IBM、亚马逊、华为等公司开始在大规模软件开发中应用敏捷,掀起了敏捷应用的热潮。 ThoughtWorks主办首届敏捷中国大会,正式在中国推广敏捷方法。

敏捷软件开发:原则_瀑布式开发和敏捷开发_极限开发与敏捷开发

02

现在说到敏捷,最广为人知的敏捷方法应该就是Scrum了。 作为目前使用最广泛的敏捷开发方式,其实早于敏捷。 更准确地说,敏捷是对scrum等多种轻量级软件开发方法进行总结后产生的概念。

Scrum的本义:这个词的本义是指当比赛的两队在橄榄球比赛中发生轻微犯规时,在犯规点对峙。

1986年,竹内和野中两位管理学者在总结了当时一些高科技公司的产品开发方法后,发表了《新新产品开发博弈》一文。 本文首先将 Scrum 与产品开发联系起来,并用它来强调团队合作的重要性。

从1990年开始,受“新新产品开发博弈”的启发,吸收了经验主义、精益等思想,Ken Schwaber和Jeff Sutherland在不同的公司设计并实施了类似的轻量级软件开发方法敏捷软件开发:原则,并继承了“Scrum”之名。

敏捷软件开发:原则_瀑布式开发和敏捷开发_极限开发与敏捷开发

1995年,在奥斯汀召开的OOPSLA会议上,Jeff Sutherland和Ken Schwaber共同发表了论文《Scrum软件开发过程》,正式提出了Scrum的概念,规范了Scrum框架。

Scrum 开发方法越来越受欢迎。

2001年,在Kent Beck的启发下,Ken Schwabe和Mike Beedl合着了第一本关于Scrum的书《Agile Software Development with Scrum》,第一本关于Scrum的书诞生了。

2002 年,Ken Schwaber 与 Mike Cohn 和 Esther Derby 共同创立了 Scrum 联盟。 肯主持该组织。 在接下来的几年里,非常成功的 ScrumMaster 认证体系及其衍生体系被创建和发布。

2006 年,Jeff Sutherland 创立了自己的公司 Scrum.inc,并继续教授 Scrum 认证课程。

瀑布式开发和敏捷开发_敏捷软件开发:原则_极限开发与敏捷开发

2009年秋季,Ken Schwaber离开Scrum联盟创立了Scrum.org,并推出了PSM认证体系及其衍生产品,主要通过Professional Scrum系列培训进一步提高Scrum的质量和有效性。

2010年,Jeff Sutherland和Ken Schwaber发布了《Scrum指南》,之后逐步更新,建立了全球公认的Scrum知识体系。

在此期间,Scrum 被更多的团队和更多的企业采用。 2005年,英国电信(BT)宣布全面推广敏捷方法,规模达到数千人,标志着大规模敏捷应用逐渐被接受和认可。

如今,Scrum 已被全球许多软件开发公司所采用。 关于 Scrum 的书籍已出版 1000 多本敏捷软件开发:原则,该方法也已成功应用于其他领域,例如:制造、营销、运营和教育。

“没有任何单一的技术或流程可以显着提高软件开发的效率。” 这句话同样适用于敏捷,并不是所有的问题都可以通过实践敏捷开发来解决。 你必须首先定义你面临的问题,然后找到适合你的做法。 只有勇敢的尝试才能成功。 关注微信公众号“赛西咨询”,了解更多精彩内容和视频。