除了敏捷你还知道啥?说说软件开发的10种主流方法

1、敏捷开发

2001年,17位软件开发人员签署了敏捷宣言(Agile Manifesto),因此载入史册。自那以后,敏捷软件开发迅速流行起来;实际上,在2015年弗雷斯特调研公司的一份报告中,54%的受访企业表示,其内部一半以上的开发团队在使用敏捷方法。敏捷理念基于12个核心原则,这些原则注重简短迭代、持续交付、简洁性、回顾以及最终用户和开发人员之间的协作。

2、Scrum

敏捷软件开发有多种版本,Scrum是最受欢迎的版本之一,接受《2015年敏捷现状》报告调查的受访者中70%表示,他们采用Scrum或Scrum混合方法。这是一种协作框架,最先由杰夫·萨瑟兰(Jeff Sutherland)在1993年发明。它把复杂项目分成了多个简短的迭代开发周期(sprint),每个迭代开发周期为期两到四周,它注重勇气、专注、承诺、尊重和开放性这五个价值观。

3、精益软件开发

虽然精益开发通常与敏捷开发联系起来,但精益开发的原则实际上源自丰田公司的精益制造流程。这套开发方法依赖七个关键的原则:消除浪费、促进反馈、尽量延迟决策、快速交付、融入完整性、授权团队和着眼整体。2003年,精益首次引起了软件开发界的注意,当时玛丽·波彭代克(Mary Poppendieck)和汤姆·波彭代克(Tom Poppendieck)出版了《精益软件开发:敏捷工具包》一书。

4、看板(Kanban)

看板是敏捷软件开发的另一个变种,灵感源自丰田公司。它为开发人员提供了一种直观的方法,可以查看什么工作需要完成,让他们得以在有精力时可以“拉取”工作,而不是“推送”工作,以完成某些任务。看板依赖三个核心原则:可视化今天处理的工作,限制在制品,并改进流动。

5、快速应用开发(RAD)

这些年来,几种不同的软件开发方法使用了RAD这个名称。最知名的也许当数詹姆斯·马丁(James Martin)的方法,这套方法于上世纪80年代问世于IBM。它被认为是一种敏捷方法,因为它注重适应不断变化的需求这种能力,不再强调事先规划。

6、测试驱动型开发(TDD)

测试驱动型开发与敏捷软件开发和极限编程都有关。这种方法由肯特·贝克(Kent Beck)及其他人首创,需要开发人员先为任何新的功能特性编写一个测试,之后开始编程工作。它鼓励开发人员极量少编写代码。

7、极限编程

这种敏捷软件开发高度依赖结对编程。与其他敏捷方法一样,它注重快速迭代和频繁的需求变化。它由肯特·贝克开发,此人是敏捷宣言的签署者之一,曾在1999年出版了《极限编程详述:拥抱变化》一书。

8、统一软件开发过程

这种软件开发方法以发明它的公司Rational Software命名,2003年IBM收购了这家公司。一些编程方法非常僵硬,统一软件开发过程却旨在可以轻松适应独特的情形。它是一种迭代框架,高度依赖可视化模型。

9、螺旋模型

上世纪80年代中期,巴里·贝姆(Barry Boehm)最先描述了螺旋模型,这是一种风险驱动型模型,结合了瀑布开发、增量开发、原型开发及其他软件开发方法的元素。其核心是开发人员应该根据风险大小来做决定,他们应该尽量少编写代码,以便尽量降低风险。

10、瀑布模型

不像本文介绍的其他软件开发方法,瀑布模型是顺序式而不是迭代式。从计算机的初期直到最近,瀑布模型都是最常用的软件开发方法。它最适合小规模项目:所有的设计要求都是事先已知的。

本文来自企鹅号 - 技术领导力媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏华章科技

注意!有人正在计算你今天会出现在哪里,并尝试左右你的行为

导读:很多网友都怀疑手机在偷听我们的日常对话,这甚至已经算不上新鲜事。有知乎网友提到,跟同事聊起蛋糕店后,贴吧app上赫然出现了85°C的加盟广告!另有贴吧网友...

833
来自专栏大数据文摘

业界 | 想转行?数据科学全流程求职指南

1947
来自专栏java达人

程序员成长路上常见的坑(2)

1. “博”与“专”上的迷失 假设说一个人的学习已经聚焦,并且学习的内容和自己实际参与的项目也相吻合,那么是不是就没有问题了?很不幸,答案仍然是否定的,在任何一...

2327
来自专栏互联网杂技

非名校出身的我,是如何拿到Facebook、谷歌、微软、亚马逊和Twitter的Offer的?

非名校出身,也没有知名科技公司的工作经验,他竟同时拿到了美国5家顶尖科技公司的Offer。他究竟是如何做到的?

1373
来自专栏镁客网

谷歌,你调皮了!

因AI的加入,学术研究变得不再枯燥,甚至正以一种“调皮”的姿态获得了用户更多的宽容。

1413
来自专栏人工智能快报

IBM运用机器学习技术解决能源、食品等宏观问题

据外媒(www.top500.org)报道,IBM公司在2017年1月发布了几项预测,其中一项预测与他们称之为“显宏镜(macroscope)”的软件概念有关,...

2905
来自专栏DevOps时代的专栏

台湾资深老专家:你实施敏捷的路子对吗?

作者简介: ? Ruddy Lee(李智桦)老师,DevOpsDays北京站金牌讲师,台湾著名精益布道师,敏捷专家,著有《精益开发与看板方法 》。 台湾敏捷大师...

2217
来自专栏PPV课数据科学社区

数据分析那些事(数据分析师入门必看)

经常有网友会对数据分析方面有一些困惑,并且咨询我该怎么办?并且经常是同样的问题,所以觉得有必要对一些经典共性的问题进行整理,与大家分享,这里并非标准答案,仅作参...

9385
来自专栏新智元

从代码恐惧到开发大牛:开发者“10倍提升”宝典

只要你愿意努力工作,不管你是一个想要引起老板注意、寻求升值的初级开发人员,还是一位想要寻求改变工作节奏的资深开发人员,不管你想从创业公司跳槽去大公司,还是想从大...

701
来自专栏大数据文摘

【牛!】物理学博士教你怎样分析微博数据,怎样涨粉

1183

扫码关注云+社区

领取腾讯云代金券