IT168关于敏捷开发采访
1.我们知道敏捷开发是一套流程和方法的持续改进,通过快速迭代的方式交付产品,从而控制和降低成本。但是在实行敏捷初期,往往看不到很好的效果。这里面,您觉得问题主要出在哪?团队应如何去解决问题?
金根:我认为敏捷通过快速交付主要目的之一是快速上市,快鱼吃慢鱼,时间往往能够决定产品的价值,例如很多互联网公司;而国内也有很多企业把敏捷作为质量提 升的重要手段,例如广联达。价值和质量这两点是我认为敏捷最重要的两个目的。当然,成本也是目的之一,在我培训的一些企业中,这往往也是一些领导者最关心 的问题,他们会说我就关心实施敏捷能让我现在省多少钱,然而敏捷带来的效益是需要从长时间来看待的,如果希望马上看到成本下降这是不现实的。因为在开始实 施敏捷之初,大家需要转变开发方式,需要学习适应新的方法,这些都需要时间;也许还需要请专家来配需,还需要购买一些机器硬件之类的,这也需要花钱。所 以,我想说的第一点,敏捷不成效果与上层支持和导向有关,这是需要领导层去重新去理解敏捷的目的。
现在再说说开发团队。技术人员刚开始都是对技术感兴趣,而忽略了开发流程方法之类的,即使很多有工作经验的老手也一样不关心开发方法。对如何能够更好的开 发产品漠不关心是一个团队失败的问题,大家只是去按照敏捷的要求去做,仅仅做了而已,而不是做好了,更不会去思考如何根据当前的团队和环境去灵活应用。碰 到好点的团队,会出现几个敏捷积极者,他们是团队实施敏捷的火苗,但如何提高这些火苗的能力以及如何补充燃料是团队管理者需要加强的。在我遇到的一些团队 当中,往往很多管理者并没有转换到敏捷管理的思路,不知道自组织是什么概念,仍旧采用严格的管理手段,而不理解领导是什么。
从以上的描述可以看出,敏捷不只是一个开发工具,一个开发人员学习一下就可以用好。敏捷的实施也应该算是企业的一个变革,这需要上层、管理层和开发团队的共同努力。那如何解决这些问题?首先对敏捷是什么达成一致,然后找出阻碍,一个一个的去解决,在行动中学习。
2.现在很多软件开发IDE,比如微软的Visual Studio,也都在注重帮助团队改进开发流程、提升效率。您觉得在产品层面的这种改进,对团队实行敏捷方法有多大的帮助?工具对于刚刚准备实行敏捷方法的团队来说很重要吗?
金根:如果说到XP,我认为工具很重要,例如代码审查、自动化测试等等。但如果说到管理开发流程,例如使用Scrum,我并不建议大家一开始就 是用软件工具,使用工具会失去敏捷管理中很多本来可以发挥作用的地方,例如缺少白板会让团队缺少很多面对面沟通的机会,这会不利于敏捷团队的形成。我们很 多人都实施过敏捷,但只能说是doing agile,并不能说being agile,这又可以回到第一个问题,很多团队实施多年后也不见太大成效的原因就是,他们没有理解到敏捷说到底还是一个理念,它背后有价值观等作为支撑, 例如Scrum的承诺、专注、公开、尊重、勇气。关于Scrum,感兴趣的可以看看 从IT方法论来谈Scrum
3.很多人都谈到,对于团队来说,最痛苦的莫过于在实行敏捷开发的转型期,同时谈了很多解决方法,您如何看这一问题?
金根:我不太清楚你说的大家认为最痛苦是什么,以及他们提出了什么解决方法。如果说到转型,我可以把这看成是一个变革,如何理解这种转型的过 程,下面这张图可以看出转型一定是一个过程,而不是一步到位的,这需要管理者去很好的理解,才不至于让敏捷快速兴起又快速打落。如果团队想实施敏捷,但又 没有人对敏捷有所深入了解,那么建议大家可以请专人指导一下。
4.敏捷开发带来的好处不言而喻,但您觉得所有的开发团队都需要实行敏捷吗?有没有一些特殊的情况出现?
金根:如果我们只是把敏捷限定在Scrum和XP等开发方法,那么我觉得并不是所有开发团队都需要实行敏捷。在我们公司,有些团队可能就一两个 人,这个时候就不需要Scrum的站会、回顾会议了;还有一些需要变化特别快的,那就可以实施看板;还有那些不能出现任何差错的项目可能瀑布还是不错的一 种方式。但是,敏捷本身不是来自软件开发,被应用到IT,那就证明其实它背后有一种更本质的东西。正如前面我说的,如果你把敏捷看重一种理念,那么我认为 如果把敏捷理解透彻,不仅仅是每个开发团队都要实行敏捷,甚至每个人,在生活中都可以应用敏捷,这也是我创立敏捷个人的原因。
5.如今很多专家都在做敏捷教练,可能每个人的思想都有所不同,实行的方法也都不同。您觉得,对于敏捷初期团队来说,教练在其中应起到什么作用?之后呢?
金根:正如项目经理在每个公司所担任的工作不同一样,敏捷教练作为一个国内新兴职业,敏捷教练应该做什么也会不一样,更如你说,每个人的思想、 方法不一样,这也导致大家做的也不一样。但我想对于教练来说,还是可以抽取一些共性的东西。那教练应该起到什么作用呢?最基本的就是 ScrumMaster的职责,其次就是培养ScrumMaster的责任,更高级的教练还需要学习个人成长教练,也就是敏捷个人的一些内容。
对于敏捷初期团队,一般都没有ScrumMaster。如果可能的话,就是自己成为ScrumMaster帮助团队运转起来。如果不行,那么就需要做多次的专题培训,再组织团队开展敏捷实践,并不定期的回访,以保证团队对敏捷的理解正确。
6.最后也想请您谈一谈您的个人经历和看法。您是如何接触到敏捷开发这一理念的?之后又是如何去推动它的?对于敏捷开发,您给广大开发团队的忠告是?
金根:在03年的时候,我们是基于RUP来做开发,做了很多设计画了很多图,但是最后开发的时候,开发人员也不看,这让当时还是程序员的我对软 件开发方法产生了兴趣,于是就开始关注软件全生命周期相关的方法理念,而敏捷就是其中之一。09年我到了一个新的项目组,需求人员是市场人员、没有开发人 员,也就是连团队的雏形都没有,这时候我觉得实施Scrum是一个机会,因为大家以往都没有经验,更容易接受新事物,我选择实施Scrum。当然,对于软 件开发来说,Scrum只是一部分,还需要很多其他东西,例如如何做需求、如何做设计、如何带团队等。大家可以从 年度总结和计划:去年4个1,今年5个1 可以看到09年我做的工作。
说到如何推动,我认为还是很顺利的。第一,部门领导支持,如何开发我说的算。第二,团队支持,我的意见很容易被接受。第三,我
持续的和大家分享、交流、培训。第四:从头到尾的带着大家做了好几期sprint后才由团队自己全权负责。如果要我给广大开发团队提出几个忠告,我想说的就是理解敏捷的本质,对敏捷产生兴趣,是敏捷成功的关键。
7.敏捷开发一词已经越来越被大家所熟知,从您了解到的情况看,目前国内的普及程度如何?您觉得未来应如何推动?
金根:在敏捷10年回顾中,Mike Cohn说到, 现在大家不再说要不要做敏捷,而是如何做好敏捷,希望以后不再说"敏捷软件开发",而仅仅说"软件开发"背后就隐含的包含正在用敏捷开发,我也希望正如他 所说。但在我招聘、培训、交流过程接触的情况来看,国内的敏捷普及程度并不是这么乐观,很多人还只是知道敏捷而已,但在开发中并未真正实践,还有的实践之 后放弃的。还有实施了敏捷的企业,也不是企业所有团队、所有人都在实施敏捷,就拿我们公司来说,也不是所有人都在用敏捷,即使在用,也不是每个团队都应用 的很好。
关于如何更大范围推动敏捷,我觉得首先每个开发人员应该对自己要求高一些,不要仅仅关注如何写代码,还需要关注采用什么方法来开发,如何做好团队协作,在 合适的时机向团队、领导推动敏捷实践。其次,现在也有很多大会(如敏捷中国、ScrumGathering等)、培训(我业余时间也给企业做培训咨询)、 资讯,这些也都能够加速敏捷的推广和落地。
如果你需要进行敏捷开发相关的培训,那么可以看看这里你可能需要的在线电子书
推荐:你可能需要的在线电子书
我的微博:http://weibo.com/openexpressapp
欢迎转载,转载请注明:转载自敏捷个人网站
IT168关于敏捷开发采访的更多相关文章
- TFS 2015 敏捷开发实践 – 在Kanban上运行一个Sprint
前言:在 上一篇 TFS2015敏捷开发实践 中,我们给大家介绍了TFS2015中看板的基本使用和功能,这一篇中我们来看一个具体的场景,如何使用看板来运行一个sprint.Sprint是Scrum对迭 ...
- TFS 2015 敏捷开发实践 – 看板的使用
看板在现代应用开发过程中使用非常广泛,不管是使用传统的瀑布式开发还是敏捷开发,都可以使用看板管理.因为看板拥有简单的管理方法,直观的显示方式,所以很多软件开发团队选择使用看板进行软件开发管理.本文不在 ...
- 小谈Scrum敏捷开发流程
一晃眼,有两年没有写博客了,回顾前两年,各种奔波,各种忙碌,也有不少的收获.从今天开始,我要把这些收获都分享在这里. 其实这两年,对我影响最大的是开发流程.总所周知,一个好的开发流程,对于项目的进行, ...
- UDAD 用户故事驱动的敏捷开发 – 演讲实录
敏捷发展到今天已经在软件行业得到了广泛认可,但大多数敏捷方法都是为了解决某一特定问题而总结出来的特定方法或实践,一直缺乏一个可以将整个开发过程串接起来的成体系的方法.用户故事驱动的敏捷开发(User ...
- 传统瀑布式&敏捷开发
---传统瀑布式 瀑布模型式是最典型的预见性的方法,严格遵循预先计划的需求.分析.设计.编码.测试的步骤顺序进行. 步骤成果作为衡量进度的方法,例如需求规格,设计文档,测试计划和代码审阅等等. 瀑布式 ...
- 用户故事驱动的敏捷开发 – 2. 创建backlog
本系列的第一篇[用户故事驱动的敏捷开发 – 1. 规划篇]跟大家分享了如何使用用户故事来帮助团队创建需求的过程,在这一篇中,我们来看看如何使用这些用户故事和功能点形成产品backlog.产品backl ...
- 20145205 《Java程序设计》实验报告三:敏捷开发与XP实践
开发与XP实践 实验要求 1.XP基础 2.XP核心实践 3.相关工具 实验内容 敏捷开发与XP 软件工程是把系统的.有序的.可量化的方法应用到软件的开发.运营和维护上的过程.软件工程包括下列领域:软 ...
- 传统开发模型vs敏捷开发模型——过程模型的变革
一.概念框架 在了解一个新概念的时候,最好的方法就是把它插入到原有的概念体系中.在不仅有助于对概念的记忆,更利于深刻地认识概念的本质.精髓.下图说明了"敏捷开发"在软件工程理论体系 ...
- 敏捷开发方法-Scrum
为了不落后他人,于是我也开始学习Scrum,今天主要是对我最近阅读的相关资料,根据自己的理解,用自己的话来讲述Scrum中的各个环节,主要目的有两个,一个是进行知识的总结,另外一个是觉得网上很多学习资 ...
随机推荐
- ios面试总结-
一 C语言方法的知识 1: const static voilite 修辞变量各代表什么意思? const 修辞的变量为常量,常量是不容许修改. static 修辞的变量为静态变量,在内存中 ...
- Codeforces Round #382 (Div. 2)B. Urbanization 贪心
B. Urbanization 题目链接 http://codeforces.com/contest/735/problem/B 题面 Local authorities have heard a l ...
- gradle 如何操作命令行
如题: 官方做法: task startApp(type: Exec){task -> workingDir mWorkingDirRoot commandLine 'cd'} 后来我看到这篇文 ...
- Android Multiple Screens Android 屏幕适配的一些总结
作为一名Android应用开发程序猿,最痛苦的事莫过于在屏幕适配了,这与历史原因有关,具体就不深究了. 直到最近才搞明白dpi是怎么换算的,在开发的过程中,一个应用运行的屏幕标准应该是分辨率为320x ...
- C#标准响应数据
public HttpResponseMessage UpdateModule(Mode mode) { var response = Process.Instance.ExecuteString(( ...
- 我爱免费之FreeFileSync文件夹同步软件
因为项目需求用到FreeFileSync文件夹同步软件,这个软件好在免费.易用.功能强,我真的是大爱这种软件.http://freefilesync.com/ 可以下载免费软件,有需要的朋友,大可以一 ...
- 在spring,mybatis整合配置中走的弯路(1)
在接触一个新东西,总免不了走一些弯路,也正是在这些弯路中,我们不断的成长. 从git上把之前写的代码扒下来,看看我在当初使用spring与mybatis中所走的弯路,路过的君子也可引以为戒. < ...
- Sql Server:不允许 ASSIGNMENT 语句中包含 FOR XML 子句
编写函数的时候遇到“不允许 ASSIGNMENT 语句中包含 FOR XML 子句”错误,开始以为数据库函数里不可以写 FOR XML 子句,仔细看了看总觉得这么写别扭索性改了一种写法就通过了. BE ...
- 【经验谈】XmlSerializer的坑
XmlSerializer我想现在用的人可能不多了,大家都在用Json.我现在所在的公司依然在用,所以发现了这个坑.当然这个坑存在很久了只是没用过所以才发现. 事情是这样的,测试那边说系统偶尔会报找不 ...
- Java IO 之 FileInputStream & FileOutputStream源码分析
Writer :BYSocket(泥沙砖瓦浆木匠) 微 博:BYSocket 豆 瓣:BYSocket FaceBook:BYSocket Twitter ...