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的影子。
【起源】
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的影子。
相关文章推荐
- Ubuntu报“xxx is not in the sudoers file.This incident will be reported” 错误解决方法
- 报错:1130-host ... is not allowed to connect to this MySql server 开放mysql远程连接 不使用localhost
- SQL70001: This statement is not recognized in this context.
- 排除问题提示“Software virtualization is incompatible with long mode on this platform,...”
- 解决mysql远程连接Host ‘*’ is not allowed to connect to this MySQL server
- Cannot find ./catalina.sh This file is needed to run this program
- SQL Error (1130): Host IP is not allowed to connect to this MySQL server
- 解决mysql远程连接Host ‘*’ is not allowed to connect to this MySQL server
- 远程连接服务器出现 SQL Error (1130): Host IP is not allowed to connect to this MySQL server 错误
- 世界末日 This is the End (2013)
- This version of the rendering library is more recent than your version of ADT plug-in. Please updat
- Host 'localhost' is not allowed to connect to this MySQL server解决
- 1130 - Host ‘win7' is not allowed to connect to this mysql server
- This is my life,if i don't fight for it,who will?
- svn: E155021 this client is too old to work with the working copy at
- Xcode上传App到Appstore,报错Error ITMS-90049:"This bundle is invalid.The bundle...."
- The solution of ' The project type is not supported by this installation?'
- Mysql:is not allowed to connect to this MySQL server
- 不明警告:empty controlled statement found; is this the intent?
- mysql远程连接 Host * is not allowed to connect to this MySQL server