文档章节

传统与敏捷开发的真正区别

浮躁的码农
 浮躁的码农
发布于 2015/07/11 08:13
字数 1145
阅读 8
收藏 0

在第三届“敏捷中国”技术大会上,我们听到了很多关于敏捷开发的相关论题,其中不乏互联网公司代表腾讯公司的敏捷开发的实例,也不乏ThoughtWorks首席科学家的亲身经历,在具体的敏捷开发过程中,究竟是哪一点最为吸引人们的目光?敏捷开发吸引人的潜力在何处?我们来听听作为作为敏捷开发过程中的开发者Paulo Caroli,他是如何理解敏捷开发的魅力的?他对敏捷开发又是如何理解的呢?

  Paulo Caroli, 有13年的软件开发经验,是ThoughtWorks公司的一名敏捷教练和高级开发者,今天,他带来的是Agile Evolutionary Design: from simple to well structured design.(演进性的敏捷设计:从结构简单到结构良好的设计)

  “作为ThoughtWorks公司的架构建筑师,我拥有的只是传统的JAVA的资质,这与很多做开发的同仁差不多,但从在ThoughtWorks的多年的敏捷开发的接触以来,我更深刻地理解了敏捷的运动。要在这里称其为‘运动’其实是有原因的,在下面,我也将为大家一一道来。”

  传统的开发形式,如果你很小心地做,也能做得很好,为什么这么说呢?在整个开发过程中,每一个迭代中,一旦出现任何问题,到最后都不会得到你想要的成果。

  传统的软件开发,采用的是瀑布式的开发模式:大家可以想象一下,一个斜坡向下的瀑布,在前面开发阶段,整个流程都是依据需求在进展,从最初的需求提出到需求分析,从功能的设计到编码,最后到编码的测试、整合与部署,所以说,如果你很小心,也能做得很好。在整个项目开发结束后,水流到最后才能取到,这个时候,取到的是一整桶水,也就是你最初设计想要得到的那一桶水!然而,这桶水是来之不易的。然而,目前,我们的项目过程中,却经常返工;这其中一个很重要的原因就是——变化是永恒存在的,敏捷对于要求不停地在变化,我们拿到的是许多小桶水,可能是一杯水,如果客户觉得好的话,我们会把它留下来,最后,水量是一样的,但是敏捷是小桶水汇到一块的,而传统的是一整桶。

  传统的分析过程,有很多决定和策划,当还是用过去这套方法的时候,我们开始的设计都是分析,想象,图标的构建,但是敏捷里,都是测试做驱动,没有时间去画漂亮的流程图,但是,这个设计的过程在哪儿去了呢?

  设计无处不在,不进开发的人要设计,所有参与的人都要设计,而且从第一天到最后完成,设计无处不在。

  传统的设计只在开始阶段做,之后就停止了。而现在,我们所说的敏捷开发,在最初的数据分析阶段,我们也称之为项目的启动阶段,一般会需要两周或六周。这个启动阶段,我们有迭代。但总体来说,迭代的时间比较短,只有两周左右;我们有进程,所有的人都是为了同一个事情做事。

  所以,在这个敏捷开发的过程中,我们的成果可以多次发布,一直持续到最后的最终版本的发布。

  发起阶段,虽然有很多的迭代,发起阶段需要搜集客户的要求,不一定很多,但是要考虑到规模,测试的战略,最初两周的需求和策略是怎样的。另外一个就是构架,你不可能不想构架就去开始实施,以后返工的话,代价就太大了。

  你是自动化的部署还是其他,一开始就要像清楚,迭代的最初。项目初始阶段,分析师不断设想,有什么新的需求出现。过程中不断测试,等迭代通过,这个时候,你就可以发布你此时成功的测试成功,也就是说,不用等到最后那一桶水,你即可拥有很多杯水。

本文转载自:

共有 人打赏支持
上一篇: 读书收获日志
下一篇: centos6.3安装nginx
浮躁的码农

浮躁的码农

粉丝 71
博文 850
码字总数 154227
作品 0
松江
程序员
私信 提问
【上海】提升您的敏捷领导力!(打造高效团队,升级敏捷思维)

面对敏捷逐步进入各行各业的大趋势,各种言论也纷至沓来—— “为何配置足够的开发人员还是无法提高开发速度,提高交付质量?”; “如何才能真正提高团队的协作能力呢?; “敏捷是如何在团...

敏捷行动派
2018/05/14
104
0
【上海】提升您的敏捷领导力!(打造高效团队,升级敏捷思维)

面对敏捷逐步进入各行各业的大趋势,各种言论也纷至沓来—— “为何配置足够的开发人员还是无法提高开发速度,提高交付质量?”; “如何才能真正提高团队的协作能力呢?; “敏捷是如何在团...

敏捷行动派
2018/05/14
0
0
敏捷软件开发与传统软件开发的对比

敏捷软件开发与传统软件开发的对比 最早了解敏捷开发是通过大二的一次博雅课堂,一位在百度工作的北航学长跟我们分享了他近年来从事敏捷开发的经历。印象最深的一句话是一个延迟3个月交付100...

JackMo2015
2018/01/23
0
0
转型敏捷,你和团队需要做哪些准备?

随着时代的发展,越来越多的企业开始进行敏捷转型,在软件开发过程中采用敏捷的方式,期望可以提升效率,改善质量。敏捷也不再局限于互联网行业,很多传统行业——包括银行、保险、电信等等也...

Wiuk
2017/08/25
47
0
转型敏捷,你和团队需要做哪些准备?

随着时代的发展,越来越多的企业开始进行敏捷转型,在软件开发过程中采用敏捷的方式,期望可以提升效率,改善质量。敏捷也不再局限于互联网行业,很多传统行业——包括银行、保险、电信等等也...

Wiuk
2017/08/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Confluence 6 升级中的一些常见问题

升级的时候遇到了问题了吗? 如果你想尝试重新进行升级的话,你需要首先重新恢复老的备份。不要尝试再次对 Confluence 进行升级或者在升级失败后重新启动老的 Confluence。 在升级过程中的一...

honeymoose
今天
2
0
C++随笔(四)Nuget打包

首先把自己编译好的包全部准备到一个文件夹 像这样 接下来新建一个文本文档,后缀名叫.nuspec 填写内容 <?xml version="1.0"?><package xmlns="http://schemas.microsoft.com/packaging/201......

Pulsar-V
今天
2
0
再谈使用开源软件搭建数据分析平台

三年前,我写了这篇博客使用开源软件快速搭建数据分析平台, 当时收到了许多的反馈,有50个点赞和300+的收藏。到现在我还能收到一些关于dataplay2的问题。在过去的三年,开源社区和新技术的发...

naughty
今天
3
0
Python3的日期和时间

python 中处理日期时间数据通常使用datetime和time库 因为这两个库中的一些功能有些重复,所以,首先我们来比较一下这两个库的区别,这可以帮助我们在适当的情况下时候合适的库。 在Python文...

编程老陆
今天
2
0
分布式面试整理

并发和并行 并行是两个任务同时进行,而并发呢,则是一会做一个任务一会又切换做另一个任务。 临界区 临界区用来表示一种公共资源或者说是共享数据,可以被多个线程使用,但是每一次,只能有...

群星纪元
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部