您当前的位置:首页 > 电脑百科 > 程序开发 > 编程百科

你如何理解敏捷开发?

时间:2020-07-29 12:27:07  来源:  作者:

对比敏捷方法与工程方法之间的差异,能帮助我们更好地理解敏捷开发】:

敏捷型方法是“面向人的”而非“面向过程的”。
工程型方法的目标是定义一个过程,不管什么人使用这个过程,都能得到大致相同的结果;而敏捷型方法则认为,没有任何过程能代替开发组的技能,过程所起的作用是对开发组的工作提供支持。

作为雪鸟会议最重要的产物,“敏捷软件开发宣言”(Manifesto for Agile Software Development,常被称为“敏捷宣言”)从一开始就建立在对比的基础上。

让我们追根溯源,从源头理解【敏捷开发】

敏捷宣言的全文如下:

你如何理解敏捷开发?

 

显然,这里的四个“高于”,以及“更好的软件开发方法”,对比的参照物都是传统的软件工程方法。

敏捷在中国传播的过程中,第二组对比“工作的软件高于详尽的文档”效果最直观,也最容易被接纳。

很多企业长期苦于软件质量不佳、交付进度无法保障、客户需求把握不准等问题,而传统的软件工程方法要求的文档对于这些问题帮助往往并不明显。

然而一旦在项目进展过程中能获得可工作的软件,尤其是,如果用可工作的软件向客户征求反馈,那么客户改变或增加需求的可能性就会不可避免地提高。

敏捷中国史话 熊节著 软件工程领域敏捷软件开发书 DevOps实践指南 敏捷软件史项目管理
¥39.5
购买

客户经常自己并不完全清楚软件应该具备什么功能以及应该如何运作。当他们看到并试用真实的软件时,模糊的想法会变得更加清晰,新的想法会被催生出来,他们就会要求改变或增加需求。

这些变化对于软件本身是好事,但对于开发软件的企业则未必,因为变化几乎必然会带来工作量的增加。

敏捷宣言的起草者们清晰地认识到了这个问题,他们倡导的价值观是避免以甲方乙方的姿态抠合同细节和纠结于复杂的变更管理流程,建立包含技术和业务的一体团队,超越单个项目、单个合同的极限,在长期的合作中建立共赢关系。这就是“客户合作高于合同谈判”的含义。

同时,开发软件的团队自身需要构建的能力也有所不同。传统软件工程以严格遵循预定计划为目标,由此延伸出了一整套能力、实践和工具。一旦认识到需求的变化是常态而非异常,计划的频繁调整也就不可避免,此时传统软件工程的能力、实践和工具反而可能成为阻碍。

你如何理解敏捷开发?

 

以项目管理中常用的工具甘特图为例,其中的计划排期做得越细密,需求变化时调整起来就会越麻烦。因此,如果软件团队希望在可工作的软件基础上与客户建立合作而非谈判的关系,就必须具备快速调整响应变化的能力。敏捷宣言的第四组对比“响应变化高于遵循计划”,很大程度上是对软件团队的能力要求。

在敏捷宣言的起草者们看来,这种响应变化的能力固然可以借助合适的流程和工具有所加强,但最重要的还是一线软件开发者自身的能力和意愿。团队的能力最终取决于团队中每个人的能力以及人与人之间丰富而微妙的互动,流程和工具只能辅助,无法替代优秀的个人与默契的团队。

“个体和互动高于流程和工具”这一组价值观对比或许是敏捷宣言中最不直观、最难理解的一组,却也是敏捷的倡导者们认同最深、时时念兹在兹的一组。

内容摘自《敏捷中国史话》,作者 @熊节

你如何理解敏捷开发?

 

《敏捷中国史话》用生动、翔实的语言,辅以情景描述,循序渐进地讲解了敏捷软件开发在中国的发展历程。从敏捷的发展背景,到世纪之交的中国软件业的发展状况、敏捷的传入、敏捷的低谷以及敏捷实践者为敏捷发展所做的艰苦奋斗,还介绍了敏捷在通信行业和互联网企业的实施状况、敏捷软件开发的发展和Scrum的流行。

本书既适合广大的敏捷方法的爱好者阅读,也适合对软件开发方法发展历程和对中国敏捷技术普及历史感兴趣的人员阅读。



Tags:敏捷开发   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
敏捷开发简述敏捷开发是一种以人为核心进行迭代的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,每一个子项目的成果都经过测试,具备集成和可运行的特征。敏捷开发...【详细内容】
2021-05-14  Tags: 敏捷开发  点击:(220)  评论:(0)  加入收藏
定位拒绝CRUD。用尽可能简单的方式,完成尽可能多的需求。通过约定的方式 实现统一的标准。告别加班,拒绝重复劳动,远离搬砖概述"Rocket-API" 基于spring boot 的API敏捷开发框...【详细内容】
2020-11-06  Tags: 敏捷开发  点击:(134)  评论:(0)  加入收藏
对比敏捷方法与工程方法之间的差异,能帮助我们更好地理解【敏捷开发】:敏捷型方法是“面向人的”而非“面向过程的”。 工程型方法的目标是定义一个过程,不管什么人使用这个过...【详细内容】
2020-07-29  Tags: 敏捷开发  点击:(45)  评论:(0)  加入收藏
▌简易百科推荐
摘 要 (OF作品展示)OF之前介绍了用python实现数据可视化、数据分析及一些小项目,但基本都是后端的知识。想要做一个好看的可视化大屏,我们还要学一些前端的知识(vue),网上有很多比...【详细内容】
2021-12-27  项目与数据管理    Tags:Vue   点击:(1)  评论:(0)  加入收藏
程序是如何被执行的  程序是如何被执行的?许多开发者可能也没法回答这个问题,大多数人更注重的是如何编写程序,却不会太注意编写好的程序是如何被运行,这并不是一个好...【详细内容】
2021-12-23  IT学习日记    Tags:程序   点击:(9)  评论:(0)  加入收藏
阅读收获✔️1. 了解单点登录实现原理✔️2. 掌握快速使用xxl-sso接入单点登录功能一、早期的多系统登录解决方案 单系统登录解决方案的核心是cookie,cookie携带会话id在浏览器...【详细内容】
2021-12-23  程序yuan    Tags:单点登录(   点击:(8)  评论:(0)  加入收藏
下载Eclipse RCP IDE如果你电脑上还没有安装Eclipse,那么请到这里下载对应版本的软件进行安装。具体的安装步骤就不在这赘述了。创建第一个标准Eclipse RCP应用(总共分为六步)1...【详细内容】
2021-12-22  阿福ChrisYuan    Tags:RCP应用   点击:(7)  评论:(0)  加入收藏
今天想简单聊一聊 Token 的 Value Capture,就是币的价值问题。首先说明啊,这个话题包含的内容非常之光,Token 的经济学设计也可以包含诸多问题,所以几乎不可能把这个问题说的清...【详细内容】
2021-12-21  唐少华TSH    Tags:Token   点击:(9)  评论:(0)  加入收藏
实现效果:假如有10条数据,分组展示,默认在当前页面展示4个,点击换一批,从第5个开始继续展示,到最后一组,再重新返回到第一组 data() { return { qList: [], //处理后...【详细内容】
2021-12-17  Mason程    Tags:VUE   点击:(14)  评论:(0)  加入收藏
什么是性能调优?(what) 为什么需要性能调优?(why) 什么时候需要性能调优?(when) 什么地方需要性能调优?(where) 什么时候来进行性能调优?(who) 怎么样进行性能调优?(How) 硬件配...【详细内容】
2021-12-16  软件测试小p    Tags:性能调优   点击:(19)  评论:(0)  加入收藏
Tasker 是一款适用于 Android 设备的高级自动化应用,它可以通过脚本让重复性的操作自动运行,提高效率。 不知道从哪里听说的抖音 app 会导致 OLED 屏幕烧屏。于是就现学现卖,自...【详细内容】
2021-12-15  ITBang    Tags:抖音防烧屏   点击:(23)  评论:(0)  加入收藏
11 月 23 日,Rust Moderation Team(审核团队)在 GitHub 上发布了辞职公告,即刻生效。根据公告,审核团队集体辞职是为了抗议 Rust 核心团队(Core team)在执行社区行为准则和标准上...【详细内容】
2021-12-15  InfoQ    Tags:Rust   点击:(24)  评论:(0)  加入收藏
一个项目的大部分API,测试用例在参数和参数值等信息会有很多相似的地方。我们可以复制API,复制用例来快速生成,然后做细微调整既可以满足我们的测试需求1.复制API:在菜单发布单...【详细内容】
2021-12-14  AutoMeter    Tags:AutoMeter   点击:(20)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条