有人说,实践敏捷的根本不在于敏捷本身,而在于理解敏捷背后拥抱变化的基因。确实,使用敏捷,那么你就应该知道为何敏捷。如今,国内很多敏捷团队没有真正的了解敏捷的精髓,也说明了为什么在使用敏捷的过程中并没有真正的“敏捷”。所以,不但不能真正的解决传统开发的一些问题,反而新增加了更多的问题。因此,51CTO记者采访了具有17年软件研发、管理咨询经验,擅长在实际环境中应用敏捷开发实践的专家陈勇老师,为网友们解读敏捷在开发实践及管理中的一些问题。pmp.mypm.net
training.mypm.net
陈勇,17年软件研发、管理及咨询经验,擅长在实际环境中应用敏捷开发实践。具有丰富的工程技术与项目管理实践经验,从其程序员、项目经理、CMMI/FPA功能点估算/敏捷咨询师、事业部总监、副总经理等各种技术与管理岗位获得的一手经验,令其可以站在企业管理者的角度,以更广的视角来理解敏捷开发,并能配合和推动非研发部门协作推广敏捷。项目管理者联盟
工作经历:service.mypm.net
曾以技术骨干和项目经理等身份,组织和承担开发了国庆50周年直升机编队指挥系统、空军一基地GPS数据源系统、清华同方CCTV数字电视条件接收系统、航空材料研究院无损检测系统等项目,并在其中某些项目中实践敏捷。项目管理培训
曾在清华同方、普天集团、亚信科技等企业担任EPG骨干、组长;曾在斯福泰克、DNV ITGS等机构担任CMMI/敏捷咨询师。www.mypm.net
曾在中国系统与软件改进年会 、中国软件技术大会、敏捷中国大会、MPD等国际国内会议从事敏捷演讲、翻译或主持工作。pmp.mypm.net
在任泰克赛尔软件公司中国部门的咨询总监、ALM事业部总监、副总经理期间,主管敏捷研发管理工具的市场、销售、支持与咨询活动,在盛大、金山、腾讯、汉王科技等知名企业深入推动其工具应用与实施活动。项目管理者联盟
当前正在作为产品经理、架构师带领一个小型团队,从事“火星人敏捷开发在线服务”的研发工作。很多课程与咨询中的最佳实践,均来自于其之前及当前参与的实际项目的一线实践。项目经理圈子
以下是采访内容:项目经理圈子
记者: 在使用敏捷当中,很多人都是看中了它的成本控制,能够降低在项目开发中的浪费,但是往往适得其反,不但没有降低,反而增加了开发成本,那么在成本控制这块您怎么去理解?项目管理者联盟
陈勇:看看清楚敏捷开发对成本的控制,先要看之前的方法有何问题,比如瀑布模型。项目管理者联盟
对瀑布模型而言,有两个地方控制不好成本:项目经理圈子
一,瀑布模型中,如果项目签的需求太多而价格太低,往往在中后期会通过工时统计等发现入不敷出,但由于普通模型这时候正处在编码末期或测试前期,因此很难就此停下,或删除某些次要功能继续开发(因为在晚期删除功能往往成本很高)。项目管理者联盟
对这个问题,敏捷开发解决得比较不错,也很容易实施。渐进式交付使得“随时”停止开发并进行发布变得可能。项目管理者联盟
但要注意如果优先级排序不当,也可能会面临“重要的功能还没有开发,次要功能却开发了不少”的尴尬境地。bbs.mypm.net
另一个问题是提前交付可以换回一些款项,但并不能彻底解决成本超支的问题。这时候应该配合类似功能点分析这类的方法来解决。也就是早期用功能点报价;中间如果通过计数发现由于需求蔓延、变更等原因导致需求的总量上升了,那么乙方有权要求追加款项,或删除某些次要功能。这种听起来不可思议的想法,在某些国家如芬兰、澳大利亚都是很普遍的。可能我们会抱怨说甲方不赞同或不理解这种过于“偏技术”方法,但如果连乙方都不赞同不理解,就不能单方面责怪甲方了。2012年底中国刚刚推出了基于功能点的软件成本估算相关的国标,试点领域是政府软件开发。虽然现在还没有对阶段性付款提出方案,可以已经可以看出未来的大趋势一定如此。项目管理者联盟
二,瀑布模型中,如果需求变更比较频繁,初期付出众多工作量的需求、设计常常被不断返工,进而又引发编码返工,造成成本上升。blog.mypm.net
敏捷开发解决这个问题的方法很简单:减少早期对需求、设计的投入,尽量早让产品“可运行”以便让客户提出反馈意见。项目管理者联盟
不过这个方法极其容易被“用过头”,比如有些团队可能放弃了必要的需求和设计,导致由于蛮力编码造成编码混乱而不断返工,整个产品则像一个没有骨架的沙雕一样难以做大。项目管理者联盟
正确的方法是:在渐进式开发、渐进式交付的同时,做渐进式需求和设计。我们要避免的是需求和设计返工,而不是需求和设计活动本身。因此对大中型产品而言,应该保证每个阶段的编码之前都有简单设计用以保证编码的正确性;而被客户确认后的功能至少要“后补”需求和设计,以备未来回溯。这样既避免蛮力编码返工,又能避免推翻设计的返工。service.mypm.net
记者:做到敏捷开发,每个团队都要经历一个转型期,那么在转型期还需要每个团队根据自身的不同,找出合理有效的解决方法。一般如何去处理这个问题?项目经理圈子
陈勇:这是培训和咨询过程中最常见的一个问题,也是最难回答的。有几个步骤可以帮助找出合理有效并适合团队的方法。bbs.mypm.net
一、对有效性进行定义和评价项目管理者联盟
完全量化管理可能做不到,但“半年后,我们希望能每月发一个可交付版本”或“把总体测试时间降低一半”这类明确个别定义还是可以找到的。当然不同团队首批目标不同,首批要实践的内容也不同。但有了目标,就可以防止团队借口“项目特色”,言敏捷之名行混沌之事。项目管理者联盟
|