理解Lean:正在进行的工作是一种浪费

 

前几天,我在北京参加了Lean软件开发方法先驱Mary Poppendieck的“Lean Workshop”(精益工作坊)专场演讲。如果说从形式上看,Scrum表现为一个个的迭代(Iteration),那么Lean则表现为价值流(Value Stream)。Lean方法特别强调了消除浪费,保证价值流快速顺畅地流动。这个观念不难被接受,但第一次接触Lean开发的我对Mary提到的“正在进行的工作是一种浪费”(Work in Process is Waste)大为惊讶!怎么会说正在进行的工作是一种浪费呢?现场有听众向Mary提问请求解释,Mary在纸板上画了一个项目周期图示例从用户提出需求到交付共6个月。Mary说这6个月就是一种浪费!为什么不是3个月,为什么不是马上交付?

 

经过一番思索我认为Mary是有道理的,且听我举一个去餐馆用餐的例子。 我到餐馆坐下,点了一道宫保鸡丁,20分钟后服务员把菜送到了餐桌前,吃完以后我付给收银员25块钱。在这个过程中我的成本是多少呢?仅仅是25元钱吗?不对,除了钱,我还付出了20分钟的等待时间。对我来讲这20分钟是完全的浪费!当然,作为餐馆它有足够的理由解释说“我们的厨师正在为您烧菜”,甚至说“您的菜单正在我们的队列中排队”,他们并不认为这是在浪费时间。这就难怪作为开发人员我们会为听到“正在进行的工作是一种浪费”而惊讶。

 

对于餐馆来讲有没有更聪明的做法消除这个浪费呢?当然是有的,首先识别出了浪费,消除的方法就可以根据情况灵活运用。比如,我们公司午休只有12:00~13:00一个小时,同事们常常会在公司附近一家川菜馆吃午饭,光是点菜等菜就会耽误我们20分钟左右。假如那家川菜馆可以提供一个菜谱给我们,并且提供电话订座点菜,那么我们就可以在下班前先电话点菜,等我们到了餐馆,菜就已经上来了,那生活该是多么美好啊!餐馆的浪费还可以有很多的方法来消除,那么软件开发呢?当然也有,留在以后探讨,今天我们先把“正在进行的工作是一种浪费”的观念建立起来。

posted on 2010-10-16 21:33  Todd Wei  阅读(1687)  评论(2编辑  收藏  举报