• 创建:2006-7-7
  • 文章:110
  • 评论:373
  • 访问:508209
  •  

如何摆脱“消防式”的工作模式

部门:总裁会

目的:交流对目前公司宏观问题及其解决办法的认识。

期望的读者:总裁会成员

作者:邱嘉文

时间:2001/1/8

反馈意见记录:

意见人

意见

提出时间

一. 何谓“消防式”的工作模式

我们经常听到、讲到和看到:“我们整天在忙于救火,这里还没灭掉,那里又着了。”不管是管理层还是执行层,整天忙手忙脚,但事情好象总是一团糟。决策层看到的是一潭混水,怎么也见不到底,对业务目标能否实现总是没有着落,只好走一步,看一步。产生这种现象的工作模式就叫“消防式”工作模式。

CMM的描述中,“消防式”工作模式是不成熟软件企业最明显的特征之一。而且全世界绝大多数的软件企业处于这种不成熟状态[1]插一句:这里蕴藏着极大的商机)。所以,我们在听到对自己如此评价时,完全不必产生被嘲笑的感觉。正如我们不会嘲笑一个婴儿不会说话,反而会不厌其烦地教他一样。试想,如果没有不厌其烦地教说话,我们的后代无论他长到什么年纪,在说话方面,他永远也将只是个婴儿——不会说话。软件企业在成立之初就象个婴儿,他只能利用先天的非条件反射作用来行动:发现问题—>做出反应行动—>发现新问题—>……。久而久之,企业便形成了“问题—反应”式的工作模式,也就是“消防式”的工作模式。一般来讲,不会有任何机构会主动来象父母教自己的婴儿说话一样来教这些不成熟的软件企业去形成一种主动的工作模式。而且不成熟的软件企业往往不会承认自己象婴儿一般的行为能力,从而不会乐意接受最基本的“说话训练”课的培训。这便是造成全世界绝大多数的软件企业处于不成熟状态的不幸的主要原因之一。幸运的是,全世界绝大多数的人都会讲话。

二. 摆脱“消防式”模式的方法存在怪圈

“消防式”工作模式并不是绝对的不好,当企业的业务类型单一,产品服务类型单一,业务量不大的时候。需要快速行动,强占先机,在行动中来发现一个问题,消灭一个问题。不失为一种高效、适宜的做法。但随着企业的发展壮大,多元化的引入,业务量的扩大,带来的问题数量自然也就会急剧膨胀。企业自然会发现自己的“消防能力”已经远远不能胜任了,于是企业就要想办法摆脱这种“消防式”的工作模式。

如何摆脱“消防式”的工作模式?多数人的第一反应可能是:把所有当前暴露的问题按轻重缓急给我列出来,然后找到问题应该归哪个部门,哪个岗位,哪个人来负责解决,责任一定要落实到人。只有责任落……。人手不够?好,把需要的人要解决什么问题报上来,立即加!待遇太低?好,看看左邻右舍的情况,果然低了点,加工资!这是在试图摆脱“消防式”的工作模式吗?是的,多数人的心里面是在努力摆脱“消防式”的工作模式;不是的,多数人的思路仍然在不折不扣的执行“消防式”的工作模式。不难发现,存在一个“消防式”的工作模式来摆脱“消防式”的工作模式的怪圈。

既然企业已经进入了怪圈,要跳出来就不那么容易,困难在于:

1. 企业发展的动量已经非常大,不可能来个疾转弯,否则,必翻无疑。企业现实确实面临诸多的问题,如果不解决,会引起客户和员工的强烈不满,可能导致企业更大的损失。如果去解决,一个问题可能会牵扯出更多更大的问题又要解决,可能会引发更多的地方“着火”,可能导致企业陷入“消防式”的工作模式而不能自拔。企业确实进退两难。

2. 多数人的思维动量也已经非常大,即使企业发展的车转过来了,但思维的惯性比物质的惯性有时候更难扭转。由于企业确实面临企业发展中的上述问题,一方面,发展的速度使多数人根本来不及思考如何改变思路和观念;另一方面,侥幸心理和自负心理同时起作用,也使多数人凭添了一份“决不回头,要直捣黄龙”的可贵勇气。结果,多数人会保持“消防式”的工作模式不变,少数人冷静的思考和智慧的主意往往会被误解为消极的绊脚石和不现实的画饼而失去参考的使用价值。

需要强调的是:“消防式”的工作模式本身不是怪圈,而是当“消防式”的工作模式出现问题而又需要摆脱“消防式”的工作模式时,才出现了摆脱行为的怪圈。

三. 把握过渡的最佳时机

企业一旦进入摆脱“消防式”的工作模式的怪圈,要跳出来就比较困难了。因此,避免必须想方设法摆脱“消防式”的工作模式的最佳办法,就是在企业尚未进入怪圈或刚刚进入的时候,就马上过渡到积极的工作模式上来。使用这一办法要解决的两个关键问题是:

1. 什么是积极的工作模式;

2. 如何把握过渡的最佳时机。

先讨论如何把握过度时机的问题。企业初创时,必然选择“消防式”的工作模式。此时的企业,不需要建立和维护客户数据库,不需要完整的产品开发流程,不需要严格的质量保证措施,不需要周详的计划和控制,只需要一两个绝顶聪明的人迅速开发出一个有特色价值的产品,迅速投放到市场,然后几双眼睛紧盯着少数几个用户使用产品的过程,一旦发现问题,立即修改程序,重新编译,马上升级。此时在这种模式下,一方面节省了企业的管理成本,另一方面由于服务及时,客户满意度还满高的。在软件企业,这一时期一般在一到三年之间。正因为软件初创企业存在以上的竞争优势,如果企业市场机遇把握得好的话,企业经营业绩在该段时期里面会有较大的飙升;又如果企业能够和愿意保持单一产品经营模式的话,产品会越做越精,产品本身的问题就会越来越少。虽然用户数量可能增加很大,但问题的类型仍然会越来越少,解决的难度也就不会剧增。在这种情况下,企业可以长期保持“消防式”的工作模式不变,而不用担心自己的消防能力会不够。实际情况往往是当企业单一产品进入销售稳定期后,由于在企业看来,竞争对手的介入,市场容量的逐渐饱和,还有企业对自身的发展速度不满意等作用驱使下,企业会寻求多元化的发展。作为软件企业,首先会考虑和原有产品相关的新产品进行开发,试图利用已有的客户资源,迅速的开出第二朵、第三朵金花。由于第一朵金花的成功经验给企业的印象实在是太深刻。企业在启动其他产品开发时往往会认为重复以往的经验就够了,我们既然能做成A1,就肯定能做成A2,A3…..。于是,对困难的估计不足和急于求成的缺陷很可能就此产生。

消灭缺陷的最佳时机就是在它将要产生,又没有产生或刚刚产生的时候,即所谓“把问题解决在萌芽状态”和“枪打出头鸟”的原理。所以,企业准备工作模式过渡的最佳时机,就是企业启动多元化产品发展的时候。

四. “探险式”的工作模式

积极的工作模式应该是引入了预测、预计和预防的工作模式。积极的工作模式需要向过去的经验教训学习,要根据以往的经验来预计未来采取的工作方式和方法,根据以往的教训来采取预防问题发生的措施,以尽力保证在未来的工作中不出错或少出错。如果没有自己以往的经验教训学习,就要学习他人以往的经验教训,如果连他人的经验教训都没有,是不是就没有积极的工作模式了呢?不是,还可以采用预测的手段来掌握未来发展可能出现的情况,再凭直觉进行预计和预防,即所谓“摸着石头过河”,也是积极的工作模式。所有这些预测、预计和预防的手段,在人类的探险活动中是采用得最多的,可以称这种工作模式为“探险式”的工作模式。

建立“探险式”的工作模式要做以下三个方面的准备工作:

1. 要记忆,软件企业要记下自己和熟悉的同行做过什么项目,什么人,用什么方法,在什么情况下,花了多长时间,做出来过什么样的产品,有什么优点和缺陷,买给过谁,谁用过,有什么意见等等,更重要的是要记住企业做砸过什么产品,什么人,用什么方法,在什么情况下,花了多长时间,为什么会做砸等等。至于采用什么形式来记是另一个问题:是记在脑海里,还是写在文字里,还是记载在数据中等,可任意组合使用。这项准备工作其实不难做到,要克服的唯一困难就是懒惰。

2. 要回忆,软件企业在进行新的项目开发时,先要好好回忆一下企业是否做过类似的项目开发,其他企业是否做过类似的项目开发?过程怎么样?数据在哪里?结果怎么样?等等。如果企业记录了不少历史资料和信息,在该用的时候不用,不仅浪费资源,而且打击士气。非常遗憾的是,大部份的软件企业就是在这个最容易做到的环节没有做好。要克服的困难是:新项目的管理者要知道有这么回事,然后克服懒惰和自负心理去做这件事。

3. 要分析,这是在建立“探险式”工作模式时唯一有技术困难的工作。对于非形式化的记忆(记在脑海里或文字里),要有严密的逻辑思维和丰富的形象思维能力才能分析异同、分辨是非。这种能力不是一朝一夕就能拥有的。实际上,在所有影响软件质量、进度和成本的因素组成的“木桶”中,这块板是起决定作用而又往往是最低的。对于形式化的记忆(记录在数据中),要掌握一些数值分析的方法,如回归分析方法等,来从数据中找出令人信服的证据。

以上仅仅是准备工作而已,虽然说的较多,但基本上都属于动脑的工作。真正要做的工作是建立项目工作计划、项目预算计划、项目风险管理计划等三项工作。只有这三项工作实实在在地做起来了,积极的工作模式才算真正建立起来了。如何进行这三项工作有专门的理论和技术支持[2]

“探险式”的工作模式也并不是绝对地比“消防式”的工作模式好。首先,“探险式”工作模式较难建立;其次,建立“探险式”工作模式代价较高。在进行业务本身并不复杂,牵涉业务范围小的产品开发情况下,“探险式”工作模式就有明显的画蛇添足之嫌。“探险式”工作模式用于简单、小规模项目的开发的情况一般是在进行“试点”:目的是积累工作模式运作本身的经验。

作为一个想长盛不衰的软件企业,不可能只凭简单、小规模项目立足于这个激烈竞争的IT行业。因为简单、小规模的项目产品太容易被竞争对手“克隆”,太容易陷入激烈竞争,太容易使市场饱和了。因此,想长盛不衰的软件企业一定要有自己满足用户复杂业务需求的长期主打产品,令竞争对手难以模仿,从而使自己长期立于不败之地。企业因而必须具备承担日益复杂的应用程序开发的能力。这种能力只能来源于“探险式”的工作模式,也正是软件工程引入项目管理的工作模式。

五. 如何跳出“怪圈”

每个软件企业,都不会期望自己陷入到要摆脱“消防式”工作模式的怪圈中。遗憾的是,把握工作模式的过渡的时机是如此的困难,陷入这个怪圈又是如此的容易,很少有软件企业在陷入怪圈之前会有所警觉。他们事业在腾飞,客户很满意,天下太平,谁会想到还要花那么多精力去改变看上去好好的工作模式?可当他们发现自己不得不东奔西走,到处救火的时候,一切已经太晚了。

虽然,从这个怪圈中跳出来很困难,但还是有很多企业成功地从这个怪圈中跳了出来,所以,他们的企业也获得了成功。

跳出怪圈的方法之一是打破怪圈:不是单一产品的经营不容易形成工作模式的怪圈吗?很多精明的企业利用了这点。把企业划整为零,组成多个小企业的松散联合体,每个个体只独立经营一个产品。虽然这种方法肯定会带来资源的重复投入,造成一些“浪费”,但“浪费”的结果是使“大火”变成了“小火”,“多火”变成了“少火”,“乱火”变成了“序火”,有效分解和降低了企业问题的规模、数量和关联。往往通过“减灾”减少的损失会远远大于资源重复投入造成的“浪费”。从自然界的“分形学”原理的角度上看,这种方法是非常有科学根据的。采用该种方法的优点是:可以继续保持“消防式”的工作模式,从而保持企业在各个产品方面的高速有效运转;缺点是加大了企业作为整体运作的难度。

跳出怪圈的方法之二是改变到“探险式”的工作模式。企业首先必须减缓发展速度,适当缩小规模,使问题解决的速度高于问题产生的速度,逐渐使企业回到最佳过度点。然后企业的各级人员必须逐级转变观念,接受新工作模式的培训,并在实际工作中逐渐运用新的工作模式。使用这一方法的关键是高级管理人员要首先转变观念,身体力行。很多企业甚至不惜采用“空降部队”的做法,通过直接引进具有新工作模式经验的高管人员接替那些“顽固不化”的元老。这种方法的优点是,可以形成较高的整体运作效率;缺点是容易滋生官僚和形式主义的工作作风。

不论采用那种方法来跳出所谓的怪圈,最终目标都是使企业能对自己发展过程中的问题进行控制和管理。对于已经身陷怪圈的企业而言。困难的根源在于克服企业发展的惯性。根据牛顿动力学原理:

动量(惯性)=质量X速度。

上述第一种方法是保持企业发展速度不变,分解企业的质量使企业惯性得到分解,使每个分解单位的惯性处于可控范围。第二种方法是保持企业质量不变,降低企业发展速度,使整个企业惯性回到可控范围。

不论采用那种方法来跳出所谓的怪圈,企业都会面临剧烈的痛楚,这是企业早期高速发展的代价。上述第一种方法带来的是企业肉体分裂的痛楚,第二种则是精神洗礼的痛楚。

上述两种方法是两种极端的做法,实际上,企业可以采用两种方法同时使用的第三种方法。根据企业的实际情况决定对企业产品分解的粒度,对不同分解部分发展速度的不同降低程度,对不同经营者观念和方法的不同转变程度等,使企业在精神和肉体两方面的痛楚得到均衡,而不至于某方面太强使企业难以承受。

六. 同望企业现状

从同望的长远目标规划中,我们可以看到一个雄心勃勃的提供多元化软件产品和服务的企业。这些目标的价值确实让公司大股东和高级管理人员深受鼓舞。公司各级领导和员工在近年中为实现这些目标也付出了不懈的努力,并取得了卓有成效和令人满意的进步。如果要“居安思危”的话,从同望发展的历程上看,同望现在已经是一个错过工作模式过渡期,而在试图从“消防式”工作模式中摆脱出来的软件企业。

虽然在公司产品和规模高速发展的同时,同望领导层也时刻提醒了自己管理实力的差距问题。遗憾的是,并未能在工作模式上取得突破性进展。结果是公司利润确实也得到高速增长,但主要还不是产品和规模高速发展所带来的。产品和规模高速发展带来了一定的经验积累,遗憾的是也带来了成本的浪费。如果工作模式得不到有效改进,同望所期望的产品和规模高速发展带来利润的高速增长将会是竹篮打水。如今,同望在“消防式”工作模式下的质量越来越大,速度越来越高。从“消防式”工作模式中摆脱出来的难度也就越来越大。如果同望还不能试图建立“探险式”的工作模式,那么,同望每新开一个产品项目,每成立一个新的部门,每向市场推出一个新的产品,就等于制造一个“火灾”隐患。

同望未能建立“探险式”的工作模式的主要原因是(马后炮):

1. 产品品种发展速度过快;

2. 人员规模发展速度过快;

3. 软件工程、产品工程理论(合格的产品经理应该知晓)未能在产品策划中发挥作用。

其中,第一、二条原因已经无法消除,第三条原因暂时也无法消除,因此同望在短期内是无法建立“探险式”的工作模式的。既然发展速度无法降低,精神观念暂时无法转变,看来,同望必须经历一场肉体分裂的痛楚了。现在想来(又是马后炮),总裁会关于从产品服务和部门机构的重大变革是唯一选择:必须尽快把项目服务从产品服务中分离出来,必须尽快把项目服务的人员从产品服务的人员中分离出来,必须尽快建立相对独立的项目服务和产品服务的组织机构。而且,从Proj2000MP2000市场反应的情况看,项目服务还应该是重头。看来,2000年年末讨论中,占了上峰的来自谨慎地变革方面的观点值得反思。

参考文献

[1]:《软件能力成熟度模型》 清华大学出版社 何新贵等编著

[2]:《软件工程—实践者的研究方法》 机械工业出版社 ()Roger S.Pressman著,黄柏素 梅宏译

注:全部的系列文章在我的blog的“旧作分享”中,这些虽然是旧作,但对很多发展中的软件企业而言,未必是陈词滥调,也未必是空洞的理论。
编辑 | 阅读全文(1078) | 回复(0),babituo 发表于 2007-7-1 9:5

关于现状和对策的思考

1. 关于新管理架构的局面。

希望看到的局面:

1.高层领导开始有计划的团队工作,形成公司核心理念;

2.中层领导努力发挥自己的潜能,最大限度调动员工工作积极性;

3.员工得到有效激励;

4.新产品开发顺利完成。

建议:计划未来,别再打无准备之战。

不希望看到的局面:

1.中高层之间由于缺乏直线领导,管理思想更加脱节;

2.中、基层领导和员工承受不了工作任务对能力要求的压力而辞职;

3.高层领导团队进入切磋期伴随公司规模扩大,导致管理更加混乱,给公司致命打击;

建议:

1.面对现实,做好为过去无准备扩张补过的思想准备;

2.在高层团队暂时不建立具有紧密工作协作关系,不强求团队决策;

3.如果高层思路不能统一,出现前段时间中层之间切磋现象,应适当分散高层智能的密度,免生新摩擦,同时各自发挥最大效能。如:做到有人救火(为过去的失误补救),有人干活(为现在要做的事组织),有人开拓(为将来要做的事思考、计划)。不要所有高层智能都集中到狭小的救火空间里面。

2. 关于公司最紧迫要解决的问题。

公司最紧迫要解决的问题是:

1.为下一步着想,根据目前的情况分析、估计明年可能会遇到的情况和考虑应对策略。

2.重点抓好(加大人力物力)明年可能见效的产品开发完善工作:如计量支付和网络计划,降低对新开发产品的期望值。

3.重整价值理念,树立企业文化。

建议:

1. 放慢新产品开发节奏,不再扩大新产品开发项目数量和人员规模;

2. 启动二次技术含量较低的系统集成业务;

3. 启动低人力资源消耗能自维持的辅助业务,可保证公司规模扩张同时,降低投入风险。

3. 关于开发部业务环节目前最紧要解决的问题。

1. 策划环节:本年度新产品开发规模急扩带来的技术风险、管理风险、投资风险和市场风险都开始兑现;

2. 开发环节:由于缺乏系统分析人员和合格开发经理人员及其培训,新产品进度、质量得不到保证;

3. 管理环节:管理人员和开发人员对科学的态度和方法未能统一、及时地接受。

建议:

1. 不要寄希望于新的管理架构能解决所有现有问题,新的管理架构只能解决部分管理层问题。业务、技术问题,还得靠掌握了科学的态度和方法的人来解决;

2. 暂时弃车保帅,不要发誓或相信发誓要全面开花,保住一两个新开产品能顺利上市;

3. 加强学习和接受再教育,为未来科学策划、决策做准备。

邱嘉文

2000-12-1

系列文章在我的Blog的“旧作分享”分类中

编辑 | 阅读全文(518) | 回复(2),babituo 发表于 2007-7-1 8:41

感觉与度量

在管理上,感觉与度量应该是两条平行的线。凭感觉做事,就是根据以往成功和失败的经验,决定当前怎么行动,以保持方向的正确和反应的及时。根据度量做事,就是对以往做事过程中积累的数据进行分析,从数据反馈变化趋势中发现相应行动的有效性和正确性,从而为当前行动提供相对可靠的决策依据。

1. 从文化的角度上看:

感觉管理具有明显的东方色彩,强调人的感觉,人的经验.

度量管理具有明显的西方色彩,强调数据的科学,准确,逻辑的严密.

2. 从推动力范畴方面上看:

感觉管理属于技术范畴,来得实用,易于理解,易于接受.

度量管理属于科学范畴,来得准确,不容争辩,可靠性高.

3. 从作用效率方面上看:

感觉管理与人的知识程度,经验程度密切相关,没有经验,知识不够丰富时,感觉误导机会比较大,容易走弯路,作用效率比较低,当经验、知识比较丰富时,感觉的准确率提高,相对作用效率较高。经验积累的过程对人的总结能力要求较高,一般较长。

度量管理与度量模型和度量机制的成熟度密切相关,当不成熟时,度量时间较长,数据准确性不高,影响效率。当成熟时,数据采集快速准确,可以利用计算机协助分析决策,相对作用和效率很高。度量机制的建立有间接经验可吸收,一般较短。

4. 从心理分析角度看:

推从感觉管理的人比较自负,自我意识较强,追求实效和实际的感受,比较不容易接受新的观念。

推从度量管理的人比较开放,对人的感觉的怀疑态度较明显,追求公理和逻辑的严密性,也容易陷入刻板、没有人情味的误区。

5. 从稳定性方面比较:

感觉过分依赖个人的思想状态,即使知识和经验非常丰富的情况下,也会有判断失误的时候,其稳定性较差。

度量依赖规则的成熟状态,规则容易大量积累间接经验,出错的几率是逐渐收敛的,其稳定性较高。

6. 从管理成本上看:

感觉管理直接花在管理工作上的开销比较小,但感觉误导机会较大,带来损失也较大。

度量管理直接花在管理工作上的开销比较大,失误机会少,导致失误带来损失也较小。

7. 从适用性方面看:

感觉管理适用于公司起步发展阶段,人员规模较少,失误带来损失也较小。感觉管理还适应于公司规模较大后的局部管理和非技术(人文)层面的管理,形成“以人为本”的企业文化。

度量管理适应于任何时期的技术管理,公司起步发展阶段的度量管理实际上是在科学层面上的感觉管理,对加速公司规范化,为公司腾飞发展打下良好基础。度量管理不太适合人文层面的管理。

8. 公司的现状和对策:

公司现状是以感觉管理为主导,度量管理为辅导的状态,在技术管理层面,度量管理才刚刚起步,相对比较不适应公司发展的需要。因此,公司应逐渐过度到以度量管理为主导,以感觉管理为辅导的状态下来,尽快建立技术管理上的度量模型和度量机制。

邱嘉文 2000128 同望科技
编辑 | 阅读全文(591) | 回复(0),babituo 发表于 2007-6-19 21:46

有关组织机构确立及部门计划制定方法建议

 

l         组织机构确立应考虑的因素(计划的内容):

1.工作任务:有哪些事情要做;

2.工作流程:怎么做这些事情;

3.工作人员:谁来做这些事情。

 

l         设立组织机构的核心方法:

1.分析各种因素的内聚程度,把内聚高的因素集合定义为一个机构;

2.使各个机构之间的耦合程度最小。

 

有关计划和组织机构设计的关系:

先有计划还是先有机构设计?

没有组织机构一样可以编排工作计划,只不过计划“没有挂接机构码”而已。

工作计划和组织机构哪个更重要?

建立组织机构挣不到钱,实施计划才能挣到钱;

为什么大多数的人编排计划之前一定要有确定组织机构?

因为:

1.组织机构一般不在编排计划时发生大变化,所以他们习惯了在有组织机构的情况下编计划;

2.就是这些人具有强烈的局部意识,不原意考虑(注意,仅仅是考虑,而不是实施)不可能由自己管理的事,所以他们会先要求上级明确界定他所管辖的机构工作范围,然后才做计划。真实情况是:必须有全盘的考虑才可能有明确的实施范围的界定。

3.他们掌握的有关工作任务、工作流程、工作人员的信息和知识不够,使他们无法做出计划,却误认为是没有组织机构的明确定义。应该让他们先收集信息和获取知识。

 

有关内聚和耦合的概念可参考软件模块化设计中的有关概念

 

l         参考理解:

组织机构设立时应考虑以下几种内聚:

1.任务内聚:工作任务是针对同一个经营指标的,如市场部针对知名度,销售部针对营业额,技术支持针对客户满意度,产品部针对用户需求迎合度,开发部针对产品开发的质量、进度和成本。

2.流程内聚:把同一个时期和具有紧密过程关联的工作流程划归一个机构;

3.人员内聚:把具有类似专业背景的工作人员划归到一个机构。

三种内聚有时一致有时矛盾,机构设计的任务就是要寻找平衡。

 

组织机构之间的关联:

1.任务关联:不同机构会对同一个工作对象或传递工作对象;

2.流程(控制)关联:一个机构会直接控制另一个机构中的某功能单位运作;

3.人员关联:一个机构里的人会兼任另一个机构内的岗位职责。

组织机构设计的结果应该使组织机构之间的关联最小。

邱嘉文
2000年12月26日
编辑 | 阅读全文(1059) | 回复(1),babituo 发表于 2007-6-17 21:1

关于质量保证部的设想

部门:总裁会

目的:为筹备质量保证部进行思想交流,不包括部门建设计划的商讨。

期望的读者:总裁会成员,部门经理联席会成员

作者:邱嘉文

时间:2000-12-152000-12-18

反馈意见记录:

意见人

意见

提出时间

一. 背景

1. 公司人员、产品开发规模作了较大扩充,经过了一年时间的运作,引入了部分质量保证措施,如测试专业分工,分析设计评审,工作流程、工作指南文件的建立和试行等等。对规范开发管理,提高质量意识,打下了积极的基础。

2. 公司决策层领导充分认识到同望产品质量的重要性,提出了“精品战略”作为同望未来产品发展的基调之一。并积极倡导按照软件工程的理论学习和实践应用,确立了通过CMM认证的企业能力提升目标,并在制定学习、培训,逐步实践应用的计划。

3. 公司老产品在销售后用户使用过程中,暴露了较多的质量问题,这与老产品在开发过程中未能采取有效的质量保证措施是密切相关的。在新开产品项目管理中,质量保证措施明显不够有效,质保人员及其专业素养严重不足,成为新产品开发中的重大质量风险因素。

4. 由于公司处于快速成长阶段,对质量保证的投入有一个逐步加强的过程。因此,在产品质量问题和质量管理过程问题已经暴露出来的时候来加强质量管理是一种不得已的“亡羊补牢”的办法。由于质量保证问题本身的敏感性和技术上的复杂性决定了质量保证活动开展必须慎重。所以开展质量保证活动成了公司非常紧迫又需非常慎重的工作,质量保证的投入投向何处,如何投入是公司决策层迫切需要明确的问题。

二. 软件质量保证SQA的基本观念

1. 质量的前提是度量

质量控制可以等同于差异的控制:所有产品的特性以及生产这些特性的过程与事先需求的差异应该最小或一致。

为了控制差异必须能度量差异 必须对事前的需求生产过程中的结果要能分别进行定量测量和描述,两者比较才能找到差异,然后才能想办法控制和消除差异。

为了度量差异必须建立度量机制,积累度量经验:必须决定对产品及其生产过程进行哪些方面的测量,并对具体的产品和过程对象实施测量,并对测量数据进行管理、分析,检讨度量模型的好坏,改进度量模型。

“定性”的东西只是质量意识,只有“定量”的东西才是真正的质量管理。

2. 质量的内容有多层

根据度量对象不同分:包括产品的质量和过程的质量。产品是过程制造出来的,过程的质量决定了产品的质量。

根据度量时期不同分,包括软件生命周期内各个阶段的质量。最顶层包括软件营销和软件开发两个大环节。营销环节可细分为产品包装发布、产品广告销售、产品使用服务、产品需求调查、产品策划定位、产品需求定义;开发环节可细分为:产品需求定义,产品系统分析,产品系统设计,产品模块开发,产品系统测试,产品包装发布。软件营销环节和开发环节在产品包装和需求定义两个小环节上交接,形成一个周期循环的过程,在该循环的任何相邻两个阶段对产品的定义或实现都将直接暴露出差异,如何管理和控制这些差异,正是软件全过程质量的内容。因此,软件质量应包括:软件的需求调查质量、策划质量、需求定义质量、分析质量、设计质量、实现质量、测试质量、包装质量、推销质量、使用服务质量等10项完整的概念。任何一个环节的质量问题,都会影响所有其他环节的质量。

3. 质量的成本要比较

“进行质量保证活动需要付出额外资金,没有质量保证活动仍然可以实施软件,因此进行软件质量保证活动增加了软件实施成本。”这是我们身边明显存在的一个误区。当然,没有计划、没有技术指导,不切实际的质量保证活动不仅仅会增加软件实施成本,而且会给软件的生存带来极大的危害也确实是事实,但这不应该是推导出这个误区存在的理由。

进行质量保证活动确实需要付出额外资金。但不管是否进行质量保证活动,由发现、鉴定和修复软件缺陷引发的成本始终是存在的,这是软件质量本身的成本。质量保证活动的任务就是保证软件缺陷在其产生之后就立即被发现和鉴定,并尽快得到修复。认识质量成本要比较有质量保证活动没有质量保证活动两种情况下的质量成本,才能发现付出额外的质保活动资金所得到的回报。以下两个理论是推行质量保证活动能大大节约软件质量成本的基本论据:

a. 错误放大理论:软件生命周期内前一阶段的一个错误,会引发后一阶段的数量级递增个数的错误;

b. 成本放大理论:修复软件生命周期内靠后阶段上的一个错误和修复靠前一阶段上的一个错误所付出的代价相比的结果,是呈几何级数递增的。

三. 现状的分析

目前,公司正式成立的直接进行质量保证活动的部门有:开发部测试组,包括测试组主任李娜在内共有6名成员,除李娜在公司有四个项目(Road2000,Proj2000,Bid2000,MP2000)约三年的测试工作经验之外,其他人员经验相对薄弱。公司目前正式开展过的质量保证活动包括:系统测试,产品验收,产品策划审核,需求说明评审,需求分析评审,详细设计评审等六项。除系统测试工作直接对提高产品质量起到明显效果之外,其他活动暂时只对提高质量意识起到作用。

系统测试活动状况:所有测试人员没有接受过专业测试培训,全靠自学理论书籍和摸索测试方法和经验,尚未建立正式的测试流程,正在整理和贯彻测试要求文档的提交工作,但由于开发员配合不力和测试流程不健全,该项工作暂时不能顺利进行。对测试人员本身的管理也基本处于自发状态,测试人员对提高自身素质,结合实际学习先进理论的积极性不高。测试组引进的辅助测试工具SQA和错误追踪系统的使用情况是:SQA工具在MP2000的测试工作中得到了实际的运用,对提高部分测试数据的录入,操作步骤重现起到了一定作用,提高了一定效率。但也发现SAQ工具控制适应性的局限,一定程度影响了自动测试的效果。错误追踪系统由于意外原因数据库在建立后被误删,使之没有真正运行起来。同时也反映了该系统不够成熟。

其他产品验收和阶段评审活动状况:由于这些活动被正式的列入实际工作流程,并开展实施,对各阶段工作人员起到了明确的质量要求的警示作用,对工作人员重视文档工作起到了积极的作用。但是,由于以下种种原因:

1. 员工实际的工作方法和制定的工作规范所适应的面向对象工作方法不一致;

2. 对员工学习掌握面向对象工作方法的培训和实践锻炼不够;

3. 员工实际的工作方法本身缺乏规范化的要求;

4. 产品项目工期紧,进行一线开发的人员工作压力过重;

5. 评审人员本身没有任何培训;

6. 评审人员本身没有软件技术评审经验;

7. 软件评审人员和高级管理者角色重叠;

8. 软件评审人员不够专职,没有花费足够的时间来理解“软件”本身。

我们进行的评审活动远远没能达到应有的作用。其中关键的原因是我们对质量保证人员的要求存在严重误解:认为他们是“站在高处,监视着软件开发过程进展和软件产品逐渐成型”的那帮人。其实,SQA小组的那帮人,应该和一线开发人员一样,他们应该是“另外一批对软件产品及其过程有深刻认识和理解的家伙”。他们甚至应该比那些“一针一线”编出软件的人更深入,细致地理解软件产品及其过程,他们随时会将发现的差异向高级管理者汇报。高级管理者当然不可能是称职的SQA小组成员。在CMM文献的推荐中,对编码实现阶段的SQA管理人员,最合适的人选莫过于决不参与编码实现的系统分析和设计人员

公司目前质量保证工作的现状应该可以概括为:意识强烈、观念模糊、基础薄弱、人员欠缺、知识贫乏、效果微小。作为一个高速发展的以软件产品服务为主营服务的公司,这无疑是一个极端危险的状况。

四. 成立质量保证组的可行性

背景和现状分析的情况已经充分证实了公司成立质量保证组的必要性和紧迫性。但公司是否适合在目前现状下立即成立质量保证部或者在何时、以何步骤筹建质量保证部,目前又能做些什么准备工作呢?

1. 技术可行性

目前,公司成立质量保证部在技术上存在以下主要有利因素:

l 有相对充足的理论指导;

l 有决策层领导充分重视和支持;

l 正在实施CMM2级认证的关键域之一:引入项目管理策略;

l 正在进行开发文档规范化管理活动;

l 测试组人员经验有一定班底。

在技术上的主要不利因素包括:

l 全员尤其在管理层对质量保证观念不够统一,对SQA活动本身理解不够;

l 缺少一个理论实践经验都比较丰富,对公司现状有一定认识的管理层干部;

l 面向过程的开发技术和面向对象的开发规范仍然存在不配套问题,导致不能建立统一的度量和评测标准;

l 懂开发技术,有开发经验的质量保证人员基本上是空白;

l 来自市场对产品推出数量和时间的压力和产品需求版本规划不相适应,导致一线开发及其管理压力过大,加大了质量保证活动开展的困难。

根据以上分析,公司目前在技术上暂时还不具备成立质量保证部,全面推行SQA活动的可行性,但已经具备推行某些SQA活动的可行性,如:系统测试,SQA技术培训,人才募集和培养,与开发方法无关的质量指标度量,适当的正式技术复审(FTR)等等。这些活动可以以现在的测试组为班底,补充一定数量人员,开展一些内训和外训就能开展起来。

2. 经济可行性

成立独立的质量保证部,开展全过程的SQA活动,需要一批专门的具有较高素质的人才。人才的招聘、培训、薪酬、福利、工作环境消耗将是一笔不小的成本支出。就目前的产品规模来评估,成立一个20人规模的质量保证部门是基本的需要。估计组建这样一支SQA队伍需要费用支出一年在150-200万元左右。就目前公司经济实力情况来看,是完全能够承受的。就长远来看,这笔支出肯定可以从日后软件维护升级、用户满意度提高促进市场占有率方面获得丰厚回报。可以认为成立独立的质量保证部,在经济上是基本可行的。

3. 质量保证部成立的准备工作和时机

要正式成立质量保证部,公司必须解决技术可行性的头三项不利因素影响。问题主要集中在管理层的观念和人员上。因此准备工作的主要任务就是要解决管理层观念和人员空缺问题。管理层的观念包括公司各职能部门的经理,也就是部门经理联席会的所有成员对SQA活动的认识和理解的问题,而不是简单停留在表面或深层对质量问题的重视,口头对加强质量管理的宣讲和鼓动上。所以需要开展的第一项重要的工作,就是管理层的SQA活动知识、方法的普及教育和培训工作。其次,为了能提高全员的SQA观念,应大力倡导执行层干部努力自学SQA知识、方法,并在实践中积极尝试运用,对积极表现,效果显著者列入部门经理的普及教育和培训之列,作为未来质量保证部部门经理的培养对象重点培养。最后,在扩充开发部测试组实力,招聘新人加盟时,应该主要留意具有全面质量保证意识和能力方面的人才,彻底放弃“对测试人员技术要求可以偏低,到公司稍加锻炼就能上手”的错误观念。在岗位级别、薪资报酬方面,真正把质量保证人员放到与开发人员同等位置上来。

根据CMM2级认证需要进行的关键过程域(KPA)要开展的工作建议,SQA活动也是被列入必须开展的工作之一。根据专家的经验,通过CMM2级认证的过程可能需要2-3年,甚至5年的时间。在目前公司开展项目管理的经验和效果尚未进阶的状况下,首先应花半年到一年的时间落实项目管理工作,其中包括测度和度量、估算、风险分析、进度安排、跟踪和控制等活动的开展,争取在人员、问题和过程三方面的管理上走上正确轨道。在这半年到一年的时间中,积极进行质量保证部的各项准备工作。在对项目管理工作走上正轨,通过内部评测后,正式成立质量保证部门,全面开展SQA工作的时机就自然到来。

五. 预想

虽然目前公司成立质量保证部的可行性仍不够充分,但这不影响对未来理想状况下,质量保证部门的运作情况做一个想象,相反,这种想象会促使我们不断地找出差距,树立工作目标。假设三年后公司各方面管理工作基本配套,公司质量保证部门已经开展了SQA活动两年多的情况下,公司质量保证部门应该进入相对成熟的阶段,那时,与质量保证部门相关的公司活动情景应该是:

质量保证部有一名管理层干部:质保部经理。在执行层,公司每一个在生的产品都将有一个专职的质量保证小组,对其生命周期内的每一个环节进行保护性活动。每个质量保证小组常设一名组长(可称为质量经理或测试经理,注意,绝对不由产品经理或开发经理同时兼任,但应从产品经理、开发经理、测试员中培养出来。成立质量保证小组的初衷,就是要把产品经理和开发经理的有关质量跟踪和评测的工作分工出来,由专职的质量经理来负责,使产品经理和开发经理有足够经理投入到一线开发工作中去,从而实现一线的开发工作和二线的保护性工作的分离,提高软件过程的可靠性,最终提高产品质量。),其他组员随生命周期不同,人选、数量可动态调整和由非周期内主干人员临时专职担任。

在需求调查阶段,质量经理应保持对调查报告和记录工作的检查和度量,发现调查工作的薄弱环节和调查结果的矛盾描述,进行多方的沟通交流,减少调查人员主观意见对调查结果的影响。

在产品策划阶段,质量经理应仔细阅读产品策划报告,发现策划报告本身考虑的欠缺以及和调查结果的差异程度,向决策领导提供产品策划质量检验报告。项目通过立项后,应建立项目产品的质量保证计划,包括:确定需要进行的评价,需要进行的审计和复审,项目可采用的标准,错误报告和跟踪过程,SQA小组自己应该提交的文档,为项目组应该提交的反馈数量等。

在产品需求分析阶段,质量经理应亲自或指导测试员(开发阶段的质检员)跟踪产品经理和开发经理分析讨论过程,理解分析思路,检查需求规格说明书的规范性和一致性,发现、记录漏洞和冲突。主持需求规格说明书和产品开发计划的审计和复审,保证项目计划与公司政策、内部软件标准和外界标准以及其他文档内容相符,该出需求分析质量审计报告。

在系统分析阶段、设计、模块开发阶段,质量经理应亲自或指导测试员识别、记录和跟踪原定计划与实际过程的偏差,帮助收集和分析软件度量信息,并对是否已经改正进行核实。

在系统测试阶段,质量经理应亲自或指导测试员对提交的产品部分或整体进行测试和审计,核实其是否符合原先定义好的部分的特性要求,识别、记录和跟踪出现的偏差,将发现的偏差缺陷及时反馈给开发经理,并对是否已经改正进行核实。

在产品包装阶段,质量经理应该亲自或指导质检员对产品的操作手册、技术说明书、教学演示程序、FAQ、产品宣传资料、产品包装形象设计等与实现的产品进行对照检查、并对相关必须执行过程(如病毒检测)进行监督,识别、记录和跟踪出现的偏差,将发现的偏差缺陷及时反馈给产品经理,并对是否已经改正进行核实。对于质量检验合格产品,签发产品质量合格证书。

在产品推广销售和用户使用阶段,质量经理应监督市场营销人员的工作程序和工作记录,检查是否符合公司制定的营销活动规范,检查产品资源(FAQ、手册、在线帮助等)是否得到充分利用,对资源改进维护提出意见并跟踪到实施改进。协助分析客户试用反馈的质量问题,并追踪开发部门落实改进。

总之,质量保证部将顺利开展一系列质量保证中的计划、监督、记录、分析和报告的活动,保证软件缺陷在其产生之后就立即被发现和鉴定,并尽快得到修复

编辑 | 阅读全文(1140) | 回复(2),babituo 发表于 2007-6-17 20:9