UML软件工程组织

探讨软件过程与过程改进
作者:雅行、方圆、李怀璋、武占春 本文选自:中国计算机报——赛迪网

 

也许CMM被谈论得太多了,人们反而很少提及CMM的目的。其实,CMM的目的就是实现软件过程的改进(SPI),从而提升软件组织的核心竞争力,取得竞争优势。

那么,试着把SPI的“S”去掉,然后从以下三个观点中理解“PI”:凡是活动都存在过程;凡是过程都需要改进;凡是改进都没有终点。


跳出画面


我们可以从“过程视角”观察各种流行的知识域,因为它们都是支持过程理念的。从过程视角观察各种流行知识域,不仅仅是拓宽视野的问题,也引发了许多新的有趣的课题。如图1所示,你会发现,各种流行的知识域都与过程改进有关。


图1 从过程视角观察各种流行的知识域


从行业视角来看,SPI的S可以换成A、B、C……X,它们遵循着同样的规律性(如图2所示)。例如,它们都强调以过程视角观察活动,强调在某种动力下过程的不断改进,那些对“人”敏感的过程都受着组织文化的强烈影响等。


图2 按照行业划分的过程改进


现在我们再考察SPI这件事,如果把SPI当作一剂药方的话,CMM就是其中的一味药。实施软件过程改进时,既可以使用CMM模型,也可以应用ISO9000,既可以借鉴PMBOK体系,还可以综合应用其它的知识体。从SPI视角来观察CMM,可能更适合国内企业的实际情况。同理,从过程改进高度看待各种知识域,将有助于实现不同领域知识的借鉴和融合。


过程改进的历程


对于过程改进的历程,还是从三化谈起:僵化、固化、优化。这个概念被软件行业的过程改进者广泛接受。就像有人建议的那样,SPI的第一步是SPC。注意,这里并非指高成熟度组织的SPC(统计过程控制),而是指低成熟度组织的SPC(软件过程创建),C代表Creat。在这个阶段,要降低过度的灵活,因此称为僵化阶段;障碍并未彻底消除,过程的创建借助行政力量的推进才能得以完成。而固化阶段解决的正是消除障碍的问题,对应于障碍消除ABO阶梯的B阶段(ABO阶梯:Awareness、Buy-in、Ownership,了解-接受-拥有),在这个基础上,改进才真正开始。


图3 过程改进的驱动机制示意图(图中,灰线代表动力链,黑线代表信息流)


对于CMM这样的分级模型,如果没有足够长的实施期,即使快速达到了比较高的级别,也并不意味着存在真正意义上的改进,除非把创建也看作广义的改进。

三化在软件行业得到了更多的认同,恐怕与其行业成熟度有关。但软件行业的绝大多数企业在开始过程改进的时候,并没有将真正意义上的流程作为改进的基础。


目标之外,还需过程


在管理领域,与过程管理相对的是目标管理(Management By Objectives,MBO),由美国德鲁克大师提出。人力资源领域的关键业绩指标(KPI)概念,即是目标管理概念的延伸。“白猫黑猫”的比喻恰似MBO的中国版。

之所以“目标之外,还需过程”,是因为目标其实是由过程决定的。一般来说,好的过程倾向于得到好的结果,而不良的过程多半会导致失败。请注意,这里用的都是不肯定的语气。的确,对过程的关注往往是事物发展到特定阶段的选择。关注过程是有代价的,对于新创的以及求生存阶段的组织,往往不愿意接受过程成本。理论上,那些商务活动平稳、现金流充裕的组织比较适合于过程理念的生长。

过程的成长是不会自发产生的。自然辩证法告诉我们:自发过程总是向着混乱度增大的方向发展;反之,体系向有序过程的进化是不会自发产生的。所以在过程的成长中,有组织的改进是不可或缺的。

在过程改进的组织中,存在着过程定义、过程审计角色,他们分别承担流程创建和优化和流程检查监督的职责,统称为过程改进人员。按照图3所示模型,过程改进的利益相关者至少包括四个层面:客户、高管、过程改进人员、部门和团队。


后记


本文介绍了无所不在的过程,并试图探讨一些过程以及过程改进的共性问题。改进的实践发生在社会生活的各个方面,它还会继续渗透到更广和更深的地方。无数的改进形成了社会的整体进化,从这个意义上,改进是不会停止的,这是一场过程“奥林匹克”,就像奥林匹克所倡导的:超越、超越,永无终点。

制度化与灵活性的辩证

对过程改进的一大疑虑是担心丧失灵活性。反对过程改进的人,总是拿“活学活用”当作挡箭牌,其实这几个字应该有次序的,即先学、后用、再活。

过程改进的目标是寻求制度和灵活的恰当平衡,其中制度乃是灵活之本。

以下三则比喻可以给我们很好的启示:

· 比喻一:树木

一棵树在1米高的地方分叉叫灌木,在十米高的地方分叉,才可以成长为乔木。

比喻一告诉我们,灵活性是基于一定的规则之上的,过分强调灵活性,企业就只能在低水平上重复(灌木)。在一定规则之上应用灵活性,企业才可以成长壮大(乔木)。

· 比喻二:火炉

冬天,没有火炉会冷,有了火炉,我们常常感觉不到它的存在,它只是在默默地发着热。但是千万别触摸它,否则会挨烫。此外,火炉对人是公平的。

比喻二告诉我们,规则(火炉)是不可缺少的,它给我们带来利益(温暖),一旦适应了以后,我们甚至感觉不到它的存在,但是我们不能触犯它,否则会被惩罚。

· 比喻三:交通

如果没有交通规则,道路一定会拥堵一团,对谁都没好处;有了交通规则,大家“有时”感到不方便,但最终人人都可以到达其目的地。

比喻三告诉我们,制度有时候会牺牲局部和短期利益,但是对整体和长期发展是有利的。

旧的文化是否兼容新体系?旧的价值观是否支持新体系?旧的典型是否代表新体系?多数情况下,答案恐怕是值得质疑的。

(责任编辑 Sunny)



版权所有:UML软件工程组织