哑铃形组织结构所存在的前提假设有两个。其一,度量数据能真实地反映软件质量。显然,在软件危机仍四伏的今天,业内并没有找到完全能用于度量软件质量的指标,这一假设对于现实多少显得很是渺茫。其二,软件开发部门能诚实地提供度量数据。对于目前国内职业化程度不高的状态,这一假设也很难成立。
因此,哑铃形组织结构所带来的第一个困境是:将两个部门分别变成了“看数据的”和“造数据的”两大阵营。软件开发部门为了达到质量管理部门所制定的“质量目标”,不时需要考虑如何将数据“造”好,哪怕“造”的手法有点低劣;而质量管理部门由于只是通过数据去了解软件产品的质量状况,除了不能理解有些指标为何忽上忽下外,更无法督促开发部门就质量问题的根源进行根治。
克服这一困境的对策我认为需要从打破组织结构开始。真正掌握软件真实质量状况的并不是来自质量管理部门的人,因为他们根本没有触及软件源代码,而是来自开发部门的软件工程师。为此,两部门的人员应当存在交集才更有可能做好质量管理工作,或许下图的组织结构更有助于达到这一目的。
质量管理容易出现的另一大困境是:太强调流程与数据,而忽视质量管理很重要的内容是帮助工程师改善工作习惯(比如编程习惯)和提高开发环境的工作效率(比如项目的编译效率、单元测试的实施效率)。在这种困境之中,质量管理活动更多地表现为“钢性” — 达到设定指标或没有达到,而缺乏应有的“柔性”理解。虽然“产品质量源于过程控制”这一思想被业界广泛认同,但却仍容易忽视将工程师的工作习惯和开发环境的效率纳入到质量管理的范畴之中,这也是造成不少质量困境的关键因素。 对于这两方面内容的重要性,无论如何强调也不为过。


724




被折叠的 条评论
为什么被折叠?



