今天,在第三届“敏捷中国”技术大会上,我们听到了很多关于敏捷开发的相关论题,其中不乏互联网公司代表腾讯公司的敏捷开发的实例,也不乏 ThoughtWorks首席科学家的亲身经历,在具体的敏捷开发过程中,究竟是哪一点最为吸引人们的目光?敏捷开发吸引人的潜力在何处?我们来听听作为 作为敏捷开发过程中的开发者Paulo Caroli,他是如何理解敏捷开发的魅力的?他对敏捷开发又是如何理解的呢?
Paulo Caroli, 有13年的软件开发经验,是ThoughtWorks公司的一名敏捷教练和高级开发者,今天,他带来的是Agile Evolutionary Design: from simple to well structured design.(演进性的敏捷设计:从结构简单到结构良好的设计)
“作为ThoughtWorks公司的架构建筑师,我拥有的只是传统的JAVA的资质,这与很多做开发的同仁差不多,但从在ThoughtWorks的多 年的敏捷开发的接触以来,我更深刻地理解了敏捷的运动。要在这里称其为‘运动’其实是有原因的,在下面,我也将为大家一一道来。”
传统的开发形式,如果你很小心地做,也能做得很好,为什么这么说呢?在整个开发过程中,每一个迭代中,一旦出现任何问题,到最后都不会得到你想要的成果。
传统的软件开发,采用的是瀑布式的开发模式:大家可以想象一下,一个斜坡向下的瀑布,在前面开发阶段,整个流程都是依据需求在进展,从最初的需求提出到需 求分析,从功能的设计到编码,最后到编码的测试、整合与部署,所以说,如果你很小心,也能做得很好。在整个项目开发结束后,水流到最后才能取到,这个时 候,取到的是一整桶水,也就是你最初设计想要得到的那一桶水!然而,这桶水是来之不易的。然而,目前,我们的项目过程中,却经常返工;这其中一个很重要的 原因就是——变化是永恒存在的,敏捷对于要求不停地在变化,我们拿到的是许多小桶水,可能是一杯水,如果客户觉得好的话,我们会把它留下来,最后,水量是 一样的,但是敏捷是小桶水汇到一块的,而传统的是一整桶。
传统的分析过程,有很多决定和策划,当还是用过去这套方法的时候,我们开始的设计都是分析,想象,图标的构建,但是敏捷里,都是测试做驱动,没有时间去画漂亮的流程图,但是,这个设计的过程在哪儿去了呢?
设计无处不在,不进开发的人要设计,所有参与的人都要设计,而且从第一天到最后完成,设计无处不在。
传统的设计只在开始阶段做,之后就停止了。而现在,我们所说的敏捷开发,在最初的数据分析阶段,我们也称之为项目的启动阶段,一般会需要两周或六周。这个启动阶段,我们有迭代。但总体来说,迭代的时间比较短,只有两周左右;我们有进程,所有的人都是为了同一个事情做事。
所以,在这个敏捷开发的过程中,我们的成果可以多次发布,一直持续到最后的最终版本的发布。
发起阶段,虽然有很多的迭代,发起阶段需要搜集客户的要求,不一定很多,但是要考虑到规模,测试的战略,最初两周的需求和策略是怎样的。另外一个就是构架,你不可能不想构架就去开始实施,以后返工的话,代价就太大了。
你是自动化的部署还是其他,一开始就要像清楚,迭代的最初。项目初始阶段,分析师不断设想,有什么新的需求出现。过程中不断测试,等迭代通过,这个时候,你就可以发布你此时成功的测试成功,也就是说,不用等到最后那一桶水,你即可拥有很多杯水。
分享到:
相关推荐
《敏捷软件测试:测试人员与敏捷团队的实践指南》从测试人员的角度记录了敏捷软件开发迭代的一个完整周期,并解释了敏捷测试的七大关键成功要素。 读者将从《敏捷软件测试:测试人员与敏捷团队的实践指南》中收获 测试...
009---有效的项目管理-面向传统、敏捷、极限项目.pdf009---有效的项目管理-面向传统、敏捷、极限项目.pdf009---有效的项目管理-面向传统、敏捷、极限项目.pdf
传统企业敏捷转型的策略与思考.pdf
敏捷与架构. doc敏捷与架构. doc敏捷与架构. doc敏捷与架构.doc
如何取得敏捷方法与规范方法的平衡,这是一个困扰着无数软件从业人员的大问题。本书针对这一现状,直接切入有效的核心概念,为定义平衡的软件开发策略提出了建设性方案。书中陈述了敏捷方法和规范方法各自擅长的领域...
敏捷软件测试:测试人员与敏捷团队的实践指南,欢迎下载
用户故事与敏捷方法(CN)
06.KPI、BSC与OKR之间的区别和关系.pdf 07.OKR的六大特点一以谷歌为例.pdf 08.CEO们对于OKR如何落地的建议.pdf 09.OKR敏捷绩效管理之有效持续的反馈与教练(上).pdf 10.OKR敏捷绩效管理之有效持续的反馈与教练...
首先敏捷测试是敏捷的一种,原有测试定义中通过执行被测系统发现问题,通过测试这种活动能够提供对被测系统提供度量等概念还是适用的。在传统的测试定义上,还需要添加 敏捷测试是遵循敏捷宣言的一种测试实践:...
用户故事与敏捷方法 英文版 原书名: User Stories Applied: For Agile Software Development 敏捷大师Mike Cohn的软件需求方法圣经 小型团队(项目)不可或缺的敏捷开发宝典 亚马逊五星级长销图书,敏捷社区...
在软件开发中平衡规范与敏捷.pdf ~~~~~~~~~~~~~~~
《敏捷估计与规划》一书为对敏捷项目进行估计与规划提供了权威实际的指导方针 在本书中 敏捷联盟的共同创始人MikeCohn讨论了敏捷估计与规划的思想 并使用现实的例子与案例分析向您详细地展示了如何完成工作 本书清晰...
敏捷开发与测试
我认为传统敏捷与持续交付的矛盾的根本在于,二者是采用不同的方式把软件变得“可以发布“(readytorelease)的。 我在采用持续交付的组织中和开发团队工作一起工作,发现很多开发者认为的正确的敏捷团队的工作方式...
中文完整版,对敏捷软件开发过程中工作量估计方法有详细阐述,对实践敏捷方法的团队有很大帮助
SoS不是呼救是一种大规模敏捷团队的组织方式.docxSoS不是呼救是一种大规模敏捷团队的组织方式.docxSoS不是呼救是一种大规模敏捷团队的组织方式.docxSoS不是呼救是一种大规模敏捷团队的组织方式.docxSoS不是呼救是一...
敏捷估计与规划是一本专注于发布规划和迭代规划的书。
本文从敏捷方法的定义,提出背景,实施方法等方面对敏捷方法进行描述,并与传统软件工程方法相对比,分析敏捷开发的优劣。通过实际软件开发的案例分析软件生产的价值观,得出敏捷方法在软件开发中的价值。关键词:...