(转)CMMI+人性化管理=软件流程改善成功之道

 

作者:中华软协品质委员会陈皆成咨询委员

不论是美国军用规范(如DOD-STD-2167AMIL-STD-498)、商用规范(如IEEE/EIA 12207)、ISO 9000-3,或是SW-CMM/CMMI(能力成熟度模式),都是期望能建立一个健全的、制度化的「软体发展过程」(Software Development Process)(以下简称为「软体发展制度」)。 而「软体发展制度」的建立,主要是针对软体发展单位,建立其工作所需的正式书面作业常规(例如:「作业程序书」、「工作指导书」等等)。 这些都只注重在「工程管理」的层面,至于如何与单位内部的「人事制度」相结合,则未提及。

根据笔者以前实际参与「工业局软体产业服务团」的专案访查及专案辅导的经验,接触到一些有意建立「软体发展制度」的公司,发现「软体发展制度」的建立,如果能够与公司内部的「人事制度」相结合,其成功率较高。

本文将探讨说明,倘若「软体发展制度」不与「人事制度」结合的状况下,将会衍生的哪些问题,并探讨两者之间应该如何结合。

一、品质与制度

从过去「软体危机」(Software Crisis)所显现的各种问题,可以发现: (1)软体产品常常品质不佳,在交货安装之后仍有许多错误,必须不断的进行后续维护与改版。 (2)软体通常欠缺完整的说明文件(包括规划文件、需求文件、设计文件、测试文件、运作及支援文件...),徒增软体后续维护的困难度。 (3)软体的「可维护度」非常低,在进行后续维护与改版时,将会耗费许多成本。

这些问题层出不穷,而「软体工程」(Software Engineering)被提出,也就是在试图解决这些问题。

一个高品质的软体,并不单只是「性能佳」(High Performance)而已,尚须具备其他的品质特性,例如:良好的「可维护性」、「可扩充性」、「可靠性」等等。 而要达到这些特性,则必须有赖于「团队合作、健全的制度」方能达成。 特别是在一个大型的专案、生命周期较长的系统中,通常不是依靠一、两位「程式高手」(Super Programmer)就可胜任的。 因为,在一个大型的专案中,必须依靠多人的共同合作方能完成产品;而在生命周期较长的系统中,由于工作人员的可能流动(离职/调职),此时必须依靠一个健全的「软体发展制度」,方能持续维持各项品质要求。

所以,「软体发展制度」的健全与否,将会深切的影响顾客对于软体发展者的品质信心程度。 西元1991年,美国空军总部通知软体承包商「所有参加竞标空军软体系统的软体发展公司,皆必须证明其具有CMM第三阶层的成熟度」便是这个道理。

二、软体发展制度推动的阻力

既然健全的「软体发展制度」如此重要,很多公司便开始试图去推动建立,并申请ISO 9001CMMI认证,以便提升公司形象、提高产品的竞争力、让产品得以进入国际市场 但是在建立「软体发展制度」过程中,常会遭遇基层工作人员的排斥与反弹,以至于有某些公司在试图推动之后,结果失败,或不了了之。 基层工作人员为什么会对「软体发展制度」反弹与排斥? 大致上,可以归纳出下列几种原因: 顾饭碗,占地为王,各据一方。 坚持自己的习惯。 担心工作量增加。 (多一事,不如少一事)分述如下:

()顾饭碗,占地为王,各据一方

有些人为了巩固自己的饭碗,便会有「占地为王,各据一方」的状况发生,加强自己的「独特性」(不可取代性),让某个专业技术领域「非我莫属」 而且,相关的资料(重要的技术知识)皆不与他人分享,将研发成果视为是自己的私人财产或护身符。

此时,便会创造出所谓「国宝级」的人物,因为他在公司内部的某个特定专业技术领域里极具「独特性」(不可取代性),你不可能把他裁员掉,如果他一旦离职(或调职),整个专案计画就可能面临停摆。 当「国宝级」人物一旦离职(或调职)后,即使再引进新人,重新训练,一直到能上线接手工作,可能要耗费数个月,甚至更久。 即使新人勉强接手上线工作,也可能是错误连连、问题重重。

「软体工程」(Software Engineering)观念的提出,便是希望将软体发展予以「工程化」──即透过「标准化」、「文件化」、「建立作业常规」等等──以便降低软体工程师的个人独特性,以便软体产品容易进行后续维护。 有许多软体工程的常见作为,例如:订定统一的程式风格;订定统一的文件格式规定;采行标准化(一致性)的分析、设计方法;等等,都是这样的目的。

由「软体工程」的观念中,我们可以发现,其目的便是要降低个人的独特性,让每一个人都成为「小螺丝钉」(随时可被撤换),而不是变成「国宝级人物」(无法被取代)。

在一个追求「个人成功」的组织里,所强调是「成功操之在我」,这是「个人英雄主义」;然而在一个追求「团队成功」的组织里,所强调的则是「成功不必在我」,这是「螺丝钉主义」。 前行政院长郝柏村先生,在离开行政院长职务时,曾说过一句名言:「世界上并没有哪一个职位是『非我不可』的!」。 ──这便是「螺丝钉主义」的极致体现。

大家应可理解CMM Level 1的组织,是仅依靠一、两位「程式高手」(Super Programmer),以一当十,展现个人英雄主义来达成任务。 然而,当这一、两位「程式高手」离职后,软体专案将面临无人可接手的窘境。

当组织达到CMM Level 3以后,才真正达到工程化、标准化、一致性。 此时,软体的开发才不受人员流动的影响,任何人都可以随时离职,工作照样可以持续进行。

所以「软体工程」观念的推动,也是属于「螺丝钉主义」。 这当然是对出资的老板大有好处的,他不用担心因为关键员工的离职,以致使得工作无法继续进行,而造成血本无归。 然而,对劳方(员工)而言,其存在的价值何在? 是不是每一个人都将面临随时被裁员的命运? 对于年轻人而言,每一个人都在追求「自我存在的价值」,期望得到肯定与认同 这两者之间,应该如何取得平衡? 这可能是推动「软体工程」观念的人,必须去思考的。

为了解决「占地为王,各据一方」的现象,以下列出一些常见的「解决之道」:

1.专业领域应受肯定与尊重

在各个工作岗位上,每个人都有其重要性及贡献,因此每一个人都应该受到应有的肯定与尊重。 让每一个人都获得其应有的「价值感」。

以下介绍几个真实案例(以软体测试人员为例):

(1)案例一:

笔者在参与辅导某电脑公司申请ISO 9001认证的过程中,曾经实际观察到一个事件(现象)。 如下:

该公司原本有一专业的测试部门。 公司的所有产品(软体或硬体),皆必须经过此一部门的测试通过,才可以出货上市。 在公司内部,这是一个极为重要的部门,非常受到公司最高主管的重视。 此一部门的主管,曾经自豪的表示,该部门员工的年流动率,低于5%

不过,后来在其它各部门的要求下,将此一专业的测试部门解散,所有的测试人员皆被打散、分配到各部门继续执行测试工作(职务、工作内容不变)。 后来,这些「测试人员」的年流动率,便不再低于5%,很多人陆续离职求去。 原因如下:

原本,当这些「测试人员」都在同一部门时,由于部门的重要性,让每一个人皆有「价值感」。 而且受到公平的对待,不论考绩、奖励、升迁,皆有一致的标准。

然而,当这些「测试人员」被打散到各部门之后。 有些部门的主管,并不重视「测试人员」,这些主管认为,负责设计、研发的人员(例如程式师)才是「主角」,而这些「测试人员」只不过是「配角」而已。 因此,这些「测试人员」在各部门中,便受到不公平的对待,不论考绩、奖励、升迁,皆是殿后。

在一个不受重视的环境中,被视为「配角」、「二等员工」,如此一来,谁还会卖命工作? 谁还能待得长久?

(2)案例二:

笔者过去参与执行「工业局软体产业服务团」专案访查时,曾经有一家受访公司的总经理,当笔者问及该公司的软体产品是否有专职的测试人员时,该公司的总经理指着「柜台总机小姐」说,她就是该公司的「软体测试人员」 笔者发现该公司的测试过程,并未依据软体规格,也未拟订测试个案,纯粹只是进行「猴子测试」(Monkey Test)而已。 注:所谓「猴子测试」意指毫无章法的胡乱测试。)

该公司之所以未聘请「专业的软体测试人员」,是因为总经理并不认为软体测试是一项「专业技术」,所以软体产品的测试工作就交给一位未受过任何专业训练的「外行人」来进行。

(3)案例三:

笔者今年在软体品质工程师培训课程的某个「企业包班」授课时,曾经在介绍前述两项案例之后,说明软体测试人员的困境:

当公司的软体产品品质很好时,公司的老板会认为:这是程式师的程式写得好。

当公司的软体产品品质不佳时,公司的老板会认为:测试人员未尽责(软体有错误,却未测出。未能善尽品质把关之责)。

软体测试人员的处境是:「有功无赏,有过则担。」而且:「打考绩时,被排在后面;公司裁员时,则被排在前面。」

在授课完毕之后(下课后),有几位该公司的软体测试人员,很感慨的向笔者表示:「老师,您真是说出了我们的心声!」。

由此可见,在台湾的环境,「软体测试人员」似乎并没有受到应有的重视与尊重。 所以很多人不愿意担任「软体测试人员」,因为这只是「配角」──公司裁员时,会被优先考量。 很多人宁愿担任「程式师」,因为这才是「主角」──可以巩固地盘,还可以「拿翘」。

在软体专案的各种角色里,所谓「主角」与「配角」的区分,大致如下:

主角:专案经理、系统分析师、系统设计师、软体程式师。

配角:软体品保工程师、软体测试工程师、软体型管工程师、文件资料管理人员。

在台湾的企业文化里,这些「配角」通常是不受重视的,而且处境通常都是「有功无赏,有过则担」。

2.改善人事体制,保障工作权

在一个随时会面临裁员的单位里,单位的前途未卜,员工充满着不确定感,人心惶惶,人人自危。 在这种情况下,为了生存竞争,当然要想尽办法巩固自己的地位,将自己塑造成「国宝级人物」,建立无可取代的地位。 员工会有此种心态:「如果我的工作,有人可以取代,那我的饭碗岂不是随时都会不保?」在这种情形下,要建立工程化、标准化、一致性的「软体发展制度」 ,大家当然不会愿意配合。

所以,必须先改善人事体制,保障工作权,让员工感觉有安定感,如此,在推动「软体发展制度」时,员工自会乐意配合。 有些公司为了推动知识管理(知识分享),会将知识分享列入人事考核,这也是很好的做法。

3.壮士断腕(可能会有不良后果)

有些公司在推动无效的时候,最后会采取断然措施,开始排除阻力。 将那些不愿意配合公司政策的员工,一律开除。 这或许也是一种解决方式,然而却可能是「玉石俱焚」的做法。 一旦劳资双方形成对立,处处产生猜忌,未来推动任何事情,都将是困难重重。

4.引进新人,重新开始

有些公司实施新制度,是针对新人来实施。 特别是引进刚从学校毕业的人,这些人如「白纸」一般,较无成见,可塑性大,容易调教,所以很容易遵循公司所颁布的各项规定。

如果是一些已经有三、四年以上的工作经验者(或资深人员),或是一些学历较高者(例如:硕士以上的人员),或是一些优秀学府毕业者(例如:台清交),这些人通常成见较深,比较会坚持己见、自以为是、独断独行,所以很难令其遵循公司所颁布的各项规定,而且比较会有「占地为王,各据一方」的情况。 而且他们所提出的最常见的反对理由是:「软体工程的各项制度,太过呆板、碍手碍脚,会抹杀创造力。」

()坚持自己的习惯

基层工作人员对「软体发展制度」产生反弹与排斥的第二个原因是「坚持自己的习惯」。

有些工作人员早已养成自己的一套工作习惯,如今却要订定一大堆规范,令大家来遵循。 因此,有的人会对新的工作规范,产生反弹与排斥。 此种现象,尤其会出现在「学历高」或「主见强」的人身上。

针对此一问题,其可能的「解决之道」如下:

1.由大家共同协商订定。

为了破除每个人的本位主义,让大家来共同协商订定新的工作规范(作业规定),大家各自退让一步。 藉由协商可以促进大家建立共识。

有些公司,在推动ISO 9001CMMI认证时,便指派那些「学历高」或「主见强」的人来负责编撰相关的「作业程序书」及「工作指导书」。 这是一个很高明的作法──因为,对于自己所亲身编撰的「作业程序书」及「工作指导书」,总应该乐意遵循,而不再排斥吧!

2.主管的决心。

由那些「有实权的主管」出面推动,也可以破除每个人的本位主义,订定出大家都可以接受的新工作规范(作业规定)。 所谓「有实权的主管」是指握有考绩、奖励、惩处、升迁、加薪、年终奖金等等,有实际决定权的主管。

如果「有实权的主管」皆放任不管,或者只有口头上的支持,而无实际上的赋予权力,只单靠一群「没有实权」的「推动小组」在摇旗呐喊,这样有可能会推动成功吗?

()担心工作量增加

基层工作人员对「软体发展制度」产生反弹与排斥的第三个原因是「担心工作量增加」。 在建立正规的「软体发展制度」之后,可能会有许多额外的(原本没有的)工作要做。 ISO 9001CMMI制度来说,为了满足ISO 9001CMMI的基本要求,在作业的过程中,可能就要多填某些表单、多写某些文件,以便留下「佐证记录」。 换句话说,正规制度一旦建立之后,无形中,工作量就增加了。


基层工作人员对此一状况,当然会排斥。 他们认为:
「多学一样东西;就多一份工作量。」
「专案时程规划不合理;资源分配不当。」
「我的薪水并没有增加,然而工作量却增加了!」
「多一事,不如少一事嘛!」

针对此一问题,可能的「解决之道」如下:


1.适当的「奖励措施」与「升迁或轮调制度」
为了降低因工作量增加,所带来的冲击,有些公司会采取适当的「奖励措施」与「升迁或轮调制度」,以鼓励员工配合公司的政策。


事实上,在制度推动建立的过程中,「推动小组」成员的工作量就已经增加了,因为他们一方面要继续维持本职的工作,另一方面又要负责编撰所需的「作业程序书」 、「工作指导书」等文件。 所以给予这些员工适当的「奖励」,可以降低其心中的不平。


至于应采取哪些适当的「奖励措施」与「升迁或轮调制度」? 这必须视不同的情况而定。

2.生命共同体的理念
前面提到健全的「软体发展制度」是很重要的,甚至去申请ISO 9001CMMI认证,可以提升公司形象、提高产品的竞争力、让产品得以进入国际市场 公司一旦获利,员工也一样获利。 如果公司经营不善,员工则一样受害。


因此,公司与员工是一个「生命共同体」。 如果公司的经营者,能与员工妥善的沟通,灌输员工正确的观念,大家建立共识,如此,亦可降低员工的排斥与反弹。


所以,很多公司在推动制度建立的过程中,便耗费许多时间在内部建立共识。 让每位员工能确实认知建立健全的「软体发展制度」所带来的好处。

3.更合理的时程及成本管制
如果确实工作量增加了,应该合理的反应在软体专案的时程及成本上。 换句话说,应该合理的调整时程及成本的估算方式,而不应该让工作人员「自行吸收」。


「合理的时程」如何订定? 需视个案而定,必须考量诸多因素,例如,资源的分配、工作人员的能力、与其它相关人事物的互动影响等等。 如果时程压缩的太紧,或工作量增加得过多,此时有可能日夜赶工都无法按时完成。


工作量的增加,一方面也意味着「作业成本」的增加。 事实上,确实有很多公司曾抱怨,通过ISO 9001CMMI认证之后,作业成本反而增加了。


关于此一问题,有很多人提出解决之道,就是:


(1)提高软体产品的「可再用性」。 例如,采用「物件导向」之分析、设计方法;建立软体元件库;等等。
(2)启用「自动化工具」。 例如,采用CASE(电脑辅助软体工程)工具来开发软体;使用「专案管制工具」、「型态管制工具」等等。
(3)进行企业内部流程的再造。 在不违反ISO 9001CMMI的要求下,可以将内部各项作业流程予以精简化、合理化,删除一些不必要的重复投资、减少耗费资源的人事物等,以降低公司内部的「作业成本」


有一句品质名言:

「品质」是需要付出成本的。 如果不愿意付出此成本,则将来所付出「代价」更大。

从软体工程的教科书上,我们也可以理解:推动「软体流程改善」(Software Process Improvement),建立满足ISO 9001CMMI的软体发展制度,主要是在藉由提高产品的「预防成本」,以便有效降低产品的「失败成本」(注:所谓「失败成本」意指因错误而必须修正/再制(Rework)的成本。)以长远的眼光来看,推动软体流程改善,可以有效的降低软体产品的「总投资成本」,这是因为产品的瑕疵数量减少了。

综合本章以上所述,关于基层工作人员对「软体发展制度」反弹与排斥的原因及其可能的解决之道,可以归纳为「表一」所示。

表一:对「软体发展制度」反弹与排斥的原因及其可能的解决之道


反弹的原因分析

常见的现象

解决之道

顾饭碗(担心工作没保障)
占地为王,各据一方

资料不肯与他人分享将研发成果视为私人的财产(或护身符)
只做「主角」,不做「配角」

业领域应受肯定与尊重善人事体制,保障工作权壮士断腕。
(可能会有不良后果)
引进新人,重新开始奖励措施(将资料分享列入人事考核)
适当的升迁与轮调制度

担心工作量增加(多一事,不如少一事)

认为多学一样东西;就多一份工作认为工作量增加了;薪水又没有增加不合理的时程;不适当的资源分配

奖励措施生命共同体的理念更合理的时程及成本管制提高软体产品的「可再用性」
启用「自动化工具」

坚持自己的习惯(坚持己见)

抗拒「标准化」
(程式、文件、工作流程)
愈资深者或学历愈高者,抗拒力愈强难以沟通、协调;难以建立共识

由资深或学历高者,负责推动标准化由大家共同协商订定主管的决心

三、带兵要带心

军中有两句话:「带兵要带心」、「练兵要练心」。 对于公司高阶主管而言,更应该了解此一道理。

任何制度的推动建立,必须去了解员工的心态及需求。 并且针对员工的心态及需求,去谋求适当的「解决之道」。 运用适当的沟通、观念的灌输、建立共识、采取适当的奖励措施等等,透过适当的「管理手段」来解决。


「软体发展制度」的建立,是「管理」的问题,而非「工程技术」问题。 有怎样的体制,就会有怎样的人及心态。 因此,制度推动的过程中,「人事制度」似乎也要做某种程度的调整。 否则,变成凡事皆「来硬的」,以「高压手段」来推动,往往成功率不高,而且可能会有后遗症。


这里所说的「人事制度」是较为广义的,可包含若干内容:

人员升迁管道。
人员轮调制度。
职位的权责相符。
奖励制度。 例如:考绩、奖金、加薪、分红、持股、

四、如何与人事制度相结合?

「软体发展制度」如何与「人事制度」相结合? 以下,我们提出三种可能的方法:

针对工作项目,设立相关职位。
采行适当的升迁及轮调制度。
采行适当的考核及奖励制度。

()针对工作项目,设立相关职位

以美军规范DOD-STD-2167A为例,在其一般需求里,我们可以看到软体发展过程中,有某些重要(较具独立性)的工作项目要做,如「表二」所示。

表二:DOD-STD-2167A一般需求

功能项目

一般需求项目

软体发展管理
(Software Development Management)

履行符合「合约」要求的软体发展过程。
执行/支援各项审查与稽核。
准备「软体发展计画书」(SDP),并严格遵循之。
贯彻风险管理程序。
遵守合约安全需求。

确保分包合约产品符合主合约之要求。
依据合约,与IV&V承包商相互沟通。
建立并维护「软体发展馆」(SDL)之正常运作。
实施矫正行动过程。
准备各项问题报告及变更报告。

软体工程发展
(Software Engineering)

采用系统化及有正式文件记录的软体发展方法。
建立「软体工程环境」。
识别并分析出各项潜在危害条件。
考量「非发展软体」的使用。
将各个「软体型态项目」(CSCI)细分成若干「软体组件」(CSC)及「软体元件」(CSU)

以文件记录各需求项目的可追溯性。
采用必要的或经核准的高阶语言。
实施设计与程式撰写标准。
建立各CSCICSCCSU之「软体发展档」(SDF)
监控各项处理资源的运用及储备容量的运用情形。

正式鉴定测试
(Formal Qualification TestingFQT)

在「目标电脑」(Target Computer)上执行FQT
准备「软体测试计画书」(STP),并严格遵循之。
建立「软体测试环境」(STE),测试STE中的各个项目。

确立FQT各项活动的独立性。
以文件来记录各「需求项目」到「测试个案」之间的可追溯性。

软体产品评估
(Software Product Evaluations)

评估各「交付产品」(Deliverable Product)
确立各产品评估活动之独立性。
内部协调交付前各个「交付项目」(Deliverable Item)的最后一次产品评估。

准备及保存历次之产品评估记录。
采用各项评估准则。

软体型态管理
(Software Configuration Management)

准备及撰写下列工作之计画文件,并履行之:
型态识别、型态管制、型态状况记录。

准备记录「交付项目」的储存、处置、与交付之方法与程序之文件,并履行之。
准备各项针对「基准」(Baseline)变更的「工程变更建议」(ECP)及「规格变更通告」(SCN)

软体移转支援
(Transitioning to software support)

使用买方的硬体及软体,以提供可再产制及可维护的程式码。
准备将「交付软体」(Deliverable Software)转移到支援阶段的各项计画。

在指定的「支援环境」里,进行安装与检测,并依合约要求提供训练与后续支援。
按照「合约资料需求清单」(CDRL)的要求,准备「运作及支援文件」(Software support and operational documentation)

有些公司在建立「软体发展制度」时,便会根据较为重要(较具独立性)的工作项目,设立对应的职位。 例如,参见「表三」所示。

表三:各职类工作人员


「软体发展制度」所要求的工作项目

对应的职位

专案的规划与管理

专案经理

软体工程发展

分析师设计师程式师

软体品保

软体品保工程师

软体鉴定测试

软体测试工程师

软体型态管理与资料管理

软体型管工程师文件资料管理员

软体移转支援(软体维护)

软体维护工程师

每一个职位(头衔)并非一成不变的,因为每个人都可能会轮调或升迁。
这些职位被设立的同时,也同时被赋予其应担负的「权」与「责」。 其优点是:

每个人皆有明确的专业及专职,不会角色模糊或混淆。
同工同酬,不同工则不同酬。
权责相符。

假设,某一家公司,每个人的职位(头衔)是「主任工程师」、「工程师」、「副工程师」、「技术员」 在这种情形下,这些人被分配在「软体发展制度」里所扮演的角色,可能一会儿是「专案经理」,一会儿又是「程式师」,一会儿是「型态管理工程师」,一会儿又是「测试工程师」,每个人的角色都是不明确、模糊不清,甚至可能相互混淆。


乍见之下,似乎每个人都是「十项全能」、「百般武艺精通」,然而深入去了解之后,却发现,在软体工程的各类工作项目里,每个人都不是专职、专业的。 而衍生出来的问题便是:(1)同工不同酬;(2)权责不相符。


就以「同工不同酬」而言,一位「主任工程师」与一位「副工程师」,两个人所扮演的角色都是「程式师」,工作内容完全相同,然而两个人的薪水却可能差异很大。 注:要解决此一问题,必须另外订定一套合理的绩效考核及奖励办法──依据职等或薪水的高低,被赋予不同的考核标准,薪水较高的人会被赋予较高的绩效要求。)


若以「权责不相符」而言,其中最严重者,便是「专案经理」。 「专案经理」,有可能未被赋予任何「实权」(考绩权、奖励权、惩处权)。 一个没有「实权」的「专案经理」,如何指挥得动其他专案成员来执行工作?


因此,在此情况下的「软体专案」最后常常会成为「一人专案」或「两人专案」。 因为「专案经理」指挥不动任何人的结果,就只好所谓「念经、扫地、兼撞钟」,专案工作从头到尾自己做。


此外,「专案经理」尚有可能必须面对另一个难题:「有责者无权;有权者无责」。 没有「实权」也就罢了,但是专案的成败却还要「专案经理」担负全责。 而专案经理的上层主管,则是握有实权,但却不必担负专案成败的责任。


这种「有责无权;有权无责」的结果,便可能会形成「有功无赏,有过则担」──专案成功时,「在上位者」记功嘉奖(顶戴光环);专案失败时,「在下位者」记过处分(代罪羔羊)。

( ()采行适当的升迁及轮调制度

有些公司在设立相关职位之后,会采行适当的升迁及轮调制度。 例如:(参见「图一」)

 

图一:升迁与轮调制度(范例)

对于新进人员,先让他们担任「软体维护」的工作,让他们由前人的程式及文件中,去研读、学习前人的设计理念及方法。 这同时也是一种很好的「在职训练」。


担任「软体维护」工作一段时间后,再调往担任「软体开发」工作,去研发新的软体产品,这是最富挑战性,也是一般人最喜爱的工作。


在担任「软体开发」工作一段时间后,可依其意愿再调往担任「软体测试」(Software Testing)或「软体型管」(Software Configuration Management)工作。 因为,基本上「软体测试工程师」应该具备「软体开发」的经验背景,否则如何去测试产品、找出别人的错误所在? 尤其是,必须看懂别人所写的程式,才能进行「白箱测试」


而「软体型管」主要是负责执行型态识别、型态管制、型态状况报告等工作(也就是负责软体产品的修改管制,以及智慧财产的保存、管制等工作),所以理想上也应该具备「软体开发」的经验背景,否则将难以胜任。


「软体测试」与「软体型管」之间,可以相互轮调。 经过一段时间之后,便可调往担任「专案经理」或「软体品保」工作。 此时,必须附加规定:必须担任过「软体开发」、「软体测试」及「软体型管」者,才可担任「专案经理」或「软体品保工程师」。

这是因为,如果没有担任过各项基础工作,如何有经验去带专案? 去执行并管理专案的进行? 同样的道理,如果没有担任过各项基础工作,如何去执行软体品保业务? 如何去执行评估、监控、见证、审查、稽核等工作。 当然,员工也可以选择永远担任一位「资深的软体开发工程师」,但是如此一来,他的升迁也将永远受限。


「专案经理」与「软体品保工程师」之间,可以相互轮调。 经过一段时间之后,便可晋升成为「部门经理」或「品保经理」。 「部门经理」与「品保经理」之间,可以相互轮调。 经过一段时间之后(曾担任过「部门经理」及「品保经理」),便可晋升成为「协理」。


此一升迁及轮调制度,完全满足「由基层干起」的理念。 因为,往往一些所谓的「空降部队」,未曾由基层干起,完全搞不清楚基层工作人员的心态及工作内容。 如此,将如何去领导、管理一个部门?

()采行适当的考核及奖励制度

有些公司为了激励员工士气,会采行适当的考核及奖励制度。 目前国内最常见的就是运用考绩、奖金、加薪、分红、持股、等等方式。


有些公司将员工的本薪压低,然后视员工的工作绩效及产值,再额外给予工作奖金、红利或持股。 而且,这些「额外的给予」可能是「本薪」的13倍。 如此一来,员工自然乐意卖命工作。 (事实上,「奖金、红利、持股」通常比「加薪」更具吸引力,因为「加薪」的「幅度」至多3%10%,然而「奖金、红利、持股」却可能是「本薪」的数倍之多。)


让员工分红、持股,可以让公司全体员工,以及劳资双方产生「生命共同体」的理念──大家「利则两利;害则两害」、「祸福与共」。


在软体公司里,既然有各类工作人员(参见「表三」),其工作性质及内涵皆不相同,那么,如何去考核各类工作人员的绩效呢? 以前,在「软协」所举办的「软体业者CEO讲座」里,曾有研讨过类似课题,可供参考。


在制定奖励制度时,宜考虑下列几项基本原则:

原则1:每位员工所获得的酬劳及奖励,端视其对组织的贡献程度而定。

原则2:将组织的「营运目标」与员工的「生涯规划」相结合。

原则3:各人的需求不同,满足程度亦不同,所以奖励方式最好因人而异。

原则4:相同的奖励,针对相同的人,在不同的时间或地点,会有不同的效果。 所以奖励方式最好能因时制宜、因地制宜。

除了「金钱」的奖励外,事实上还有很多奖励方式。 常见的奖励方式有:金钱、认可、休假、行动参与权、偏爱的工作、升迁、自由、自我成长、乐趣、奖品等等。 市面上的企管书籍,介绍得很详细,因此本文不多做赘述。

五、结语

有一个重要的观念,大家应该深思:

「软体发展制度」的建立,是「管理」的问题,而非「工程技术」问题──有怎样的体制,就会有怎样的人及心态。

本文只是根据笔者的亲身所见所闻,信手拈来,或许并非很严谨,但是希望能做为一种「抛砖引玉」,期盼有更多人在此一领域中去深入探讨。


在推动软体流程改善的同时(不论贵公司是推动ISO 9001CMMI认证),应该考虑如何采用「人性化的管理方式」,将「软体发展制度」与「人事制度」紧密的结合在一起,建立一个更理想、更人性化的体制,促进「劳资双赢」的局面,为「软体发展制度」的建立,创造一个更为成功的典范。

posted on 2009-11-19 08:35  Melou  阅读(1095)  评论(0编辑  收藏  举报