在软件行业,我们提供产品给顾客,标榜我们对质量的承诺,甚至打着过程成熟度的认证的旗号。但是真正起作用的是用户对产品的印象。如果用户需要忍受经常的死机、烦人的bug,或者软件很难用,那么我们的质量是个脆弱的东西。我们贴着ISO、CMM或6个西格玛的标记并不会让我们好过点。那么怎样的组织才是个质量组织?软件行业中的丰田是怎样的呢?
一、疯狂的过程
我们都希望为我们的用户制造出高质量的产品。通常,我们尝试通过改进我们的流程来提高产品质量。表面上看起来,过程改进确实需要提倡,毕竟,我们怎样做一样事情对最终结果会有重大的影响。但是,在我们多年研究的很多项目中,我和我的同事Jim Coplien发现一个组织的流程不很好地反映它的总体效力。随着我们的进一步研究,我们发现几个原因。
其中一个原因是,很多流程没有真正产生它们预期的好处。流程可能需要过多的成本,从而削减了它们的好处,或者真正的结果与计划想要的不一样。因此,人们通常偷偷绕开流程以便完成他们的工作。
另外一个原因是,组织认可流程和流程应该达到的目的,但是对于组织来说存在更加重要的目标。你可能有质量流程,但是当进度受紧时,进度胜利了,质量流程被扔出了窗外。简而言之,我们的行动受到很多动机的驱动。这些动机形成我们的流程 – 那些我们真正执行的流程。这些动机比流程要稳定,因为这些动机来源于组织的价值。实际上,这些价值在组织的核心位置,并驱动组织的大部分集体行为。这对于质量而言更加正确。
二、发现价值
定义个人的价值是很容易的 – 它们是我们觉得对自己是最重要的原则。例如,我们的个人价值可能包括诚实、帮助别人、做好自己的工作。组织的价值类似于个人价值 – 它们是这个企业作为整体考虑的最重要的原则。
每个企业都有一个文化,而价值是文化背后的驱动力量。“文化”这个词会勾起我们一副婆罗洲丛林中的土著的图画。我们想象他们的药师、他们的典礼、他们的咒语,还有他们的民间传说。他们有自己的符号、信仰、神、惩罚制度。全世界的企业的文化也是类似的。在我们自己的组织中,我们有自己认为最强的人。我们有自己的典礼 – 我们把它叫做“流程”。我们的语言充斥者自己的术语和缩略词,这些都是我们的文化的标记。我们的文化创造出角色和沟通方式,并建立惩罚制度。
企业的价值很难被找出来。有些组织仅仅把它抓住而不愿意分享。而有些则没有意识到自己的价值是什么。但是有一些方法洞悉组织的价值。
其中一种方法是看组织给予哪些人奖励。你是否因为建造高质量的软件而得到奖励?如果有,你是幸运的,因为你的组织很可能认为质量是非常重要的。另一方面,你可能因为软件完成得快而得到奖励,忽略了它的质量。
有时候,价值是很奇怪的。我研究的一个企业,我看到人们处理紧急关键的问题会得到大的奖励。这创建了一种鼓励出现紧急危机的文化,这样,人们能成为英雄。当我问及这个问题时,架构主管说,“是的,我们像汽车跑在汽油上一样对待危机。”在这个组织,质量不是一个核心价值,实际上,它奖励一些会导致低质量的行为。
价值还体现在人们扮演的角色、这些角色之间的沟通类型。尤其能从质量和沟通的质量看出来。它们展示给我们看那些角色是重要的,由组织的文化暗中指定了。我们从研究的组织中发现模式。这些模式形成了动态组成的软件项目组的语言模式。这里有一些模式是跟质量和价值尤其相关的。这些模式是从Organizational Patterns of Agile Software Development这本书选出