语言选择: 中文版 line 英文版

公司新闻

为什么要用敏捷开发

什么是敏捷开发

敏捷一词来源于2001年初美国犹他州雪鸟滑雪圣地的一次敏捷方法发起者和实践者(他们发起组成了敏捷联盟)的聚会。

迭代和增量式软件开发方法可以追溯到1957年。进化式项目管理和适应性软件开发出现在1970年代初期。在1990年代,因针对重量级的软件开发方法的批评,而发展了许多轻量化的软件开发方法、项目与细微化开发管理。包含了,从1991年开始的快速应用程序开发(RAD)、从1994年开始的统一进程与动态系统开发法(DSDM)、从1995年的Scrum、从1996年的水晶清透法(Crystal Clear)与极限编程法(eXtreme Programming)、1997年的功能驱动开发(Feature Driven Development)。虽然那些开发法都起源于敏捷开发宣言之前,但都统称为敏捷软件开发法。在此同时,制造业与航空业也遭遇相同变化。

在2001年,十七名软件开发人员在犹他州的雪鸟度假村会面,讨论这些轻量级的开发方法,并由Jeff Sutherland,Ken Schwaber和Alistair Cockburn发起,一同发布了"敏捷软件开发宣言"。

在2005年,由Alistair Cockburn和Jim Highsmith领导的小组编写了一份项目管理原则的附录,即"相互依存声明",以便根据敏捷软件开发方法来指导软件项目管理。

在2009年,罗伯特-C-马丁(Robert C Martin)编写了软件开发原则的扩展,即软件工艺宣言(Software Craftsmanship Manifesto),根据职业行为和掌握程度来指导敏捷软件开发。

在2011年,敏捷联盟创建了敏捷实践指南(2016年更名为"敏捷词汇")、敏捷实践、术语和元素工作定义的演化开放式汇编,以及来自敏捷从业者社区的经验指南。

了解了上面的背景后,我们能看出敏捷中绝大部分是有关于Scrum的,敏捷当中除了Scrum还有很多的一些流派(分支),那到底什么是敏捷开发呢?这个我们要回到2001年,十七名软件开发人员他们在一起进行了一次聚会,努力去解救程序员这个群体。在这次聚会当中他们提出了敏捷软件开发宣言。敏捷开发最早确实就是软件开发,甚至于只是软件开发行业的总结。针对于软件开发的宣言下面我们来详细解读什么是敏捷软件开发宣言

敏捷开发的特点

敏捷开发相对于传统的瀑布式开发,有其特点:

  • 迭代式

  • 增量式

  • 价值驱动

迭代开发 - 敏捷开发的特点

迭代或冲刺指的都是固定时间盒(时间段),通常持续一到四周。每个迭代都具有跨职能的团队,包含了规划、分析、设计、程序编码、单元测试和验收测试所有的活动。在迭代结束时,将工作产品向利益相关者展示。透过上述方式让整体风险降至最低,并使产品能够快速适应变化。迭代的方式,可能不会一次增加足够的功能来保证可立即发布使用,但是目标是在每次迭代结束时,有一个可用的发行版(最小化程序缺点)。因此完整产品的发布或新功能可能需要多次迭代。

迭代更深层次的含义是在固定时间盒内,不断的重复,重构,改进。

增量开发 - 敏捷开发的特点

敏捷开发中的每个框架,都提倡将软件(产品)切分成很多的小块,来进行增量的开发。即每次只开发其中的一小块,不断的累加。通过增量的方式,可以让客户(或最终用户)尽早看到软件功能,尽早的体验到部分的应用,以尽早获取反馈。

价值驱动 - 敏捷开发的特点

这是一句"废话",正确的"废话"。每个产品都号称是有价值的,但是作为开发团队是否真正问了以下的问题:

  • 这个产品解决的问题是什么

  • 这个问题发生的频率如何

  • 这个问题客户(或用户)现在是怎么解决的

  • 你的产品为客户带来了哪些不同的体验

如果能想清楚以上的问题,并且有清晰的答案,那么你的产品价值自然会体现出来。

上一个:关于创业与成长 没有下一个

联系我们

CONTACT US

联系人:林荣就

手机:18927926988

电话:0660-8980688

邮箱:lin@sapienme.com

地址: 广东省陆丰市东海镇人民路尾段旺角大厦第B幢6层02号

用手机扫描二维码关闭
二维码