精益开发之我见

概念

最近看到一篇文章,说到目前越来越多的初创企业开始实行精益开发,随查了下精益开发的主要内容,发现精益开发是基于丰田生产方式(TPS),由敏捷社区引入并发展的一套生成系统,感觉丰田真是一家伟大的公司,在日本这个人口拥挤的弹丸之地,却发明出了改变整个行业的系统性方法,不仅仅给本企业带来了巨大的利润,也给行业树立了标杆。

精益开发可以总结为如下七条原则:

可以看出来,精益开发的唯一目的就是使用最少的工作和资源,为客户创造尽量多的价值,任何不能为客户增加价值的行为都是不需要的,或者说如果某项活动或者流程可以被跳过或者取消也能达成最终的结果,那它就是浪费。在开发过程中作成但最终被废弃的代码是浪费;客户不经常使用的额外的处理和特性是浪费;令人员在多个任务间切换是浪费;等待其他任务是浪费;缺陷和低品质是浪费;不产生实际价值的、过度的管理也是浪费。


核心问题:沟通

软件开发在过去的几十年里都是大公司的专利,最近10年的快速发展,让很多小公司都有能力雇佣很少的开发人员就能完成相关的开发工作,从上图可以看出来,软件开发行业的基本流程也在不断的发生变化,从最开始传统公司的瀑布式开发,到一般互联网公司的迭代式开发,再到目前流行的敏捷开发、精益开发,这其中的每一个过程实质上都是为了解决沟通的问题。从瀑布到敏捷是为了解决组织内沟通的问题,从敏捷到精益不仅仅优化了组织内的沟通问题,还强化了与外部的关系。换句话说,精益结合了一部分的互联网思维。

沟通过程中最怕陷入互相扯皮推诿的境地,按照精益开发的原则一个有效的沟通应当是使得开发目标更加明确,开发人员之间的协作更加有效地进行。而如何有效的沟通呢?可以通过项目沟通计划来实现,个人感觉其作用非常重要,但却常容易被忽视,很多项目中不做完整的沟通计划,导致沟通混乱,轻则导致项目组工作效率低下,重则直接导致项目延期甚至以失败收尾。项目经理确定之初要做的第一件事就是确定整个项目的沟通计划,因为在沟通计划中描述了项目每个阶段每类沟通产生的进度计划、约定的处理方式和流程等等。只有建立起良好的沟通规则,才能把握好沟通,从而全面了解项目的各方面信息,不断推动项目的顺利进展。

标签:none