关于软件开发中应用精益原则的讨论,大部分集中在识别和消除浪费(浪费在日语中叫作:muda)。同样,精益思考的目标是消除过重的负担(过重的负担在日语中叫作:muri)和不必要的变化(不必要的变化在日语中叫作:mura)。最近,Roman Pichler对“M三兄弟”之间的关系进行了讨论,并建议将消除过重的负担作为走上精益之路的第一步。
Muda,muri和mura合称为“M三兄弟”。它们三个在一起就成了不谐调的组合。只有消除了这“M三兄弟”,才能创造一个可持续的精益过程。本文讨论了这“三兄弟”的关系,并认为对于软件开发组织来说,要建立一个精益过程,第一步要做的事情就是消除额外的负担。
在精益思考(lean thinking)中,浪费被定义为:所有以客户的角度看来不增加价值并且可以移除的活动。例如,生产过剩、过渡加工、在制品,或者库存、缺陷、任务易手和任务切换、等待,以及没有用到的员工创造力。
从客户的角度来看,能增加价值的活动才能让产品品质得到提高。判断是否为增值活动的好办法就是问自己这样一个问题,“假如我是客户,我愿意为这个活动付费吗?”如果回答为“是”,那它就可能是个增值活动。例如,发现和理解客户需求,并写出代码。另外,正如后来Allen C. Ward所指出的那样,使用原型法来学习相关知识以便开发软件系统,这样类似的活动也属于增值活动。任何不创造价值而当前又无法消除的活动被叫做“非增值”活动。例如配置管理和项目计划活动。