为什么要软件质量管理?
这是一个大多数做质量的人员甚至做了一辈子也没有弄明白的问题,其实,要弄明白这个问题,必须先要搞清楚另一个问题:你所在的组织为什么会存在?它的目的是什么?
常规的商学院里使用的西方教材会教给学生们这样的知识:股东利益最大化,而国内的教程往往强调的是企业价值最大化。在股东利益最大的前提下,首先要制定战略,然后确定结构,接下来就是建立系统;其中计划与控制就是系统运作的关键因素了。我们从中很容易地就可以发现现代管理之父亨利?法约尔在19世纪就调配好的管理学套餐的"配方"(过程管理),看到世界上第一个"大厨师"弗里德里克?泰勒的手法(测量、评价),也看到了质量管理大师戴明(William Edwards Deming)操作过程(PDCA--戴明环)。
时光冉冉,涤荡尘埃。21世纪的实际情况又是怎样的呢?我们看到国外的企业早就开始站在使用者的角度去改变餐食的配方,强调的不再是股东或自己的良好感觉,而是使用者与供应者的口味与感受。逐渐地,他们发现:自己所以能够驾驰着战车一路高歌猛进、所向披靡,不是因为遵循"正规的"管理原则,而是与时俱进地同客户、员工和合作伙伴商一起上路,同呼吸、共患难;如果要寻找其中的基本结构,你将发现,这类组织的大都遵循着"目的'过程'人员"的解决之道。
而我们的IT企业又都在忙着什么呢?他们对"组织目的"的基本假设与实践又是什么呢?我们看到的是越来越多的企业开始认为组织的目的就是要"赚钱",而且是"用最小的投入获得最大的利益",满足股东的需要就是最大的"政治"。那么无疑,你将会最大限度地、甚至不择手段地去取得财务的增长--通过忽悠客户、压榨合作伙伴、控制员工,填满股东的腰包;所谓组织的"目的",在这里已经被演绎得活灵活现。当然,结果也就可想而知了。那就是"来亦匆匆、去亦匆匆",因为他们"根基"不牢,没有扎根在肥沃的大地里,而是在沙漠里连续上演唐?吉科得勇战风车的滑稽剧。不过,对那些"老板"来说这应该是一场悲剧!
在这种背景下,整个组织必定是风声鹤唳、四面楚歌,因为老板们做事的基本假设,即"人之初、性本恶",所以,劳资矛盾不可能让企业展露笑容;"胡罗卜加大棒"就自然成为管理的重要手段。很难说"检查员制度"的建立是不是基于此,但有一点是肯定的,将管理人员和质量人员演变成"武装警察"、实施苛刻的管理制度绝对是这种体制的产物。
既然这时侯老板说我办企业的目的就是为了"钱",那么质量的目的自然也就成了"为赚钱消除麻烦"的工具,比如,罚开发人员的款、罚质量管理人员的款、罚设计人员的款等。但它毕竟没有销售、财务和生产离"钱"的距离那样近,于是,就自然地排在成本、进度、人员、合作伙伴管理…….之后,当然排为"臭老九"这样的位置还是问题不大的。
其实不难发现,一旦把"组织的目的"定义为"赚钱",就会在如何"卖产品"上绞尽脑汁,也一定会遵循数学和物理学的基本原理去经营管理,比如,产品分等级、可接受的质量水平、如何能偷工、怎样能减料、修修补补等,于是,"质量管理"变成了"数量思维",质量工作也就必然成为一种"数量工作";最后的结局,质量人都要成为"数学大师"。
所以,必须明白的是:我们谈了这么多年的"质量",回过头来,却发现自己还不懂"质量";或者说,质量的最大问题不在于人们不了解它,而在于人们自以为了解它。因为我们原来是在传统的质量智慧迷宫里打转转呢。
骚动与喧嚣,冲动与激情,都是对生活的渴望;足球和篮球,车间和会所,同样是工作的演绎;仿佛"黄河之水天上来",大禹疏导乃正章。中国篮球称霸亚洲,却被飞人乔丹点中要穴:"只有篮球,没有篮球哲学";在软件质量方面,我们是不是更象中国足球,“没有足球,更没有足球哲学”?没有做到大道有术也没有做到大道无术;国际质量控制方法达到高峰的时候,一个人站出来为它把脉:"只有数量方法,没有质量哲学"--他就是菲利浦?克劳士比。 克劳士比指出:"我们基本的工作哲学便是:预防为主,坚持'第一次就把事情做对'的态度(全面质量管理的要素之一),使质量成为一种生活方式。 " 所以,质量管理就是有目的、有计划地创建一种文化或"共同的语言",从而帮助人们把日常工作每次都做对,与员工、客户和供应商的关系都获得成功。因此,作为"一种理念和哲学上的训练和纪律",质量管理能够"把所有这些人带入一种人们能够欣赏和运用的舒畅文化","使自己置身于'诚信'的现实世界的阳光下"。
曾经有一首歌唱道:大海航行靠舵手。因问:舵手航行靠什么?其必曰:工作哲学--一种以客户为中心、结果为导向、数据与事实为基础的预防哲学,一种"第一次就把事情做对"坚定信念;一种指导日常业务获得成功、所有的关系获得成功的工作哲学,一种"有用的和可信赖的"的工作伦理。数据与事实从何而来呢?来源于软件度量技术。
软件度量技术?大道有术
判断和衡量代码质量一直是开发过程中令人苦恼的问题,在同样完成功能的情况下,如何判别一种写法比另一种写法好呢?在代码重构的过程中,如何确定代码质量是在不断的改进当中呢?引入一种设计模式以后,代码真的变的比以前好了吗?
大部分时候我们凭感觉和经验做这些事情,我们使用很多模糊的词语来描述我们的判断,比如这样做以后,代码的可维护性更好,可扩展性提高等等。在越来越注重代码设计的今天,很多人开始使用更感性化,更形而上学的词语来形容软件质量,我们会听到评价软件结构很优雅,带来美的享受,甚至一些设计原则被提升到了哲学高度,:)。
不得不承认这些词语的描述确实很符合我们看到一段高质量代码的心境,但是这些新词语的出现并没有帮助我们解决软件质量判定中遇到的问题,因为这些感性的判定,由于每个人的经验不同,经历不同,所得出的结论也不尽相同。
众所周知,度量对任意一个工程产品研制都是很重要的,度量让人们更加 了解产品,可以评价产品,衡量产品质量从而进行改进。对于软件产品也一样,只有定性的评估是不够的,只有通过定量的评估才可以根本的解决评估软件产品质量这样的问题。然而,软件产品的度量却非常困难,对它的测量可能永远无法做到和物理产品一样的完美,但是,软件测量仍然具有重要的意义。
要度量软件质量,首先需要定义软件质量要素,比如,软件的功能性(functionality)、可用性(usability)、可靠性(reliability)、性能(performance)和支持度(supportability)都衡量软件质量的要素。不过,要真正定量的从技术上度量这些要素,就是非常困难的了。
软件度量工作首先需要确定能够表示软件质量的各种属性和指标;然后,分析软件,收集数据;接着运用公式换算代码的各种指标值;最后,通过这些指标就可以分析代码的质量。确定哪些属性和指标可以表示软件质量,收集哪些数据,如何用公式推导指标,都是软件度量这门科学的研究重点。它所确定的各种软件度量指标为我们了解软件属性,衡量软件质量提供了科学的依据。
软件度量经历了几十年的发展,在软件的各个方面和领域都开发出了各种度量套件。有针对分析模型的度量,体系结构设计的度量,构件级设计的度量,界面设计的度量,以及源代码级的度量等等,要了解这些度量套件如何进行质量测量可以参考相关的资料。不过,这些度量套件并不是都具备实际的操作意义,有些度量就太复杂不可操作,或者脱离实际很难理解。但是也有一些度量套件具备很实际的指导意义。本文打算介绍的构件级度量套件和源码级度量套件都是很有意义的。
软件度量可以帮助我们理解软件属性,衡量软件质量,但是,软件度量并没有真正的去测量软件质量,而是测量软件质量的表现,因此,仍然需要我们去分析确定所测量的指标和软件质量的准确关系。
“大道无术”理念在核心团队的管理的作用通过上面的讨论我们可以发现,真正的执行的根本出路在于对原则的始终追求,是人的问题,因此核心员工是企业最大的资产。
“大道无术”主要是指在核心团队的管理上,让大家围绕一个共同的目标和远景去努力,而不是运用权术或者大棒(制度是必须的,但不是功能较多的,制度也不是银弹)。TCL的领导者李东生说过:“你直接管理的就是十几个人,如果老想把人管住,你一个人想的办法是想不过十几个人的。”他认为,“东方文化氛围里,大部分企业管理者和关键员工对他所工作的环境、内心的实在感觉会比较看重。如果当领导的老是过分依赖管理的权术或者“制度”,可以在某些事情方面、某些项目方面,达到好的效果,但长远来看,会失去团队对你内心的依赖,如果你对管理团队没有‘大道’认同的话,你这个企业的凝聚力就不行”,而“企业竞争力很大程度靠的是团队工作的凝聚力。”
这样的“道”,找到了一个让大家共同兴奋的点,凝聚了一个有个性、创造性、强有力的团队。
并非虚构的故事
一曲“敖包相会”使得内蒙古的敖包名声远扬。去过内蒙你就会知道,原来此“敖包”并非是蒙古包,而是一种由大小石块堆积而成的圆形的实心的包状“建筑”。在敖包上面,竖立有木幡杆,上面还挂有一些五色彩带。在蒙古语中,敖包就是“堆”的意思。它通常建在山顶、湖畔或者滩中醒目之处。据说在敖包旁绕三圈,然后再拣三块石头丢到包上,这样就会得到神灵的庇佑;并且,每年阴历六月举行的“祭敖包”的宗教活动也是蒙古人最隆重的仪式之一。
然而经过考证,敖包先于神学的意义却是一种草原中的导航标志。按理说,建造路标是人人得益的事情,并且,牧民每每遇到路标时奉献几块石头也不是什么难事,然而,放牧时还要留意石块并且一路要携带直到遇到路标,的确是件辛苦的活。更何况有那多人贡献,某个人的几块石头也就无足轻重了。但是如果大家都这么想,那么路标的建设成本的分担就变得棘手了,谁都需要路标,但是谁都有让别人去添砖加瓦自己却坐享其成的心态,最终好事难成。
聪明的蒙古人的解决方案让人拍案叫绝,他们赋予了功能性的路标以宗教的意义,让路过的每个人,都自觉地对发挥路标功能的敖包进行建设,在祈福中,完成了自己的贡献。
敖包的故事告诉我们:
没有信仰,制度就形同虚设;
没有信仰,就不会产生执行力。
我们如何看世界、如何看自己,如何做人、如何做事,这些都是关乎思想和信念的东西。宗教作为人类心智模式的雏型也昭示出:人如果没有信念与价值取向,将得不到幸福;圣人亚理士多德说:受哲学家规范的人永远福足;莎士比亚也借用哈姆雷特的嘴指出:人是灵长动物,区别于动物的东西正是语言和思想。
语言是思想的载体,"共同的语言"实际上传达出的就是一种共同的价值观。"新教伦理"作为一种工作伦理,它调节人们的价值观和信念,创造并维持着美国的资本主义精神和现代社会。同样,语言的不同必然反映出思想的混乱,最终导致行动的混乱和灾难的降临。人类建造"通天塔"的故事不正是向我们昭示此理吗?