阅读更多

2顶
1踩

行业应用

InfoQ中文站:越来越多的公司开始关注敏捷和精益。作为十分资深ThoughtWorks顾问,您曾经帮助过很多大型组织导入精益和敏捷。能不能跟我们分享一下这方面的经验。应该怎样迈出导入敏捷的第一步?有哪些策略可以保证把试点团队的成功经验复制到更多的团队中?您觉得最大的挑战是什么?能不能给我们一些建议?

Richard Durnall:在任何一个有一定规模的组织内确定从何处着手引入敏捷以及精益都是一个不小的挑战。很多公司会从一个敏捷试点项目入手。通过这个试点项目评估在组织中引入新的敏捷工作方式的有效性。这种策略比较有效,但也存在风险。选择试点项目时应该先想想如何避开一些常见陷阱。敏捷过程有比较好的风险管理控制。借助敏捷过程,我们能够把困难的问题分解,使得团队能够有效地去控制,解决。引入新的工作方式肯定会有不少困难,项目有可能会失败,因此选择一个低风险,低价值的试点项目可能会降低对业务的影响。但是这类的项目实施不太可能给我们在整个产品线上引入敏捷工作方式所带来的影响提供多少有价值的经验。选择合适的试点项目其实既是一种艺术,也是一门科学,必须要做出权衡。

另一种最近越来越流行的方式是确定一个试点团队而不是一个试验项目。但是与试点项目方式类似的是,也需要根据我们期望从试验中获得的什么样的反馈在整个公司内部来确定一个合适的团队。基于我自身的经验,最有效的方式是在启动时同时选择合适团队和项目。

在大的组织中,我的建议是它们在引入敏捷之前作一个“成熟度评估”。这个评估会包括组织内部的现有能力,IT部门的目标,给出一个过程改进路线图,然后根据情况制定一个合适的改革方案。根据自己在过去五年中帮助大型组织的经验,我总结了一套评价体系。具体来说,我会用精益工具中的价值流图(Value Stream Mapping)去评估该公司现有软件发布方法的有效性,发现现有流程中的要害以及可取之处,对当前组织架构以及运行模式进行建模,重点评估一些跟项目有关的领域比如:需求管理、交流和系统架构。实施这种评估能帮助我们确定一个可行的出发点,还可以估算出在改进过程中可能遇到的挑战。另外,它还可以提供一条基线,用以衡量和跟踪改进与投资间的平衡。不同企业在引入敏捷和精益时可能遇到的挑战略有不同,但是一般都会涉及组织结构、系统架构、预算、计划以及管理方法等方面。历史经验告诉我们,这些问题并不是不能解决的。虽然没有必要从开始就做计划解决这类问题,我们还是有必要开始讨论,寻找潜在的解决方案,从而在等到问题真正出现的时候,我们就不再是毫无准备。

把敏捷试点项目的成功复制到企业级也有不少好的方法。我们可以把成功的试点团队分拆,成员作为种子队员组成多个新团队。我们也可以采取成员轮换的方法,定期把人员轮换入(出)试点团队。我很喜欢在引入敏捷的早期阶段就向系统支持以及维护团队介绍这些新的概念。而项目团队常常是随着项目的启动而建立,随着项目的结束而解散,通过及早了解敏捷,这些支持和维护团队不会因为项目团队的工作方式变化而陷于被动。

支持团队的及早参与能够减少不稳定因素;确保这些支持团队了解并掌握敏捷开发团队的一些基础设施包括自动化测试和持续集成构建环境。从而继续充分利用这些系统的基础设施,减少浪费。由于跟支持团队的沟通合作得到加强,项目团队也会更加关注软件项目的整体成本。

近年来,精益以及它的管理模型--系统管理理论,为在企业级范围内提高敏捷性提供了强有力的支持。在转变的初期,我通常把极限编程(XP)和 Scrum结合。因为极限编程有很强的工程类实践,而Scrum更偏重于项目管理以及与业务相关的领域。把两者结合能够给团队提供一些在早期学习阶段可以借鉴和使用的模式和框架。在团队熟练掌握了这些基本实践之后,我会开始向他们介绍精益中的一些概念和原理。这样就保证团队不会盲目地照搬教科书上的模式,专注于利用新的方式方法提高团队的产出以及给最终客户带来的价值。团队也会开始从关注工具和实践转向背后的概念以及原理,而这种理论对团队长远的发展进步十分必要。接下来,团队会自然而然地开始关注控制正在进行的工作量(Work-In-Progress WIP),理解生产和制造周期(Lead and Cycle Time),持续改善和根据整个价值流工作。

尽管极限编程和Scrum在软件项目团队中能够很好地促进合作,促进给客户带来更大的价值。它们很少涉及企业级的问题(虽然在Scrum社区内很多人不承认这一点)。而精益不仅能够指导我们第一线的工作,也会帮助我们解决在整个组织引入敏捷时出现的企业级问题。

随着越来越多的大型企业开始引入敏捷,我们遇到了很多新的问题,这些问题涉及到管理方法、产品系列计划、预算和组织架构。精益包含了一系列解决这类问题的方法、过程和模型。比如,在自上而下层次架构的组织中常常使用平衡计分法来确保组织战略和管理个人的绩效。随着我们引入敏捷和精益,我们需要废除这种方式,转而利用一种基于团队的,面向客户的结构。因此我们往往需要废除组织层次架构以及相应的面向个人的绩效考评体系。很多情况下也会把很多决定权下放到第一线直接面对客户的员工。值得庆幸的是精益组织发展了一个相应的工具,方针管理(Hoshin Kanri),它能有效地在高度合作的环境中确保组织战略以及过程的有效性。作为一种现成的精益组织战略工具,方针管理与我们第一线工作中使用的各种理念十分契合。已经有无数的实例可以证明精益组织能够解决这一类组织级的挑战,我们不需要再去重复他们的探索过程(重新去发明轮子),很多有远见的组织已经注意到这些,直接去“借用”这些已经在企业级实施中得到验证的工具、技术和过程。

在IT部门中引入敏捷和精益会遇到很多的挑战,尽管各个组织的过程都不尽相同,我们还可以发现一些通用的模式。首先遇到的挑战就是人。工作方式、团队结构、工具和模式的都需要发生改变;作为CIO或者IT经理,你不应该因为遇到强力的“反馈”而感到吃惊。作为工程师,你可能会碰到很多来自同事的抵触和质疑。一旦最初的质疑声平静下来,人们会渐渐地适应新的工作方式,他们会觉得旧的日常工作方式是那样得不合时宜。为敏捷开发创建基础设施,包括测试工具、持续集成环境和其他的支持工具需要一部分投资。一段时间之后,经过新的敏捷团队和项目管理办公室(Project Management Office)之间不断磨合,他们之间的关系也会随着项目管理办公室逐渐适应并了解了敏捷团队所提供的数据以及新的计划方式而得到良性发展。与此类似,业务部门、财务计划以及组织架构也必须要面对新的工作方式所带来的挑战。尽管不是所有的组织都能够达到这样的高度,但是至少我们可以对向组织内引入敏捷和精益所必须经历的过程有一个大体的认识。

如果你是一个积极地希望把敏捷和精益引入所在组织的工程师,我建议你先要把这些理念推销给你的老板,获得领导层的支持。同样的,如果你身处领导层,希望把引入这些想法,最重要的是要在第一线的员工中找到支持者,给这些员工授权和支持,从而引领这场变革。从我自身的经验来看,在组织的各个层面都有支持者是成功实施敏捷和精益的关键。

 

InfoQ中文站:很多组织都会宣称自己成功的引入了敏捷开发,实际则不然,绝大多数仅仅是在做表面文章。他们在“做敏捷”,敏捷社区称之为“货物崇拜敏捷”。针对这个现实状况,我们能做些什么?

Richard Durnall:“货物崇拜”(Cargo Cult)是用来代表那种与世隔绝的社会第一次见到外部文明社会时表现出的种种行为。一个著名的故事发生在二战时期的太平洋岛屿上。岛上的居民在享受了盟军货运飞机运来的免费食品和其他货物之后,开始模仿占领部队的种种行为,期望以后有更多的“补给品”运过来。居民们精心制作了军服,把木头雕成枪的样子,他们甚至用最基本的原材料组装了一架与真实飞机一样大小的“飞机”。他们还模仿盟军当年训练的样子在村庄内行军。很多人都会觉得这种行为很可笑,认为他们太过于幼稚,然而,我们应该承认的是这些人并不愚蠢。如果看一下他们做出来的木头枪和飞机,你会觉得他们是十分有才能的工匠和工程师。如果给我们相同的工具和原始材料,我们自己绝对没有可能造得那么精美。其实他们缺少的是对他们见到的种种事件背后力量的理解。因此他们只能按照自己的逻辑,期望通过模仿他们所观察到的一切来重新获得同样的结果。

敏捷社区也借用了这个词汇,称之为“货物崇拜敏捷”。用它来指代某些团队,这些团队只知道使用工具和实践,只会简单地从其他成功团队或者教科书模仿照搬,而不做深入的思考,不了解这些工具和实践背后的原理。他们“做敏捷”仅仅是因为从书上看过或者某个敏捷“专家”说过应该这样做。很显然这种情形并不仅仅出现在敏捷团队。我就曾经见到一些团队,他们使用各种各样的正规的方法论,但是不理解为什么那样设计过程,也不理解每一步过程和每一个活动能带来怎样的价值。我觉得这种思维方式很有问题。首先,仅仅是因为手册上的宣传,就使用一些工具、技术或者过程会导致很大的浪费。其次,这会打消团队获得知识的积极性,使团队变得懒惰,不去积极思考更好的方案去解决手头问题。管理学家W. Edward Deming告诉我们“不光只有一种正确方法”(There is no one right way)。项目管理的科学与艺术其实就是一个了解我们掌握的工具和方法,然后设计能够有效解决问题的过程。

精益其实在很多方面使我们避免“货物崇拜”思维方式所带来的种种问题。利用精益中的很多工具和过程去理解客户的需求,我们会更加以客户为中心。我们总是从客户开始到客户结束。接下来,我们会审视我们用来给客户发布产品或者服务(通常是一个IT解决方案)的过程。在精益里面,我们并不关注具体工具和技术,我们更加关注产出(throughput)、流(flow),和持续改善(continuous improvement)。通过不断地消除浪费,有计划地优化工作方法,我们能够有意识地解决遇到的问题。掌握了这种思维方式,“货物崇拜”团队不再仅仅局限于工具和技术的使用,而是关注怎样有效地为客户提供最好的成果。


受访人简介:Richard Durnall是敏捷极限编程、精益软件开发及在线产品开发的专家。作为ThoughtWorks 澳大利亚墨尔本办事处的首席顾问,Richard Durnall拥有超过13年的高科技行业经验。Richard不断帮助ThoughtWorks的客户在其商业实践中应用精益和敏捷方法,以提升其IT 部门的生产效率及效果。Richard曾任职于福特汽车公司制造与供应链系统分部数年,协同一个全球小组将“精益”原则引入其制造部门并且重新调整了其 IT系统。

来自: infoq
2
1
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 防止ACCESS数据库被下载的9种方法

    1.发挥你的想象力修改数据库文件名 不用说,这是最最偷懒的方法,但是若攻击者通过第三方途径获得了数据库的路径),就玩完了。比如说攻击者本来只能拿到list权,结果意外看到了数据库路径,就可以冠冕堂皇地把数据库下载回去研究了。另外,数据文件通常大小都比较大,起再隐蔽的文件名都瞒不了人。故保密性为最低。  2.数据库名后缀改为ASA、ASP等 此法须配合一些要进行一些设置,否则就会出现本文开头的那种情

  • 防止access数据库被下载

      防止access数据库被下载1. 首先,用notepad新建一个内容为  接着,用Access打开您的数据库文件,新建一个表,随便起个名字,在表中添加一个OLE对象的字段,然后添加一个记录,插入之前建立的文本文件,如果操作正确的话,应该可以看到一个新的名为"数据包"的记录。即可。 中国2.数据库名前加“#”3.加密数据库conn.open "driver={micr

  • ACCESS数据库防止下载大盘点

    ACCESS数据库防止下载大盘点          怎样防止mdb数据库被下载一直是用access的程序员的一大头疾。现在总结如下有效方法:1. 修改数据库名。这是常用方法,将数据库名该成怪异名字或长名字,以防别人猜测。一旦被人猜到,别人还是能下载数据库文件,但几率不大。如将数据库database.mdb改成dslfjds$^&ijjkgf.mdb等2. 修改数据库后缀。一般改成dat

  • 如何防止Access数据库被下载- -

    有什么方法可以防止数据库被人下载呢? 下面提供的的方法分别适用使用虚拟主机空间的用户和有IIS控制权的用户!一:购买虚拟主机空间的,适合没有IIS控制权1:发挥你的想象力 修改数据库文件名这个是最基本的。我想现在也没有多少连数据库文件名都懒得改的人吧? 至于改成什么,你自己看着办,至少要保证文件名复杂,不可猜测性。当然这个时候你的数据库所在目录是不能开放目录浏览权限的!2:

  • 5种防止ACCESS数据库被下载的方法

    怎样防止mdb数据库被下载一直是用access的程序员的一大头疾。现在总结如下有效方法:1. 修改数据库名。这是常用方法,将数据库名该成怪异名字或长名字,以防别人猜测。一旦被人猜到,别人还是能下载数据库文件,但几率不大。如将数据库database.mdb改成dslfjds$^&ijjkgf.mdb等。2. 修改数据库后缀。一般改成database.asp 、database.asa、 databa

  •  ACCESS数据库防下载方法

    下面的方法分别适用有IIS控制权和 虚拟空间的用户!   1:修改数据库名。这是常用的方法,将数据库名改成怪异名字或长名字以防他人猜测。如果被猜到数据库名则还能下载该数据库文件,但机率不大。如:将数据库database.mdb改成fjds$^&ijjkgf.mdb这种名称。   2:修改数据库后缀名。如改成database.inc、databa...

  • 防止ACCESS数据库被下载的几种方法

     昨天和animator试验了一下,把data.mdb文件改名为data.asp文件后放在wwwroot目录里。然后在IE中输入data.asp路径后,发现IE显示一片空白,右键->察看源文件,跳出记事本,将内容另存为.mdb文件,用ACCESS打开,发现需要密码,也就是说至少文件头被破坏。然后用Flashget试验下载data.asp文件,并另存为data.mdb文件

  • [导入]ACCESS数据库防止下载

    文章来源:http://blog.csdn.net/21aspnet/archive/2007/03/20/1535546.aspx 转载于:https://www.cnblogs.com/zhaoxiaoyang2/archive/2007/03/21/816052.html

  • 防止access数据库文件下载

    转经过我的试验,不管是把文件名改为.asp,还是在文件名中插入空格、百分号之类的字符,都是没用的。真正有用的方法是—— 在数据库中建立一个表,只需要一个字段,类型是OLE对象。 然后在电脑上新建一个txt,内容是 ,或者你要redirect或者干脆让它出错什么的都可以。然后再数据库中的那个表,导入该txt。然后把数据库后缀名改为asp 这样,当别人试图下载的时候, 里面的内容将被运行,从而防止

  • 防止 Access 数据库被下载的手段。

    网络上使用数据库来发布、收集以及管理信息是经常使用的方法,而现在大多数服务器使用 Microsoft 的 IIS ,大部分个人或者公司的用户使用直接指出相对路径地址的 Access 数据库,这种数据库的地址一旦被发现,就毫无安全可言,因为它可以直接被下载。有一种方法是由网络管理员给你设置一个 dsn,但这不能解决数据库可能被下载的问题;很多人说,把数据库文件的扩展名由 .mdb 改为 .asp

  • JEDEC SPEC 最新版 合集 DDR2/DDR3/DDR4/DDR5/LPDDR2/LPDDR3/LPDDR4(X)/LPDDR5(X)

    JESD79-2F DDR2 JESD79-3F DDR3 JESD79-4D DDR4 JESD79-5C DDR5 JESD209-2F LPDDR2 JESD209-3C LPDDR3 JESD209-4E LPDDR4 JESD209-4-1A LPDDR4X JESD209-5C LPDDR5(X)

  • COMSOL二维光子晶体角态研究:单胞与超胞能带计算及边界态与角态特性分析,COMSOL二维光子晶体角态研究:单胞与超胞能带计算及边界态与角态特性分析,comsol二维光子晶体角态 单胞能带,超胞能

    COMSOL二维光子晶体角态研究:单胞与超胞能带计算及边界态与角态特性分析,COMSOL二维光子晶体角态研究:单胞与超胞能带计算及边界态与角态特性分析,comsol二维光子晶体角态。 单胞能带,超胞能带,边界态以及角态计算。 ,comsol;二维光子晶体;角态;单胞能带;超胞能带;边界态计算,基于Comsol的二维光子晶体角态及能带边界计算研究

Global site tag (gtag.js) - Google Analytics