1.咱们知道敏捷开发是一套流程和方法的持续改进,经过快速迭代的方式交付产品,从而控制和下降成本。可是在实行敏捷初期,每每看不到很好的效果。这里面,您以为问题主要出在哪?团队应如何去解决问题?
金根:我认为敏捷经过快速交付主要目的之一是快速上市,快鱼吃慢鱼,时间每每可以决定产品的价值,例如不少互联网公司;而国内也有不少企业把敏捷做为质量提 升的重要手段,例如广联达。价值和质量这两点是我认为敏捷最重要的两个目的。固然,成本也是目的之一,在我培训的一些企业中,这每每也是一些领导者最关心 的问题,他们会说我就关心实施敏捷能让我如今省多少钱,然而敏捷带来的效益是须要从长时间来看待的,若是但愿立刻看到成本降低这是不现实的。由于在开始实 施敏捷之初,你们须要转变开发方式,须要学习适应新的方法,这些都须要时间;也许还须要请专家来配需,还须要购买一些机器硬件之类的,这也须要花钱。所 以,我想说的第一点,敏捷不成效果与上层支持和导向有关,这是须要领导层去从新去理解敏捷的目的。
如今再说说开发团队。技术人员刚开始都是对技术感兴趣,而忽略了开发流程方法之类的,即便不少有工做经验的老手也同样不关心开发方法。对如何可以更好的开 发产品不闻不问是一个团队失败的问题,你们只是去按照敏捷的要求去作,仅仅作了而已,而不是作好了,更不会去思考如何根据当前的团队和环境去灵活应用。碰 到好点的团队,会出现几个敏捷积极者,他们是团队实施敏捷的火苗,但如何提升这些火苗的能力以及如何补充燃料是团队管理者须要增强的。在我遇到的一些团队 当中,每每不少管理者并无转换到敏捷管理的思路,不知道自组织是什么概念,仍旧采用严格的管理手段,而不理解领导是什么。 html
从以上的描述能够看出,敏捷不仅是一个开发工具,一个开发人员学习一下就能够用好。敏捷的实施也应该算是企业的一个变革,这须要上层、管理层和开发团队的共同努力。那如何解决这些问题?首先对敏捷是什么达成一致,而后找出阻碍,一个一个的去解决,在行动中学习。 程序员
2.如今不少软件开发IDE,好比微软的Visual Studio,也都在注重帮助团队改进开发流程、提高效率。您以为在产品层面的这种改进,对团队实行敏捷方法有多大的帮助?工具对于刚刚准备实行敏捷方法的团队来讲很重要吗? express
金根:若是说到XP,我认为工具很重要,例如代码审查、自动化测试等等。但若是说到管理开发流程,例如使用Scrum,我并不建议你们一开始就 是用软件工具,使用工具会失去敏捷管理中不少原本能够发挥做用的地方,例如缺乏白板会让团队缺乏不少面对面沟通的机会,这会不利于敏捷团队的造成。咱们很 多人都实施过敏捷,但只能说是doing agile,并不能说being agile,这又能够回到第一个问题,不少团队实施多年后也不见太大成效的缘由就是,他们没有理解到敏捷说到底仍是一个理念,它背后有价值观等做为支撑, 例如Scrum的承诺、专一、公开、尊重、勇气。关于Scrum,感兴趣的能够看看 从IT方法论来谈Scrum app
3.不少人都谈到,对于团队来讲,最痛苦的莫过于在实行敏捷开发的转型期,同时谈了不少解决方法,您如何看这一问题? 工具
金根:我不太清楚你说的你们认为最痛苦是什么,以及他们提出了什么解决方法。若是说到转型,我能够把这当作是一个变革,如何理解这种转型的过 程,下面这张图能够看出转型必定是一个过程,而不是一步到位的,这须要管理者去很好的理解,才不至于让敏捷快速兴起又快速打落。若是团队想实施敏捷,但又 没有人对敏捷有所深刻了解,那么建议你们能够请专人指导一下。 学习
4.敏捷开发带来的好处不言而喻,但您以为全部的开发团队都须要实行敏捷吗?有没有一些特殊的状况出现? 开发工具
金根:若是咱们只是把敏捷限定在Scrum和XP等开发方法,那么我以为并非全部开发团队都须要实行敏捷。在咱们公司,有些团队可能就一两个 人,这个时候就不须要Scrum的站会、回顾会议了;还有一些须要变化特别快的,那就能够实施看板;还有那些不能出现任何差错的项目可能瀑布仍是不错的一 种方式。可是,敏捷自己不是来自软件开发,被应用到IT,那就证实其实它背后有一种更本质的东西。正如前面我说的,若是你把敏捷看重一种理念,那么我认为 若是把敏捷理解透彻,不只仅是每一个开发团队都要实行敏捷,甚至每一个人,在生活中均可以应用敏捷,这也是我创立敏捷我的的缘由。 测试
5.现在不少专家都在作敏捷教练,可能每一个人的思想都有所不一样,实行的方法也都不一样。您以为,对于敏捷初期团队来讲,教练在其中应起到什么做用?以后呢? 网站
金根:正如项目经理在每一个公司所担任的工做不一样同样,敏捷教练做为一个国内新兴职业,敏捷教练应该作什么也会不同,更如你说,每一个人的思想、 方法不同,这也致使你们作的也不同。但我想对于教练来讲,仍是能够抽取一些共性的东西。那教练应该起到什么做用呢?最基本的就是 ScrumMaster的职责,其次就是培养ScrumMaster的责任,更高级的教练还须要学习我的成长教练,也就是敏捷我的的一些内容。 spa
对于敏捷初期团队,通常都没有ScrumMaster。若是可能的话,就是本身成为ScrumMaster帮助团队运转起来。若是不行,那么就须要作屡次的专题培训,再组织团队开展敏捷实践,并不按期的回访,以保证团队对敏捷的理解正确。
6.最后也想请您谈一谈您的我的经历和见解。您是如何接触到敏捷开发这一理念的?以后又是如何去推进它的?对于敏捷开发,您给广大开发团队的忠告是?
金根:在03年的时候,咱们是基于RUP来作开发,作了不少设计画了不少图,可是最后开发的时候,开发人员也不看,这让当时仍是程序员的我对软 件开发方法产生了兴趣,因而就开始关注软件全生命周期相关的方法理念,而敏捷就是其中之一。09年我到了一个新的项目组,需求人员是市场人员、没有开发人 员,也就是连团队的雏形都没有,这时候我以为实施Scrum是一个机会,由于你们以往都没有经验,更容易接受新事物,我选择实施Scrum。固然,对于软 件开发来讲,Scrum只是一部分,还须要不少其余东西,例如如何作需求、如何作设计、如何带团队等。你们能够从 年度总结和计划:去年4个1,今年5个1 能够看到09年我作的工做。
说到如何推进,我认为仍是很顺利的。第一,部门领导支持,如何开发我说的算。第二,团队支持,个人意见很容易被接受。第三,我
持续的和你们分享、交流、培训。第四:从头至尾的带着你们作了好几期sprint后才由团队本身全权负责。若是要我给广大开发团队提出几个忠告,我想说的就是理解敏捷的本质,对敏捷产生兴趣,是敏捷成功的关键。
7.敏捷开发一词已经愈来愈被你们所熟知,从您了解到的状况看,目前国内的普及程度如何?您以为将来应如何推进?
金根:在敏捷10年回顾中,Mike Cohn说到, 如今你们再也不说要不要作敏捷,而是如何作好敏捷,但愿之后再也不说"敏捷软件开发",而仅仅说"软件开发"背后就隐含的包含正在用敏捷开发,我也但愿正如他 所说。但在我招聘、培训、交流过程接触的状况来看,国内的敏捷普及程度并非这么乐观,不少人还只是知道敏捷而已,但在开发中并未真正实践,还有的实践之 后放弃的。还有实施了敏捷的企业,也不是企业全部团队、全部人都在实施敏捷,就拿咱们公司来讲,也不是全部人都在用敏捷,即便在用,也不是每一个团队都应用 的很好。
关于如何更大范围推进敏捷,我以为首先每一个开发人员应该对本身要求高一些,不要仅仅关注如何写代码,还须要关注采用什么方法来开发,如何作好团队协做,在 合适的时机向团队、领导推进敏捷实践。其次,如今也有不少大会(如敏捷中国、ScrumGathering等)、培训(我业余时间也给企业作培训咨询)、 资讯,这些也都可以加速敏捷的推广和落地。
若是你须要进行敏捷开发相关的培训,那么能够看看这里你可能须要的在线电子书
推荐:你可能须要的在线电子书
个人微博:http://weibo.com/openexpressapp
欢迎转载,转载请注明:转载自敏捷我的网站