精益思想在软件项目管理中的应用探索

2014-01-24 03:36孙圣领
中国新技术新产品 2014年7期
关键词:反省精益代码

孙圣领

(中海网络科技股份有限公司,上海 200135)

1 精益思想概述

精益思想(Lean Thinking)来源于20世纪80年代的日本丰田生产方式(即精益生产),其核心价值是用整体优化的观点合理地配置和利用企业拥有的生产要素,消除生产过程中一切不产生附加价值的劳动和资源,提高经济效益,也即减少浪费,以尽可能少的投入创造出尽可能多的价值。精益思想包括精益生产、精益管理、精益设计和精益供应等,精益制造是其核心,精益思想应用的目的是实现公司和客户的双赢。

2 软件项目管理引入精益思想的必要性

现在软件项目越来越大,合同金额大,项目周期长,投入的人力和物力也逐渐增长。软件项目也是一个系统工程,它不仅仅是软件的开发,更是一个创造过程。软件技术日新月异,客户的需求瞬息万变,传统的管理思想和开发模式已经不能适应现实的需求,所以有必要引入精益思想,创新管理模式,改变以前的需求管理,开发流程,变更管理以及员工管理等,从而提高了工作效率,降低成本,节省项目管理人员和开发人员的时间同时提高软件质量和客户的满意度。

3 精益思想在软件管理中的具体实现

3.1 转变观念

精益管理的目的是降低投入,提高产出,实现双赢。实现双赢的首要条件是观念的转变。以前的观念是我为客户开发软件,客户付钱,我们开发,开发完成后交给客户,收款然后项目结束。因为一个软件项目往往服务多个部门的员工,有些需求是在软件的应用过程中才发现或者是随着时间的推移又有新的需求。所以在设计产品的时候要有主人翁的精神,就当这个产品是为自己设计,扮演一个领域专家的角色,不仅满足客户提出的需求同时和客户探讨将来可能用到的功能并提供解决方案。这样不仅能提高公司的收入同时也能提高客户的满意度。实现客户利益最大化,赢得客户的信赖。

3.2 工具文化和项目成员培训

软件设计和开发不仅是脑力劳动同时也是体力劳动,软件工程师加班加点是司空见惯的事情。现在软件技术还不能实现自动化生产,代码需要一行一行的写,页面还是需要前端工程师一个像素一个像素的调试达到赏心悦目。如何减少工程师的劳动,提高工作效率是引入精益思想要实现的目标。有句话是‘工欲善其事,必先利其器 ’,也就是说为了做好事情,必需做好准备。一个软件项目涉及项目管理人员,需求分析师,开发工程师和测试工程师等。公司要建议一个软件开发的生态系统,比如项目经理要负责整个项目,他需要全面的了解项目的各个方面,遇到问题应该被及时的通知到并且及时的反应。达到这个目的,必要的工具不可少,比如BurnDown图,Agile.zn等敏捷开发工具可以及时的了解项目的进展及项目中出现的问题。在项目开始之前,围绕项目需要的技术对工程师进行培训是行之有效的提高效率的方法。软件开发需要用到非常多的技术,遗憾的是工程师不可能精通所有的技术,所以培训可以让工程师快速的熟悉用到的技术。再者,要有一套开发工具。它包括代码规范工具、代码重构、集成工具、快速开发代码的工具和自动测试工具等。“工具文化”在美国硅谷非常盛行,一个公司最优秀的工程师经常是设计和开发工具,利用便捷的工具可以极大的提高程序员的开发速度和质量。

3.3 细化开发流程

精益制造在软件项目中的应用就是要细化开发流程,关注每个具体步骤的质量来达到软件的高质量。首先,把项目分成不同的功能模块,把这个功能切分成不同的小的模块,逐个实现。在实现一个小的模块的时候,可以把它分成不同的阶段。比如一个现金存取功能,其中有个汇率转换模块。如果把这个任务给一个工程师同时他还没开始做,可以设置它的状态为考虑中(thinking);当这个工程师开始做的时候,可以设置为工作中(working);工程师开发完成并通过单元测试,可以设置为检验中(verifying);这个模块通过了集成测试,可以认为开发结束(Archived)。这个过程看似繁琐,但是对保障项目质量是非常必要的。特别是一些公共模块,设计上的不足往往导致项目后期的大规模的代码更改,也是导致项目不能按时交付或者失败的罪魁祸首。正所谓细节决定成败。

3.4 代码审查

代码审查是软件项目管理的重要环节,尤其需要应用精益思想管理。一个项目组有不同层次的工程师组成,高级工程师有丰富的经验同时也经历过非常多的失败教训。有这些高级工程师检查项目代码,不仅可以很快的发现代码的不足,同时也可以给初级工程师一些建议。代码审查是一个很好的互相学习,培养团队合作精神和提高团队凝聚力的的途径,也必然会改善代码质量,提高开发效率。

3.5 团队成员自我反省

在项目开发过程中,我们可以积累经验,同时因为技术或者客观原因,也一定有做的不尽人意的地方。精益管理中主张自我反省,这个反省不仅包括团队中每个成员,同时也包括团队本身的自我反省。通过定期的自我反省,总结好的方面和差的发面,继续发扬优点,摒弃不足,团队成员可以不断成长,项目可以顺利推进。

结语

精益思想在欧美企业里得到有效的宣传和推广,有远见的国内企业家也积极的倡导精益思想,把精益制造应用于企业的生产经营中,并且取得不俗的效果。近年来云计算、移动互联网的迅速崛起也加速了IT行业的变革,这次变革也使得软件项目管理更加复杂,把精益思想应用于软件项目的管理中一定会起到事半功倍的效果。

[1]闵永慧,苏振民.精益建造的优越性分析[J].经济师,2006(10).

猜你喜欢
反省精益代码
精益思想在海外工程项目中的应用
常反省自己
考前焦虑?该反省一下
创世代码
创世代码
创世代码
创世代码
机加零件精益单元构建与应用
反省与克制
精益管理实践之“360”精益管理模式