您的位置:首页 > 其它

THIS IS LEAN

2014-04-03 14:07 211 查看
把这段时间对Lean的学习和体会做一个总结。

【起源】

Lean,中文为精益生产,是一种在生产线上产生出来的thinking。

第二次世界大战,以日本、德国为主的法西斯轴心国败给了以美国、俄罗斯、中国为主的反法西斯联盟。日本作为战败国,工业遭到了极大的创伤,相当于一夜之间得从零开始。以汽车行业为例,当时美国福特公司一天能生产7000辆汽车,相当于日本一年的生产量。日本工业和制造业的百废待兴可见一斑。而Lean也是在这种环境下,从汽车制造生产线上产生的,为日本的制造业复兴做出了极大的贡献。当然,日本在二战结束之前,从各国搜刮来的财富,更是日本经济迅速复兴的重要基础,但这是题外话,此处不表。

当时日本丰田派人到美国福特做调查,

发现日本汽车的产量远远落后于美国,但是日本人回来写的report却提到,“那里的生产体制还有改进的可能”。并最终进行了一系列的改进,使得后来日本汽车的产量占当时世界总产量的30%以上。而丰田的这种生产方式也成为日本工业竞争战略的重要组成部分,在日本的经济腾飞中起到了举足轻重的作用。

日本经济的迅速崛起和日本企业在国际市场上的成功,让西方世界尤为瞩目。当时,由MIT组织世界上17个国家的专家学者,耗时5年,以丰田这种开创大批量的生产方式和精益生产方式的JIT(Just intime)经典模式,经理论化后总结出来,成为LeanProduction。

后来人将Lean的出现,定义为制造工业的一次革命。

【推荐书籍】

《The Machine That Changed the World》, 《LeanThinking》

【Pillars of Lean Thinking】

在Lean中,最重要的两个pillars就是respect for people和continuousimprovement.

Respect for people,顾名思义,一个企业的生存之道,以人为本。在前几天参加的training中,presenter有介绍到,在丰田的生产线上是如何体现出这一点的。

大家都知道,一个汽车的生产,必然是由若干条流水线组成的。比如流水线A生产方向盘,流水线B生产轮子,流水线C生产座椅……最终将各条流水线生产的零件组成一辆汽车。那么,在丰田的流水线上,有着一个特点,每一位工人面前有一个拉环(可以理解为地铁上供手拉的那种吊环)。当某一条流水线上的工人碰到一个无法在短时间内迅速fix的issue,他就会去拉这个吊环,从而导致所有的生产线都停下来,各条生产线上的工人都会立刻过来帮这位工人去fix这个问题。在这个问题fix了之后,大家再回到自己的位置上,所有流水线再重新开动。

在这个scenario中,大家是不会去责怪这个工人拉下吊环从而导致了所有流水线的停滞,而是尽可能地尽所有人之力去推动这个issue的解决,使得项目尽量地流畅地往下走。所以说,这样的企业雇佣的是“一整个人”,肚子疼了有脑子来想有手来揉,而不是那种仅仅雇佣了员工的“一双手”的企业。

Continuous improvement,在上一个scenario中,体现为会有人跳出来,对产生这个issue的原因进行总结,找到rootcause,最终施以对策,并对整个process进行improve。

【Lean Principles】

Lean有7条重要的principle。

1.      EliminateWaste – optimize the delivery of customer value

·        在软件开发过程中,最大的三个waste是什么?你不妨问问自己。这里的答案是:做了错误的东西,failureto learn,trashing

·        做了错误的东西很好理解,客户需要一支猴子,结果你给了他一根香蕉。显然客户要找你麻烦。

·        Failure to learn,软件开发实际上是一个持续学习和进步的过程,去学习新的东西然后makeit into reality。但是过程中往往会遇到计划外的情况,比如plan的变动,频繁的handover(离职,上层调动等各种原因),一些不考虑market的decision,都会打乱team开发的进度

·        Trashing,就是bug 、taskswitching、designloopbacks之类的问题,会消耗掉team大量的时间

So,在开发的过程中需要尽可能地去eliminate waste,让整个deliveryof customer value更加smooth

2.      BuildQuality In - design and build quality into our products and services ratherthan ensuring quality through late-cycle testing and verification

·        Final Verification Should Not Find Defects. 我是做测试的,所以对测试这一块会比较敏感。在项目开发的流程中,测试是做的越前面越好的。如果在立项阶段测试就能参与进来,就能在软件开发的生命周期中均保持对quality的assurance。如果都指望在project的end来一次全面的verification,那么你会发现这个项目会越做越久。。。

·        Mistake-Proof your Process with Test-FirstDevelopment. 实际上在整个项目周期中,单元测试、集成测试、系统测试、验收测试等都需要进行,并不是一个串行的流程,同时这些测试是可以针对project的各个level的

·        Break Dependencies. 整个软件框架应该是具备可扩展性的,不会对以前的功能有过多的依赖。Infuture, 有一些新增feature,也可以随时添加进来,以应对不断变化的市场

3.      Learnbefore Commitment – Planning is useful. Learning is essential. 在commit之前,请进行充分的plan和learning,以保证quality

·        Predictable Performance is Driven by Feedback. 根据客户反馈来进行performance的调整和改进,一个predictable的组织靠的是plan而不是guess

·        Maintain Options. 让你的code更加change-tolerant

·        Schedule Irreversible Decisions at the lastresponsible moment. 对于不可逆的决定请在最后时刻再做,不要在project一开始的时候就决定,以避免方向性的错误

4.      DeliverFast. – deliver customer value early and often creating a culture of delivery. 关于这一点,我想到的是agile里面的切蛋糕理论。当你有一块7层的水果大蛋糕,Plan A是横着切,即把第一层的水果层切给客户吃,然后是第二层巧克力层,然后是第三层奶油层….PlanB是竖着切,第一次把7层的大蛋糕切出一小块(包含7层内容)给客户吃,第二次是第二小块,然后是第三小块….如果你是客户,你更喜欢哪个plan呢?

·        Rapid Delivery, High Quality and low cost arefully Compatible. No need to explain.

·        Queuing theory applies to development, not justservers. 请把事情放在队伍里,一个一个来,同时对队伍的size和speed作出限制,这样你的team不至于太辛苦,同时对customer又能有一个很好的交代

·        Managing workflow is a lot easier than managingschedules. 用我的一个同事的话来说,就是“一切都是制度决定的”…..

5.      ImproveRelentlessly – encourage continuous learning, improvement and innovation.

·        Standards exist to be challenged and improved. 其实我倒认为这句话应该分为两面来看。好的standard是用来follow的,不够好的standard是用来break和improve的

·        Learn how to see problems and solve problems. 要注意培养所有在这个project中的人的发现问题解决问题的能力

6.      RespectPeople. – Build empowered, self-organizing and high performance team.

·        Teams thrive on pride, commitment, trust andapplause. 请尊重team中的每个人,当出问题的时候,所有人都应该去帮助他,像前面提到的丰田生产线的例子。当有成就的时候,请不要吝啬你的掌声和喝彩。

·        Provide effective leadership. 当然,能有一个牛逼的teamleader是再好不过了。

·        Respect partners.

7.      Appreciatethe System. – overall throughput of customer value is more important thanindividual utilization. 请时刻谨记,你们是一个team。不要逞英雄主义。

·        Focus on the entire value stream.

·        Deliver a complete product. 也就是切蛋糕的道理。

·        Measure up.

【Lean Game】

说了这么多Lean的principle,要是死记硬背估计要吐血了。所有就有了LeanGame。玩一遍,上面提到的概念都会很清晰了。

Lean Game分为3轮,每轮10min,之间有3-5min的plan和retrospective的时间。参与人数可以是7-13人/组。每组角色如下:

每个角色的定义简述如下:

C --- Customer:负责给MU提供需求

MU --- Marketing:负责处理MU给出的需求,并提供给PO

PO --- Product owner:告诉DE和TE从MU那里得到的需求,并给R&D做出方向性的指导

DE --- Design Engineer:码农

TE --- Test Engineer:会测试的码农

INT --- Integrator:将TE传过来的data进行汇总,并传给RL

RL --- Releaser:处理TE传过来的data,并整理格式,最终按照需求交给Customer

附加一个角色 Observer:负责观察整个流程,并在最后给出评分和评价。

评分细则我就不详述了,有兴趣的可以找我交流这些细节。

大概描述一下整个过程吧,1st round,所有人会处于一个混论的状态,完全不知道在做什么需要做什么,2ndround,会有人意识到需要改进流程减少waste和respectpeople,3rd  round,team合作渐渐开始smooth,有一定的产出。4thround…..

整个游戏结束后,不妨再从以下几个方面来进行retrospective。

·        Defect

·        Overproduction

·        Transportation

·        Waiting

·        Inventory 

·        Motion

·        Processing (over-processing)

【总结】

真正把Lean的精神融入到企业的运作中去是不容易的事情,更多的是一些带有企业特色的Lean。而且能把生产线生产这一枯燥无味的事情做得这么有趣,确实是难。其实大家不妨去了解一下,双十一马上到了,像京东或者易迅这些电商,为什么能把物流做到极致,当日送达?

这里头处处可见Lean的影子。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐