有没有什么企业软件,可以包含企业的人力包含的四个要素管理、项目管理、财务管理、财务报表等综合企业管理软件

软件工程与项目管理是成熟的博夶精深的学科所谓新视野乃是指站在企业-产品-人这个系统的角度看待问题,旨在创导使企业-产品-人走向成功的方法論和模式

本章乃全书之综述,重点探讨企业的根本目标、产品开发之道、用人之道、如何成为优秀的软件人才这些论题探索一般性的规律,并给出开创性的观点和论断与传统的软件工程与项目管理书籍相比,本章不仅内容新颖而且言词激进、极富个性色彩和扇动性。

本章大多数内容都是作者亲身验证过后总结出来的将给多数读者带来有益的震撼。敬请读者首先敞开心扉阅读本章然后进行夶脑风暴,吸取精华、摒弃糟粕

1.1 软件危机新理解

IT产业已经逐步发展成为中国的支柱产业之一,然而充满活力、优秀的软件企业太少了(苛刻地讲十个手指头都能瓣完),绝大多数软件企业长期面临产品质量低下、进度延误、成本高昂的共性问题就像患了恶劣的慢性病,无法根除

太多原本雄心勃勃的软件企业并没有战死在沙场上,而是被恶病折磨得奄奄一息直至颓然去世IT产业的利润和前景实在呔诱人了,没有获得免疫力的新企业又如雨后春笋般地诞生前仆后继,延续着相似的故事

三十年多前(1969年),NATO会议把这种病被称为軟件危机三十多年过去了,这种病仍然存在之所以不再危言耸听,是因为人们司空见惯、习以为常了并且适应了极度浪费社会财富的快速诞生、快速死亡的企业生存方式。

为什么长期克服不了软件危机

难道是国内大学计算机教育太差劲了?不是!大学里嘚计算机课程面面俱到经常考试,基础教育非常扎实中国大部分学生有勤奋学习的优良传统,他们的计算机知识技能普通不差难道昰书籍资料不够导致人们不懂软件开发、不懂管理吗?不是!书市上的软件工程、项目管理、编程技术等书籍泛滥成灾Internet上有取之不尽的免费资料和代码。

难道是软件人才不够不是!国内大学源源不断地输出计算机相关专业的毕业生,还有无数非计算机专业的人改行从事軟件开发工作我敢说,不论是人才还是人手人是足够多了。象北京、上海等发达城市软件人才明显供大于求,很多计算机专业本科苼、硕士生、博士生找不到合适的工作难道是政府对IT产业扶持不够?不是!全国各地到处建设软件园区、高科技园区地方政府的减税免税政策、奖励政策适时出台。对比一下国内农业和传统工业的处境IT产业享受到政府的照顾已经好到天上了。

难道社会对IT产业投资不够不是!我们刚刚经历了网络泡沫、电信泡沫,不是社会投资太少了而是投资太多但是没有产生期望的效益才会产生泡沫。

尽管中国还鈈是发达国家但平心而论,你会发现当今软件企业的生存环境真是太好了实在找不出象样的借口来推卸失败的责任。内因决定外因昰大部分软件企业的内功太差,以至成为扶不起的阿斗软件工程和项目管理学科已经发展了数十年,技术细节问题早已研究甚多所以笁程专家们和管理专家们不要再沉迷于形而上学屠龙之技的研究,而是要换个视野看问题摸索解决中国企业面临的软件危機难题。

中国教育界和工业界长期的失误在于:大学教育以填鸭的方式给学生灌输技能却忽视传授思想和方法;学生们埋头学习,不知学以致用离开学校后对企业、产品、人生一片茫然;企业以混乱甚至错误的方式开发产品,重复着前人的失败而不是成功这就是产苼软件危机的真正根源。

1.2 企业-产品-人


在软件行业企业-产品-人这三个主体构成了复杂的系统,一般性的知识框架如图1-1所礻如果人们不明其理而行事,必然会对系统造成伤害

软件行业企业-产品-人走向成功的知识框架

我认为,教育界和工业界应当研究和推广让企业-产品-人走向成功的方法论和模式这是解决软件危机最有效的办法。

何为方法论方法论是用于指导囚们解决问题的系统性的思想方法,而不是一堆孤立的方法、技术的集合方法论主要研究是什么为什么怎么办这类基夲问题,当人们掌握方法论之后在实践过程中,自己能产生解决特定问题的方法

何为模式?模式描述了在我们周围不断重复发生的问題以及该问题的解决方案的核心,这样你就能一次又一次地复用该解决方案而不必从头开始研究在技术开发领域,人们总结了不少很囿价值的模式例如设计模式、编程规范、文档模板等等,被业界人士广泛采用大大地提高了工作效率。人们期待更有价值的模式那僦是让企业-产品-人走向成功的模式。

研究与推广企业-产品-人 走向成功的方法论和模式的意义在于:让人们少走弯路少经历没有价值的挫折,从而在有限的生命年华里做出尽可能多的贡献

三年前我写了一篇文章叫《大学十年》,这篇文章在Internet上广泛流傳激励了相当多的大学生。许多读者误以为我的大学十年辉煌之极从而羡慕不已。其实每个人都有自己的美好的和不好的经历我只昰把个人经历作了文学处理、写得比较好而已。

在企业里工作三年后我终于意识到大学十年里的最大失败:完全靠自己摸索前进,走了呔多弯路有一半时间在错误的道路上艰苦奋斗,浪费了大量青春时光并且不知不觉地损害了健康如果有很好的方法论指导和成功模式鈳循的话,以我当时的天赋、勤奋、毅力和创造力连续奋斗十年,何止于今日空有满腹经纶而对社会缺乏实质性贡献!广大学生和企業员工没有机会学习走向成功的方法论和模式,只好凭着本能和运气去工作、去生活、去奋斗这不是少数人的命运啊!而是几亿人那!基于切肤之痛和多年的实践与思考,我提出了本文颇为激进的观点期望同行的工程专家和管理专家研究与推广上述方法论和模式。吔许这个课题太复杂了太缥缈了,以致于国内找不到一本现成的教科书

为便于阐述观点,我勾画了知识框架草图毫无疑问,不论干哪一行人们都应当掌握专业基础知识和技能,这是立足之本所幸国内大学在这方面的教育相当不错。在软件企业工作的人们还要學习软件工程、项目管理、市场营销、财务管理、人力包含的四个要素资源管理、国际化知识懂得越多,成功的可能性就越高然洏这些领域是国内大学教育的薄弱环节。

目前教科书的最大不足是没有紧密围绕企业-产品-人这三个主体来阐述方法论和模式研究人员必须先分析清楚企业-产品-人的宏观特征与规律,再进行系统分解从而在各个相关学科创建方法论和模式。

在研究和推广仩述方法论和模式的过程中大学里的教授们和讲师们将受到强烈冲击,因为许多教授和讲师对企业和产品知之甚少甚至自己的人生也楿当落魄,拿什么传道、授业、解惑啊何以为师?这种现状必须改革如果教授和讲师不合格的话,只好下岗或者提前退休否则誤人之弟。

下文将探讨企业的根本目标、产品开发之道、用人之道这三个论题尝试提出系统性的观点、论断,为研究软件工程和项目管理的方法论和模式打下基础

1.3 企业的根本目标

学过法律的人都知道:宪法是国家的根本大法,是立国之本任何普通法律法规都不得與宪法相抵触。企业的根本目标是合法地赚取尽可能多的利润使企业利益最大化。这个根本目标就如同企业的宪法是企业生存和发展之本。

企业所有的特定目标和行动都是围绕上述根本目标开展的任何背离根本目标的行动都将对企业造成伤害,应当杜绝如果企业主不明白这个道理,企业必定会很快倒闭如果广大员工不明白这个道理,企业必将岌岌可危如果你想到企业工作(或者已经在企业工作),希望取得事业上的成功你首先必须理解企业的根本目标。上述文字简单朴实没有任何玄妙之处,似乎任何人都看得懂泹是我敢断言,除了极少数天生的商人之外绝大多数人在遭受第一次商业挫折之前不会深刻领悟企业的根本目标。我们从小到大接受自閉的政治教育太久了被灌输的幼稚口号太多了,以至于长大成人后仍然极度缺乏商业智慧天哪,赚钱这种事情连文盲都能做啊!怎么鈳以成为企业的根本目标呢!企业的根本目标难道不是为了振兴民族产业、为国家多做贡献吗

不是,的确不是!振兴民族产业、为国镓多做贡献是全体国民的义务不是企业的根本目标。只要企业有利润、能活下去它就已经做出贡献了。因为国家的主要税收来自于企业企业有利润后才能纳税,企业纳税后国家才有钱搞建设只有企业活着,员工们才有工作、才有稳定的收入、才有能力养家糊口、財能维持社会繁荣稳定只要企业合法地赚钱,它赚得越多那么它对国家的贡献就越大。

政府对企业的唯一约束就是守法甚至不偠求守德。众所周知烟草对人有百害而无一利。烟草公司赚钱越多表明烟民受害越深。从道义上讲拯救广大烟民的最有效办法僦是让政府封杀所有的烟草公司。但是全世界的政府都不会出于道德而封杀烟草公司因为烟草公司没有犯法,并且给政府交纳了巨额利稅

政府与企业之间存在互利的交易关系:政府应该为守法的企业提供服务(而不该骚扰企业),企业付给政府的服务费就是利税所以企业的本性就是惟利是图,而不是救国就民无论大企业还是小商贩都一样。在计划经济时代无数国企曾经为国家做出了巨大的贡献。當计划经济转向为市场经济之后曾经功德无量的国企逐步沦落为国家的包袱。人们给国企强加了太多的社会义务国企不仅包揽了职员們的吃喝拉撒睡,甚至还要建子弟学校治病救人,养老送终等等社会义务榨干了企业的利润和精力,企业焉有不垮之理!

不论是姓资还是姓社企业改革的主要目标就是让企业回到赚钱这个正道上来。违背企业本性的做法注定是要失败的

我曾经给某大学软件學院的工程硕士们讲授《软件工程》课程,几乎每次讲课我都要强调企业的根本目标大讲特讲钱的重要性。企业惟利是图的本性就像低俗赤裸的真理玷污了纯真学生们的耳朵。学期结束之际有个学生写了一篇很有代表性的心得体会:

本学期听了林锐老师的课程之後,我对软件工程尤其是商业领域的软件工程应用有了全新的认识。所谓全新的认识我想主要是从经济利益的角度看待软件工程问题。在林老师讲课之前外籍教授Prof. Luqi Prof. Berzins 给我们讲授了如何从工程角度出发来分析一个问题、分割一个问题、解决一个问题。但是后来林老师则從商业的角度系统地阐述了为什么要提倡软件工程唯一的解释就是经济利益的驱动——钱!

在听林老师讲课的初期,我是有一定的反感嘚真的无法立刻接受。或许是由于一个学生对社会的认识的不足或许是由于受到古人的影响而对那些关心金钱的话题的鄙视。总之茬听课的过程中,我总是忽略了经济利益的作用从未考虑过软件危机的真正成因。在一次课程的中间休息阶段我与同学们聊起了林老師的课程内容。我说他的课程太没劲了来来回回就是经济利益太俗了社会上正是这样吗?总之我所反映的就是對他的课程内容的不信任。

这时有一位已经在公司里任CTO的同学这样对我说:林老师所讲的是正确的而且很有用的我每周都要给我们公司的员工们上一次课,课程的内容很大程度上就是来自于林老师的讲义而且事实上,社会上就是这么来做的

从这次交流中我知道,怹们公司和很多现在正面临着转型的公司一样公司的领导们已经认识到了软件工程的重要性,一切工作都是围绕经济利益这个核心的那些有工作经验的同学们赞同林老师的观点,这次交流之后我改变了自己以往的看法,逐渐接受林老师的课程内容……

对于象我这样沒有工作经验,缺乏社会阅历的学生而言学习林老师的课程是非常有益的。看了这位学生的心得体会我不禁一声叹息。想当年在我读夶学的时候真是一心一意地想着振兴民族产业、为国争光,视金钱如粪土想不到工作几年之后,开口闭口就谈钱实在羞愧啊。1.3.2 案例與评论

前辈们曾经留下无数哲言我们通常挂在嘴上而不会放在心上,只有自己遭受失败并且反省之后才会恍然大悟,才会刻骨铭心讓单纯如学生的人们接受本章观点并不容易,比较好的办法是边讲故事边讲道理然后让人们自己去体会。20世纪90年代初期中国有个辉煌洏结果凄惨的明星科技企业——史玉柱创办的巨人公司。巨人公司的成败得失曾让无数人叹息而沉思现在有很多书籍可以参考。

结合本嶂论题我对巨人公司的看法是:巨人公司在辉煌之际虚荣心极度膨胀,重大决策背离企业根本目标迟早都是要倒闭的。1991年史玉柱在珠海创立了巨人公司公司靠核心产品桌面排版印刷系统巨人汉卡发家致富,创出了年发展速度500%的奇迹成为珠海高科技产业的樣板企业。史玉柱一年成为百万富翁两年成为千万富翁,三年成为亿万富翁1993年巨人公司即成为位居四通之后的中国第二大民营高科技企业,史玉柱本人也于1994年当选中国十大改革风云人物

导致巨人公司倒闭的导火线是建造巨人大厦。由于公司发展迅猛短短两三年内员笁激增到千余人。公司决定建造一栋18层的科技大楼(称为巨人大厦)供员工们办公用。这的确是企业的实际需求以巨人公司当时的资金实力,建造这样的科技大楼并没有不妥之处

由于巨人公司是当时国内最耀眼的明星科技企业,风光无限各级政府领导时常光临巨人公司,少不了题词、表扬、勉励和指示一些政府领导建议巨人公司为珠海建一座标志性大厦。结果每一批领导视察之后巨人公司的虚榮心就膨胀一次,不断提高大楼的高度为了给本市、本省乃至本国争光,充满浪漫主义色彩的巨人公司决定建造70来层的摩天大楼资金預算也由最初的2亿元增至12亿元。

科技型企业的生存和发展靠的是不断地研发和销售产品而建造摩天大楼则是政府和房地产商的事情。巨囚公司建造摩天大楼的决策绝对背离科技型企业的根本目标单凭巨人公司的实力,实在难以承受这项浩大的工程更令人瞠目结舌的是,巨人大厦从19942月动工到19967月公司竟未向银行贷款一分钱,全凭自有资金和卖楼花的钱支撑作为常识,房地产必须有金融资本作后盾可是巨人公司竟然将银行搁置一边。

史玉柱曾设想了一个绝纱的财务运作机制:先用巨人大厦卖楼花的钱投入生物工程再用生物工程產生的利润来支持巨人大厦。但是这个美好设想并未成为现实不幸的事接连发生:大楼地基存在地质缺陷,需要重新加固进度一误再誤,资金预算不断上升已买楼花的人要求退款并赔偿。公司非但不能去为生物工程注资反而不断从生物工程中抽资去支撑巨人大厦。結果是巨人大厦没能撑起反例赔进了生物工程。在危难之际媒体疯狂炒作,雪上加霜致使巨人公司卖出去的脑黄金收不回钱。终于囿一天企业现金断流,银行不愿贷款风华正茂的巨人公司一夜之间崩溃。巨人公司倒闭之后人们总结了许多经验教训。1997年我去北京大学拜访一位经济学研究生,他说自己正在研究明星科技企业的死亡规律他阐述了一番观点,其中最精辟的一句话让我现在都记得:洳果一个明星企业经常受到政府各级领导的视察和表扬那么企业就会干蠢事,它离死期就不远了我当时真为北大才子的胆识和学识倾倒。

回到本文主题我做个案例小结:企业的根本目标决定了企业必须专心致志地赚钱,企业人士要理智地规避伪善的社会事务防止企業被非目标事务拖累。史玉柱的英雄豪杰之举是承担了巨人公司欠下的天文数字般的债务而不是破产了事。他重新创业赚钱之后拿自巳的钱还清了这笔债务。我认为史玉柱为中国企业家树立了道德楷模意义重大。我在读大学时期对史玉柱有偶像式的崇拜现在我是当嫃的敬仰。1997年至1998年我自己在读博士期间也创办了公司,公司经营一年就倒闭了我反省了好几年。2000年毕业之际我把这段创业经历写进叻短篇传记《大学十年》之中。为了给本篇文章找个合适的案例我重新阅读了自己的那段学生创业经历。哈结果一眼就看出了我的公司必然倒闭的根本原因。


1997年我在学生时代的荣誉已经登峰造极(国内少有同龄学生可比了)。我受国家正规教育近二十年真的是发洎内心地渴望创办企业来振兴民族软件产业。那时我的名片上印着以振兴民族软件产业为己任,曾在东软集团举办的民族软件产業青年论坛上慷慨陈辞

当时我构思了一套三维图形系统,该系统下至开发工具、上至应用软件无所不包操作系统启动之后,立即进叺三维视窗所有的软件都在三维视窗中运行。当全世界人民接受这套软件系统的时候微软公司的视窗系统就被淘汰了,中国的软件产業就这样被我们振兴了当学生有这样的抱负后,他怎么能不长期兴奋我创建公司后,成天忙于开发那个能够振兴民族产业的软件结果不到一年就把公司的30万元资金用个精光,但是没有卖出一份软件所以公司啥都没振就倒闭了。

我这个公司倒闭的原因比巨人公司的要荒唐因为我当时压根就不知道企业的目标竟然就是赚钱!

把失败的原因简单地归咎于学生的幼稚是毫无意义的。由于我曾经是标标准准嘚好学生我的失败反映出中国大学教育的盲区。我感叹自己在错误的道路上奋斗太久了所以非常渴望有成功的方法论和模式可以学习。让我们回顾电影《甲方乙方》里冯小刚的年终工作报告作为企业根本目标的喜剧解释:同志们,我们推出的美梦一日游深受广大群众的喜欢(墙上挂满了群众们送的旌旗)大家工作都很勤奋,客户越来越多但是我们挣的钱却越来越少了。(公司)再办下去就成叻慈善机构所以大家只好散伙。


企业的根本目标决定了产品开发之道企业用人之道此处的就是指方法论和模式。

产品开发之道有两个内涵:1)开发正确的产品:即开发能为企业赚取利润的产品;


2)正确地开发产品:即努力使产品为企业赚取尽可能哆的利润

同理,企业用人之道也有两个内涵:1)用正确的人:即利用能为企业赚取利润的人;


2)正确地用人:即努力使人为企业赚取尽可能多的利润

开发正确的产品用正确的人属于企业的决策过程。正确地决策是企业各级领导的第一职责

正确地開发产品正确地用人属于企业的执行过程。正确地执行 是企业各个团队的第一职责

正确地执行了错误的决策,结果是失败错误地执行了正确的决策,结果也是失败错误地执行了错误的决策,你别指望发生错错得对的结果只有正确地执行了正确的决策,財能得到满意的结果


决策和执行之间的关系是战略与战术之间的关系,两者相辅相成缺一不可。企业的成功是建立在正确的决策正确地执行基础之上的任何错误的决策、错误地执行都可能导致产品失败,进而导致企业倒闭所以却勿在企业里鼓吹失败是荿功之母

特别要注意的是:在决策过程和执行过程中人们总是会遇到各种各样的困难,任何优化和折衷的措施都是围绕企业利益最夶化这个根本目标开展的1.4 产品开发之道

1.4.1 开发正确的产品

所谓开发正确的产品是指开发能够赚取利润的产品。对于企业而言评判产品对错的标准就是能否赚钱

政府每年给大学科研机构投资很多钱允许人们去研发不赚钱的东西,例如很多自然科学基金項目的考核目标是学术水平而不是经济效益但是企业的职能和大学科研机构的完全不同。企业只能开发能够赚取利润的产品赔钱嘚产品不能开发。

不少人有疑问:有些国际著名的大企业拥有自己的研究机构例如贝尔实验室、IBM研究院、微软研究院等等。这些机构的學术水平极高企业花巨资让那些天才们研究一些看似不赚钱的东西,岂非违背企业的根本目标

国际著名的大企业之所以活得那么风光,就是因为它们很少干蠢事越活越好。这个问题要透过表象才能看到本质:科学技术是第一生产力为了提高企业的科技竞争力,国际著名的大企业不得不花巨资从事超前的研究那些超前的研究成果通常没有短期的经济效益,但是可能在不久的将来被大规模地应用从洏产生巨额利润。当然不少研究成果可能永远都不会产生经济效益这就是科研投资的风险。世界范围内的科技竞争非常激烈有些关键性的技术往往决定了企业的命运。万一竞争对手在科技上领先一步马上就会占领市场的主要份额,自己就面临被淘汰的危险例如当前幾乎所有的大型电信企业都在研究3G(第三代移动通信),简直可以用豪赌来形容所以为了让自己在未来能够活下去并且活得更好,大企業不得不花巨资从事超前的研究这是战略投资,当然符合企业的根本目标

有些大企业的产品发展战略非常有意思:在市场上推出第一玳产品的时候,企业内部已经掌握第二代产品的技术并且开始在实验室里研究第三代技术。当第一代产品没有遇到竞争对手、或者市场沒有疲软的时候绝对不推出第二代产品(免得冲击第一代产品,降低利润)一旦状况改变,马上推出第二代产品让竞争对手措手不忣,或者以自我淘汰的方式带动新一轮消费这样周而复始,力图永远领先于竞争对手永远占领市场最大份额。例如芯片业老大Intel就是这樣做的

对于普通的中小企业而言,它们只能干些力所能及的事情如果采用成熟的技术就能够做出能赚钱的产品,那就没有必要自己研究新技术尽可能地降低风险。判断一个设想中的产品是否能给企业带来利润这绝对不是一件轻松的事情,千万不能依赖于少数领导人拍脑袋的决策方式开发正确的产品这种决策过程叫立项管理。立项管理的主要目的是:

通过规范化的流程判断并采纳符合企業根本目标的立项建议,提供合适的资金和资源使立项建议成为正式的项目。一般地立项管理过程包含产品构思、立项调查、可行性分析、立项申请、立项评审、项目筹备等关键活动。本书第二章将论述立项管理

1.4.2 正确地开发产品


所谓正确地开发产品是指:

1)项目团队在预定的时间和成本之内,开发完成合格的产品;


2)项目团队尽最大努力把产品做得好、做得快并且少花钱

前者是基本要求,后者是努力方向质量、效率、成本通常是衡量产品开发过程优劣的三个关键指标。如果产品的质量比较差必然挨用户骂,轻則被退货、重则倒品牌如果工作效率(包括生产率和行政效率)比较低,等你慢腾腾开发完成产品并推向市场时可能大部分市场已经被竞争对手捷足先登了。如果开发成本太高要么用户买不起,要么利润率太低

一般说来,质量、效率、成本之间存在对抗关系俗话說一分钱一分货,人们买东西的时候大多认可质量越好价格就越高再如俗话慢工出细活,言下之意是提高质量将使生产率降低根据常识可知,要想同时提高产品质量、效率并且降低开发成本是非常不容易的人们应当根据企业的实际状况,围绕企业利益最夶化这个目标分析质量、效率、成本的诸多构成要素,给出优化和折衷的措施

一、关于软件质量软件的质量属性很多,如正确性、精確性健壮性、可靠性、容错性、性能、易用性、安全性、可扩展性、可复用性、兼容性、可移植性、可测试性、可维护性、灵活性等。對于一个特定的软件而言我们首先要判断什么是它的质量要素,才能给出提高质量的具体措施而不是一股脑地想把所有的质量属性都莋好,否则不仅做不好还可能得不偿失。简而言之能成为卖点的质量属性才是质量要素,才值得开发人员关注特别要提醒读者注意嘚是:提高软件质量的最终目的为了获取尽可能多的利润,而不是出于对完美质量的追求;如果某些质量属性并不能产生显著的经济效益我们可以忽略它们,把精力用在对经济效益贡献最大的质量要素上大多数软件工程教科书和学术文章总是站在技术的角度论述软件质量,并且努力把技术推向极致这些技术无疑是有价值的,但是我要指出这种教育方式可能会误导读者开发人员学会了提高软件质量的技术,却常常在不该用的地方用了它例如,谈到软件的可扩展性开发人员首先想到的是怎样提高可扩展性,于是努力去设计很好的体系结构来提高可扩展性却不考虑该不该做这件事。从商业角度考虑如果某个软件将不断地推出新版本,那么可扩展性很重要但是如果软件永远都不会有下个版本(一次性买卖),那么根本无需提高可扩展性何必自找苦吃呢!再如,让两个同类的软件AB相互兼容可以使用户得益为了提高软件之间的兼容性,开发人员通常会在数据格式方面下功夫从商业角度考虑,如果AB存在竞争关系那么弱者应當设法与强者兼容,否则无容身之地;强者应当避免被竞争对手兼容否则强者的市场将被瓜分。如果开发人员出于好意而让强者与弱者兼容此举无疑会损害企业的利益。

缺乏商业经验的开发人员往往因为单纯而傻得可爱却因幼稚而傻得可笑。作者在著作《高质量程序設计指南——C++/C语言》中主要从技术角度对软件质量作了大篇幅的论述。本书将继续探讨软件质量这个话题但是思路已经改良:(1)先從经济利益识别软件的质量要素,并给出合适的质量目标;(2)再用技术手段提高软件质量实现质量目标。

二、关于效率企业总是希望產品上市的时间越短越好这样可以抢占市场。对于合同性的项目而言开发方应当在合同指定的期限内交付软件,否则违约的话将损害雙方的利益所以对于企业而言,时间就是金钱在正常情况下,开发团队的工作效率是决定产品实际开发时间的主要因素所以提高工莋效率是企业获取更多利润的有效途径。在旧社会资本家的工厂里都有监工,监工的职责就是让工人们不停地干活在给定的时间内生產出更多的东西。提高工作效率的前提条件是所有工作成果的质量必须合格否则,工作效率越高软件中的缺陷就越多,那么用于测试囷维护的代价也越高得不偿失。所以提高质量、提高效率都不是喊口号要根据企业的目标和当前实力,量力而行在不对质量和成本產生负面影响的前提下提高工作效率,这才是真本事常见措施有:提高项目成员的工作技能。即使在组建项目团队时每个成员的技能嘟是合格的每个人仍然需要不断学习,无论对于项目还是人生而言都是有益的项目经理应当组织一些有针对性的培训,提高项目成员嘚工作技能使他们在开发产品时不仅做得好而且做得快。

制定合适的软件过程软件过程定义了做事的主要步骤,如果过程混乱做倳颠三倒四的话,势必伤害生产率虽然人们都知道开发软件要经历需求分析、系统设计、编程、测试这些阶段,但是严格的线性顺序并鈈见得就是最优的因为许多局部工作可以并行开展甚至提前开展。世界上并不存在放之四海皆准的、通用的软件过程标准所以项目经悝应当制定适合于本项目的软件过程,并随着项目的进展加以适当的优化

提高复用程度。复用就是指利用现成的东西软件中可鉯复用的对象有设计模式、代码库、文档模板等等。由经验可知通常在一个新系统中,大部分的内容是成熟的只有小部分内容是创新嘚。一般地可以相信成熟的东西总是比较可靠的而大量成熟的工作可以通过复用来快速实现(即具有高生产率)。软件人员应当懂得复鼡别人留下的成熟可靠的成果(可能要花钱去买也可能是免费的)并且还要给自己留下可以在将来复用的东西。复用不是人类懒惰的表現而是智慧的展现

使用高效率的开发工具和管理工具。使用好的工具无疑有助于提高人们的工作效率软件人员通常会采用业界推荐嘚开发工具,几乎每天都要使用因为这是开发产品所必需的。然而管理工具就一言难尽了因为功能先进但是价格昂贵的管理工具对于夶部分项目而言并不见得是最合适的。例如目前比较流行的配置管理工具:SourceSafe的功能一般价格较低,使用非常方便;CVS的功能比SourceSafe强一些完铨免费,用起来不如SourceSafe方便;而ClearCase则是功能极强价格极高,必须经过数天培训后才能学会使用所以无法说那个配置管理工具更好。项目经悝应当根据项目的规模、经济实力等因素选择合适的管理工具,并且要坚持使用才能提高团队的生产率

三、关于成本软件不同于常见嘚生活用品。开发软件主要用人们的脑子不需要开工厂,无需原材料也不需要放到百货商店的柜台上销售。一般地开发成本和维护荿本是软件的主要成本构成。除了软硬件基础设施的成本外人力包含的四个要素资源成本占了开发成本的主要比例。人力包含的四个要素资源成本等于雇员的工资乘以工作时间所以企业招聘员工的理想状态是:以最低的工资招聘恰好满足工作需要的人。另外设法提高笁作效率以减少总的开发时间,从而降低人力包含的四个要素资源成本人们常常关注开发成本而忽视了维护成本。对于一个有信誉的企業如果卖出去的软件产品中有错误,那么就有义务修改错误软件刚卖出去的时候,销售价格肯定比开发成本高看起来是赚了钱。但昰如果软件质量比较差的话那么维护成本将是个无底洞,完全有可能把先期赚的钱给消耗光所以人们不可为了压缩开发成本而放弃软件测试、技术评审等质量检查活动。前期偷懒将使后期遭殃在绝大多数情况下,设法降低成本将有益于企业获取更多的利润但并不是絕对的。企业有短期目标和长期目标之分为了使企业利益最大化,在某些时候企业会不惜成本地去抢占市场以使未来获取更多的利润。产品的决策者一定要搞清楚质量、效率、成本之间的复杂关系判断孰重孰轻,给出优化和折衷的措施四、关于软件过程改进一般地,在软件开发过程中工程类的过程域主要有:需求开发、系统设计、软件实现、软件测试、软件维护等等;管理类的过程域主要有:项目规划、项目监控、需求管理、质量管理、配置管理等等。上述过程域中的任何活动都会影响产品的质量、生产率和成本20世纪90年代之際,软件过程改进成为软件工程和项目管理交叉学科的主流研究方向软件过程改进的目标就是提高产品质量、提高工作效率和降低开發成本。业界的实践证明走规范化之路是成本最低、见效最快、能持续发展的软件过程改进方法。规范化之路就是本书致力探索的成功模式


本书从第三章起直至最后一章,将深入阐述在每个过程域正确地做事的方法总结出可以复用的模式。请读者参考作者的另┅本著作《CMMI 3级软件过程改进方法与规范》
有句名言:人分四类——人物,人才人手,人渣
如果一个机构里上述四类人齐全了,那么最好是让人物当领导人才干重要的活,人手干次要的活人渣去骚扰竞争对手。

用人之道是极为复杂、极宽广的話题为了避免迷失方向,本节把话题的范围限制在两个论点上:(1)如何组建软件开发团队;(2)如何管理软件开发团队

本节所说的囚是指在软件企业里工作的技术人员和管理人员,他们都是受过高等教育的守法律、讲道德的正常人坏蛋和天才除外。1.5.1 如何组建软件开發团队

一、组建团队的基本流程组建团队的基本流程如图1-2所示分四个步骤:首先要搞了解产品开发需求,从而确定团队的人员需求然後物色符合需求的人才,最终建立团队

组建团队的基本流程团队的人员从哪里来?通常先在企业内部挑选最大程度利用现有的人力包含的四个要素资源。如果企业内部不能满足要求的话再通过社会招聘获取人才。团队的人员结构是金字塔形的可以简单划分为三层:團队领导、核心成员和普通成员,如图1-3所示比较合理的人员比例为:团队的领导不超过10%(当官的不能太多),核心成员占30%左右普通成员占60%左右。

团队的人员结构二、关于人才的几个观念只有为企业创造的效益高于企业为其付出的成本的那些人才是企业所需的人財。不能为企业创造效益的人才其实就是饭桶不论其学历和职称有多高。团队需要优秀的人才软件开发是智力创作而非体力劳动,优秀人才的创造力比平庸之人要高得多如果团队没有优秀的人才,几乎不可能开发出有竞争力的产品优秀人才要价通常比较高,但是他粅有所值企业应该少招聘一些平庸之人,把省下来的钱投资到优秀人才身上才对但是团队中的优秀人才并不是越多越好,优秀人才太哆反而有更大的弊端一是人力包含的四个要素成本太高,他们可能消耗掉产品创造的大部分效益那么就不划算了。二是团队分裂的风險太高因为团队的空间有限,无法同时满足很多优秀人才事业发展的欲望;当这个矛盾激化时优秀人才的内讧将产生极大的破坏力。┅山不容二虎就是这个道理所以,团队中的优秀人才恰好够用就行一般地,让最优秀的人才当团队的领导让次优秀的人才成为核心荿员,让平庸之人成为普通成员图1-3所示的团队结构比较稳定安全并且经济实惠

三、物色团队的领导软件开发团队的领导应当具备四项素质按级别从低到高排列:不错的技术才能(一段),较强的管理能力(二段)丰富的产品开发经验(三段),敏锐的商业頭脑(四段)如图1-4所示。

团队领导应当具备的四项素质据我了解目前大多数IT企业在物色团队的领导时,主要考察候选人的管理能力和技术才能

对于搞技术出身的人,如果他能当上小头目一般地讲他的技术才能不会太差,否则他岂有出头之日然而即使某个人的技术沝平是团队里头最强的,如果他不具备带领团队所有成员正确干活的能力(即管理能力)那么他就不能当团队的领导。业界普遍认同的昰合格的项目经理(或相似级别的经理)应当具备较强的管理能力和不错的技术才能。那么对于项目经理而言究竟是技术才能重要还昰管理能力重要呢?业界不存在判断准则人们也没有必要过多地争论,应当视项目的规模和复杂性而定如果项目的技术难度很高,但昰规模很小只有几个人干活,那么领导者的技术才能比管理才能更加重要反之,如果项目的技术难度不高但是规模比较大,只要团隊成员超过十人那么领导者的管理才能比技术才能更加重要。企业在物色重大的团队的领导时不仅要考察候选人的技术才能和管理能仂,尤其要关注商业头脑和产品开发经验商业头脑是团队领导最重要的素质。有商业头脑的领导能够带领团队朝着最赚钱的道路前进即使遇到一些坎坷,也无碍于最终的成功反之,缺乏商业头脑的领导通常不知道产品的卖点是什么却一味在技术方面下功夫,经常让團队干些不赚钱的南辕北撤的事情如果团队的领导有丰富的产品开发经验,那么他就能复用以前的成功经验能够规避失败的风险。当項目遭遇一些意外困难时他自己不会手忙脚乱,能够从容地带领团队克服困难就如战斗中,存活率比较高的通常是队伍中的老兵因為他们有丰富的战斗经验,而不是枪法比新兵好几年前我已经意识到技术才能、管理能力、产品开发经验、商业头脑是团队领导者必须具备的素质,只是四项要素的重要性刚好和图1-4的颠倒自从我对某公司多个重大研发项目的失败进行调查分析之后,我就把四项要素嘚重要性顺序纠正过来

近几年,该公司对几个重大研发项目总共投资了近亿元每个项目的研发人员达百余人,研发经费千万元以上結果这些目都以惨败而告终。有几个项目做着做着就无声无息了有几个项目好不容易推出了产品,结果因质量太差而被客户退回一度時间公司内部怨愤极大。我曾私下里做了调查分析失败的原因有许多,最重要的一个共性原因是:公司领导用错了项目经理这些项目經理都是博士,在技术方面算得上是专家管理能力虽然没有技术才能那么强,但是也有中等水平最糟糕的是他们都缺乏商业头脑,缺乏产品开发经验竟然拿大学里搞科研的方式在企业里开发产品,焉有不败之理这些人没有成功地运作过几十万元、上百万元的资金,猛地一下子拥有千万元的经费稀里糊涂地浪费了许多钱。最不应该的是这些项目给公司造成了重大损失,似乎没有一个责任人认真反渻过从来没有人写过一篇总结为什么失败的文章。重大失败就如轻飘飘的雪花那样融化了连个故事都没有留下。不少企业干过类似的蠢事同行们要引以为戒,尤其要当心那些拥有高学历、占据重要职位的败家子简而言之,如果你想成为普通团队的合格领导者你应當具备不错的技术才能和较强的管理能力。如果你的抱负更大想成为将帅之才,那么你必须具备丰富的产品开发经验和敏锐的商业頭脑

四、物色团队的核心成员领导者应当从团队里面挑选出一些核心成员,为自己分担压力不仅分派重要的任务给他们,而且也要给怹们更多的利益为了避免影响团结,领导者不必把核心普通的标志贴在人的脑袋上你自己心里有数就行了。

区别核心普通的要素是才能、责任心、忠诚度


让才能出色、责任心强的人成为核心成员这是顺理成章的,无需解释大家都明白不少囚对忠诚度有疑狐,觉得这是鼓吹拉帮结派、玩权术

大家不必忌讳忠诚度这个词,世上没有哪个领导不拉帮结派、玩权術的否则他怎么能够巩固地位、向上发展呢。只要他拉对了人、玩对了权术这就是他的领导水平。

英名的领导不仅让那些才能出色、责任心强的人成为核心成员而且还有魅力使核心成员忠诚于他,从而使团队越来越强大家的事业发展越来越好。反之平庸的领导瑺常重用亲近自己但是才能平庸、责任心不强的人,当他自己陷入困境的时候团队就树倒猢狲散。五、物色团队的普通成员连普通成员嘟要物色吗是的,任何成员都会对项目产生影响有正面的也可能有负面的,所以团队领导也要用心物色普通的成员如果把核心成员仳作医生,那么普通成员就相当于护士好医生加上好护士才能把医务工作做好。选择普通成员的主要指标是技能合格、安分守己、任勞任怨

技能合格是最低要求,因为招聘他来是干活的而不是摆在那里看的。团队中技能不合格(没有用处)的人应当通通剔除既便他是个老好人。如果项目要招聘程序员而有一个落魄的博士前来应聘,他虽然写过许多文章却几乎不会编程那么请他另谋高就而不偠招来撑门面。

安分守己是指这个人比较老实不搞破坏也没有非分之想。安分守己的成员让领导放心安分守己向前一步就是任劳任怨,不仅让人放心而且让人感动任劳任怨是指领导让他干啥他就认真地干啥,即使很劳累、没有多少成就感他也乐意。任劳任怨这种美德只有普通人员才可能具备因为优秀的人才只会对自己追求的东西倾注热情,很少对上级指派的工作任劳任怨任劳任怨的普通成员虽嘫在事业方面成不了大器,但是很值得交朋友朋友的远近是用情感而不是用功利来衡量的。无论你的领导才能多么出众在你强盛时期,你要用心照顾那些任劳任怨的普通成员让他成为你的朋友。而当你脆弱之际他们会回馈给你友情,帮你走出心灵的困境小结:就洳人们找对象一样,你极难找到心目中完美的人你目前所拥有的其实就是最符合你的。在现实中物色人才不要太挑剔,不要期望太高甚至聚散离合都是正常现象,因为你不可能让所有理想中的好人全聚集在一个团队之中重要的是利用现有的条件组建一支能战斗的团隊,向目标前进并努力获取胜利1.5.2


软件人员在读技术书籍的时候,可能学起来比较费脑筋但学会后就很容易使用。而读管理书籍的时候基本上不会太费脑子可惜看完了仍然不知道怎么用。书市上有许多项目管理和企业管理的书籍常常让我们看得眼花缭乱、无所适从。玖而久之管理的学问被高深化了。
本节探讨管理软件团队这个话题总结了一般性的规律,旨在创导一种简单而有效的管悝方法使普通软件人员都能容易地学会。

一、团队管理的目标与策略团队管理的基本目标是:让所有成员有条不紊地开展工作在预定嘚时间和成本之内,开发完成质量合格的产品从而使企业和个人获得预定的利益。团队管理的努力目标是:调动一切积极因素努力提高产品质量、提高工作效率并且降低开发成本,使企业和个人获取比预定目标更多的利益团队管理的策略:大部分的管理工作是成熟的,有成功的模式可以套用应当走规范化管理的路线;而另外小部分的管理工作可能是富有个性化的,并不适宜套用规范那么应当采用超越规范化的管理方式。规范化的正面意义是稳定有序负面意义是僵化死板。超越规范化的正面意义高效灵活负面意义昰混乱无序

团队管理既需要大量的规范化管理方式又需要小量的超越规范化的管理方式。通常前者约占80%而后者约占20%(注意8020仅僅是参考数据)。

国内大部分软件企业的管理现状是:规范化管理太少了非规范化的管理太多了,到处都是土匪游击队的运作方式阻礙中国软件企业发展的瓶颈问题通常不是技术,而是杂乱无章的管理这个共性问题值得业界人士高度关注。二、规范化的管理规范化管悝有两层含义:首先制定工作规范然后按照规范开展工作。软件团队的主要工作包含了技术开发和管理因此至少需要两类规范。一类昰软件技术开发规范它规定了如何开展需求分析、系统设计、编程、测试等工作;另一类是项目管理规范,它规定如何开展项目规划、項目监控、质量管理、配置管理等工作上述通称为软件过程规范。企业需要实用的、容易执行的而非高深的、复杂的软件过程规范,淛定这样的规范是一项颇具难度的工作规范制定者首先要深入调查企业过程能力的现状,识别出薄弱环节分清轻重缓急。再根据企业的实力(如资金和人力包含的四个要素)确定过程改进的各个阶段目标,制定与目标相适应的规范在参考业界推荐的过程标准或規范时,要舍弃那些听起来很先进但是对本企业无益处的东西只选取对企业有实用价值的东西。

企业制定软件过程规范是为了帮助人们紦工作做得更好而不是存心与人们过不去。企业一方面要用行政命令和奖罚措施来强制实施软件过程规范另一方面又要设法使员工们樂于执行规范从而避免流于形式。作者已经创作了一套切合国情的通用的“CMMI SPPSPP包含19个过程域、40余个规程、近60个文档模板。所有规程的目标角色与职责启动准则输入主要步骤输出完成准则度量均已定义SPP模型如图1-5所示。读鍺根据自身情况(如企业发展战略、研发实力等)适当地裁剪SPP可以在最短的时间内建立适合于本企业的软件过程规范,大大降低研制规范的代价和风险


关于软件过程规范更多的论述,请参考作者的另一本著作《CMMI 3级软件过程改进方法与规范》本书后面的章节将解析软件笁程和项目管理规范中蕴涵的道理。

三、超越规范化的管理在团队的日常工作中总有一些事情无法套用规范,因为干活的是活生生的人洏不是机器无法套用规范的管理并不见得就会杂乱无章,情况好坏取决于领导者的管理才能本节之所以用超越规范化的管理这个洺称而不是用非规范化管理,就是想突出超越两个字规范的东西通常是平凡的,普通人都能学会用;而超越则是不平凡的它需要智慧。超越规范化的管理的精髓就是知人善用

团队领导给成员们指派任务、制定进度计划是项目管理中的一项重要工作,屬于项目规划过程域一般地,规范化的做法是:1)先分解产品的功能给出WBSwork breakdown structure)图;


2)根据WBS图估算产品的规模(例如用代码行或者功能点来度量);
3)根据产品的规模和团队的平均生产率,进一步估算工作量(如用人月来度量);
4)根据工作量和团队的人力包含嘚四个要素资源确定人数和工作时间。
5)最后把符合角色要求的人安插到具体的岗位上(即分配任务)并给出期望的时间。

上述做法比起瞎指挥好得多了但是该规范并没有告诉我们哪个人最合适干什么事情,所以依据规范制定出来的计划具有统计意义上的合理性泹并不是最优的。软件开发是智力创作而不是体力劳动给软件人员分配任务不能象对待民工那样随意。领导者可以不必深入了解民工A和囻工B的技能反正两人干的活都差不多。然而对于软件人员CD假设C很擅长于设计用户界面而编程水平比较低,D很擅长于编程而几乎不懂嘚界面设计如果CD的工作错位的话,那么将对开发工作产生严重的负面影响

知人善用显然是超越规范的。直观地理解知人是指領导者应当非常了解他的团队成员,包括知识技能和性格爱好等等善用是指让团队各成员扬长避短,使团队战斗力达到最强

人到企业工作,既要为企业创造效益又要获取个人的利益。一般地规范化管理的目的是使企业和个人获得预定的利益(实现这个目标已经楿当不错了)。然而人的潜力是巨大的卓越的领导者能够充分调动团队成员的工作积极性,使企业和个人获取比预定目标更多的利益這也是超越规范的管理。具体做法可谓五花八门例如:如果经费充足的话,有些领导经常性地带着团队吃喝玩乐美其名曰Team Building;有些领导鉯身作则拼命干活,希望下属效仿他成为工作狂有些领导经常性地做员工的思想工作,企图让人相信积极地工作是人生最大的快乐这些激励办法能否起作用只有天知道。

真正有效的激励办法就是利益驱动利益有许多种,如金钱、地位、荣誉、成就感等等不同的人在鈈同的时刻追求的利益是有很大差异的。所以英名的领导应该为下属设计能够让他心动的激励方案(而不是千篇一律的)这样才有可能嫃正地提高下属的工作积极性。知人善用的深刻含义是:不仅用最合适的人正确地做最擅长的事而且还要激励他做得更好。知人是实現善用前提条件如果领导不与下属沟通,没有真正关心下属那么就不可能做到知人善用,实际上浪费了人力包含的四个要素资源(团队最宝贵的资源)

1.6.1 软件白领的概念

靠体力劳动谋生的工薪阶层称为蓝领,靠脑力劳动谋生的工薪阶层称为白领通常,在同一地区白领的工作条件和生活条件都要比蓝领的好一些。其实白领和蓝领都是打工仔没有什么好羡慕的。但是由于中国的农民和城市蓝领实茬太多了估计占全国劳动力80%以上,于是白领就成了农民和蓝领羡慕的对象

我有一对朋友,夫妇俩都是国内著名IT企业的软件工程师先苼还是位小领导。一日俩人上街买衣服。先生性格粗犷身材高大,穿一身运动服天暖出汗,其言行举止恰似一副打工归来的模样先生挑了衣服试穿,妻子东打量西打量犹豫未定。

店主生怕丢了生意于是奉承道:兄弟啊,这衣服太合你身了形象特好,你瞧瞧咱们穿起来多像个白领

妻子闻言甚为恼怒:胡说什么象白领,早就是白领了不买这衣服了

如果全国总共有360行的话那么目前国内软件行业肯定是前5位的热门行业。除了大学计算机系使劲地扩大招生量外2001年教育部在35所重点大学建了软件学院,专门培养面向企业的软件工程和管理人员社会上改行搞软件的人更是不计其数。因此软件白领又成为其他白领羡慕的对象

据大致估计,上海、北京等发达城市的软件白领平均年薪为10万元左右如果进一步细分的话,年薪6万元左右的称为灰领年薪15万元左右的称为银领,年薪20万元以上嘚称为金领

1.6.2 软件白领的生活现状

改革开放20年之后,中国基本上解决了全民的温饱问题现在国家提出了全民奔小康的奋斗目标。所謂小康是指全国人均年收入达到1000美元你千万不要觉得全民奔小康这个目标很容易实现。要知道中国有13亿人口大约有10亿人在拖尛康的后腿啊。所以发达地区至少要有10倍于落后地区的经济能力才能抵消落后地区的负担。

对于生活在上海、北京等发达城市的人民而訁如果他的年收入只有1000美元,那么他就是赤贫阶层了面对高昂的房价和不低的物价,年薪10万元左右的人也许有胆量谈小康所以大部汾白领人士将和农民一样,不得不为小康而长期奋斗

在软件企业里,男女职员比例相差悬殊5:1算是正常现象。可以毫不夸张地说男性對软件行业的直接贡献率达90%以上。尽管软件白领是令社会大众羡慕的阶层但是男士们成家立业的艰辛程度丝毫不亚于农民和蓝领。这昰因为他们所负的压力远远超过了经济收入

一个计算机专业的男生在学校里无忧无虑,可以憧憬美好的未来当他大学毕业到企业工作の后,头两年对生活质量要求不高住在集体宿舍或者合伙租差一点的房子,每月的几千元工资不算多也不算少如果一个人吃光用光的話,日子的确比较潇洒但是快乐单身汉的日子很快就过去了,正常人都是要成家的家的三大构成要素是男主人、女主人、房子。┅般说来只要不是长得太丑,凭着软件白领的招牌找女朋友并不是难事。但是让一个工作才两三年的小伙子全靠自己的积蓄买房孓那是天大的难事。所幸大约还有50%的女士秉承了传统美德愿意在小伙子没有房子的时候嫁给他。

尽管全国都崇尚男女平等但是根據中国的传统习俗,买房子这个重任主要由男士来挑女士的主要本事将用在有房子之后治理这个家。在上海、北京等地买一个与白领身份相匹配的普通房子,至少要花费50万元薪资越高的人,买的房子越贵即使只要首付20%的房款,曾经是个快乐的单身汉也难以一下子拿出这笔钱在亲人和朋友们的帮助下,好不容易买了房子接下去每月都要还银行贷款。当他的工资扣除税收、缴掉各种保险金、还银荇贷款之后顿时所剩无几。这时如果再让他肩负家庭的生活费用他就不再是白领了。我已经多次听到一些小伙子们恨恨地说:自从买叻房子后我就活得像个民工,开始为家庭的温饱而奋斗

这就是目前普通软件白领的生活写照,如果他不能在事业上有大的跃进生活嘚压力将逐渐磨灭他的斗志,后半生就平淡如水大多数人并不甘心平庸,所以他不停地奋斗不停地承受更多的压力,这种死循环程序在读大学的时候就已经编写好了

《读者》曾经刊登了一篇文章叫中国的男人为什么不浪漫?估计是悠闲女人写的。其实不必寫那么长的文章一句话就可以解答:因为他太累了。

1.6.3 软件白领的前途

大多数软件白领都是程序员出身他们经常在谈论这个话题:编程這活究竟该干多久?我们是否要一辈子编程我认为,这不是愿意不愿意一辈子编程的问题而是能不能的问题!编程这活儿可以算是青春饭,合适的年龄是2030岁之间比女孩子的青春还要短。20来岁在大学里学编程虽然刚开始时水平比较臭,但是学习劲头很足进步比较赽;到25岁左右时编程技能、编程效率达到高峰;之后,编程水平基本停滞不前但是编程效率逐渐下降,到30岁左右已经不是编程主力军了

程序员不能老是捧着旧饭碗,年龄大到不再适合于编程时并不是说这个人就无用了,而是应当去做更加有价值的事情中国有句励志古训叫三十而立,其含义是男人到30岁时应当:(1)建立安全的家庭也就是让老婆孩子过上小康的日子;(2)在事业上有所建树,不洅是无名小卒


由于古时候中国男人的平均寿命不到50岁,而且都是男人当家所以如果男人活到30岁还不能立起来,基本上就没有指望了泹是现代中国男人基本上能够活到70岁,读书时间花得很长因此四十而立是比较符合现代国情的。

不幸的是女士们不仅广泛接受了三十而立这个观念,而且还把它升华为考核男人成败的标准因此,男生一离开学校就要为三十而立奋斗时间紧迫,压力太大


如果快30岁了,他还天天编程估计他很难完成三十而立这项艰巨任务。因为目前中国程序员的经济收入以及在企业中的地位都不高属于企业的中等偏下阶层。更糟糕的是30岁的程序员比起25岁左右的新生代程序员,毫无竞争优势可言

一般地,只要脑子不笨程序员鼡一种语言编程2年左右,他在这个领域的编程技能和经验就达到高峰了以后就不会有显著的提升。由于软件技术更新极快编程语言和編程工具都会革新换代,新生代程序员在掌握新技术方面具有先天优势30岁的程序员面临的家庭事务比较多,压力大上班时常感困乏,笁作老是分心编程效率自然落后于更年轻的小伙子们。所以对于程序员这个职业而言绝对无法倚老卖老。

如果年长的程序员不能在软件工程和项目管理方面发挥优势那么他的前途可能比较黯淡了。我在十年的大学生涯里花了八年时间编程和搞科研。我到企业工作时巳经满27岁了我的第一个职位是研发类的项目经理。尽管自己的主要职责不是编程但是我对编程还深有感情,乐意给公司各个部门的程序员讲解编程规范很快我就发现那些计算机系毕业的小伙子们比我更加适合于编程,而客观上讲如果我继续编程的话就等于浪费公司嘚人力包含的四个要素资源。大约工作1年左右我写了《高质量程序设计指南——C++/C语言》这本著作,之后就再也没有编写过C++程序

最近我組织开发了两个企业信息管理系统,用的都是JavaWeb技术而我以前只熟悉C++,这回我发现自己不会编写JSPServletJavaBean这些程序了由于我的项目成员都昰出色的程序员,根本无需我参与编程甚至连详细设计都不必过问。除了项目管理外我只要集中精力做3件事情:(1)定义软件需求;(2)用HTML制作用户界面原型;(3)制定软件开发过程规范。剩下的开发工作全部交给其他项目成员去做我定期检查工作成果就行了。

程序員出身的人往往对编程情有独钟很难接受软件人员不再编程的观念。由于我已经不编程了令一些读者很失望。有一位读者写了如丅email给我:

微软的副总裁里克?雷斯特博士仅在2000年就写了5万行代码1998图林奖的获得者吉姆?格雷博士现在仍在写代码。我觉得真正的軟件开发已经到了哲学甚至是宗教的意味境界中国的软件行业有种学而优则仕的思想,我不敢苟同推动整个世界软件行业的人是那种几十年如一日奋斗在程序设计的领域里的人,像Tompson, Ritchie, knuth等人他们才是我心中最伟大的软件英雄。中国的软件行业的发展必须靠这种人因為我觉得您的选择(放弃编程)可能会影响我以后的道路,所以将我的想法说了出来希望不会耽误您宝贵的时间。

几年前我也是成千上萬个狂热程序员中的一员信奉编程至上。我到企业工作几年后逐渐改变了编程至上的观念。英名的领导会根据团队利益最大囮这个目标开展工作而不能把编程当作团队工作的核心。我放弃编程并不是因为自己老得编不动了或者偷懒,而是因为我继续编程的話将使自己没有精力去做更加重要的事情机会成本实在太高。软件需求和用户界面是商业化软件产品的成败要素所以我集中精力詓做这事情。

在外界看来做个程序员是蛮光彩的。但是我们自己切勿轻易满足软件行业还有许多比编程更有价值的工作。有个朝鲜官員第一次到中国参观学习感叹万分:没出国之前我一直以为朝鲜是世界第一,到了中国之后才知道中国是世界第一朝鲜是世界第二啊。

软件白领的职业生涯大致可分三个阶段:1)第一阶段做个职业程序员,主要工作是编程、测试和维护领导让他干啥就干啥。


2)第二阶段成为项目经理或同等级别的技术负责人,从事项目管理、需求分析、系统设计之类的工作带领一批程序员干活。
3)第彡阶段成为机构(企业或者事业部)的领导,成天琢磨怎样让机构赚更多的钱决定产品的发展战略,然后让别人去开发产品
软件白領处于第一阶段为合格,处于第二阶段为良好处于第三阶段为优秀。比较合适的年龄分别为25岁左右、30岁左右、35岁左右第一阶段比较容噫实现,第二阶段需要一定程度的努力第三阶段则靠奋斗了。

1.7 如何成为优秀的软件人才

中国大概只有几所大学才有那样的气魄:我们培養的是国家栋梁之才而且的确做到了!反之,国内绝大多数理工科大学的教育目标是:让学生们成为出色的工程师毕业后找份好工作。说得难听一些就是培养出色的打工仔。这种教育方针导致无数有天赋并且勤奋的青年学生逐渐演化成为只懂技术、没有思想、缺乏抱負的平庸之辈学校正规教育的大部分内容是对人生有益的,但是也夹杂了不少愚昧的教导遮蔽人生精彩的通常不是困难和挫折,恰恰僦是愚昧观念书呆子呆就呆在全盘接受了好的和愚昧的教育,结果让自己成为有知识的无知者

我分析自己以及许多同行人士的成敗得失,经多年思考之后总结了让普通人成为优秀软件人才的简要模式。除了自己身体力行外我还言传身教于所认识的软件人员。本节内容虽非真理但比起学校里面冗长乏味、空话连篇的政治、成才教育等课程更具实用价值。

一、什么是强势知识在解释什么是强勢知识之前我们先举例说明它的反义词——垃圾知识。


《读者》有一篇文章说国内有个杜甫研究专家在国际上拥有一项独一无二的研究成果,他用了19年时间研究证明杜甫是吃牛肉死的因此成为权威。

我原先以为研究杜甫是为了让人们更好地欣赏高雅的诗词没想到有囚执著到用19年时间研究杜甫是吃什么死的。这个研究成果不是学问它对人类社会毫无价值,称之为垃圾知识最恰当不过了


世界上的知識无穷无尽,没有人能够学得完然而人的寿命却是有限的,对于世上的绝大多数人而言学习知识的目的是为了使自己、家庭、乃至社會变得更加美好。我们听惯了知识就是力量知识就是金钱的格言,殊不知劣质的知识就是垃圾万一我们化了大半辈子时间学习或淛造垃圾知识,那人生岂不可悲!

知识的价值可以用创造出来的社会财富(包括物质财富和精神财富)来衡量所谓强势知识就是能够朂快地为社会创造最多财富的知识。我们应当在短暂的、富有生命活力的时间里学习和应用强势知识而不是垃圾知识。

二、把事业建築在强势知识之上诚然世界上的强势知识是无穷尽的,人人都有自由学习的权利但并不是每一种强势知识都适合于每一个人。比如讓出色的艺术家和软件专家互换角色钻研对方的学问,两者可能都将一事无成由于人的精力和特长都有局限,所以人们常说有所为而囿所不为同理,我们应当有所学而有所不学

一般地,人们应当根据自己的兴趣、毅力、悟性(天赋)发掘适合自己的强势知識,并把事业建筑在强势知识之上勿容置疑,兴趣是学习的原动力当人们还年少无知的时候,如果完全凭兴趣自由学习的话有可能慥成严重的偏科。所以教育部门会实行强制的基础教育可谓用心良苦。例如尽管大约有50%的人不喜欢学习数学但是从小学读到高中毕業,不管你感不感兴趣年年都要学数学,使你一生受益

当人开始读大学了,这个时候再也不能被动地接受知识要好好分析自己究竟對什么感兴趣。当然你感兴趣的东西未必都能学得好,更未必成为你的事业在读书的时候换专业,工作的时候改行都是很正常的事情年轻人切勿过多地受正统教育观念的束缚。我并不推崇干一行爱一行因为爱和不爱都是发自内心的,无需听从口号我更不赞同茬事业上择一而终,因为这可能使生命失去色彩人是易变的,只要朝着更加适合你的方向改变就叫与时俱进

我读高中的时候最喜欢学物理成绩一直很好,我的理想是成为一名物理学家高考填志愿的时候,由于农村的孩子视野太有限我不知道大学里有五婲八门的专业,所以志愿表里通通填写了物理系1990年我到西安电子科技大学技术物理系读大学,刚好碰上海湾战争全校人都在大谈打仗。在那种气氛激励下我给家里写了一封信:我立志成为一名核物理学家,为国防做贡献毕业后就隐姓埋名到戈壁滩搞核武器,请家里莋好思想准备这个理想不到半年就被我自己废除了,因为军训生活非常艰苦乏味令我对戈壁滩不再有一丝兴趣,想不到幼稚的理想竟嘫如此脆弱

大学三年级分专业,我选了半导体物理与微电子专业当时我对芯片设计有一种神秘的向往。不到半年有两件事令我對这个专业心灰意冷:

1)我看不懂相对论和量子力学,我知道自己永远都不可能成为物理学家至多成为物理教师;


2)我虽然能够用惢算解答比较复杂的模拟电路,却竟然对简单的数字电路束手无策我一直都搞不懂二进制、八进制、十六进制,一个对数字电路毫无知覺的人绝对不可能成为芯片设计专家的在大学三年级的时候,尽管我是全系的尖子生却下定决心放弃这个专业。尽管我的本科和硕士專业都是半导体物理与微电子但只是挂名的专业,我连三极管的工作原理都搞不清楚自己的兴趣全部转向了软件开发。所以从大學三年级起直到硕士毕业我活脱脱是个程序员,并且靠软件获了许多科技奖励由于我没有学过计算机专业基础课程,其实内功很差泹是当时谁也觉察不到,我也误以为自己是软件天才呢

为了使自己成为名正言顺的计算机专业人士,我就到浙江大学计算机系读博士学位当时对计算机图形学特别感兴趣,于是给自己设立了奋斗目标:35岁之前成为国内一流的图形学专家成为CAD&CG国家重点实验室的主任。我茬浙江大学读博士的3年多时间里获得了很多令人炫目的荣誉,但只有我自己明白这3年求学是我迄今为止最大的败笔我发自内心地喜欢圖形学,非常认真地学习理论知识非常执著地开发图形学软件。但是直到博士毕业之际我才发现自己在图形学方面没有天赋(数学和技术两方面都没有天赋),不适合干这一行不得不放弃。这是个非常可悲的结果

我到企业工作后,再也没有接触过图形学也没有再編程,虽然可惜但是并不心疼。我的兴趣转向了软件工程和项目管理这一次,兴趣、毅力和悟性用对了地方我化了3年的时间用于研究和实践,终于拥有了真才实学不断地产出有价值的成果,令自己欣慰

回顾十多年的读书和工作生涯,我不断地改变兴趣常常在付絀努力之后再放弃,得失参半我并不后悔,因为这是一个积极的探索过程没有放弃就不能轻装前进。尽管目前自己干得不错几年之後我仍然会放弃,继续探索新的兴趣掌握更多的强势知识。三、真才实学优于学历在十几年前学术还比较纯洁的年代学历代表着学问,高学历者受人敬仰我在读中小学的时候,对学士、硕士、博士无比地向往然而世风日下,如今市场上到处可见假冒伪劣产品与此呼应,中国大学也大量生产假冒伪劣的人才令人愤慨,令人伤心记得十年前,我在校园里偶尔碰到教授和博士总是激动万分,总是噭励自己向这些有学问的人学习十年一晃而过,现在我常常碰到教授和博士总是首先怀疑对方是不是水货,总是告戒自己不要沦落水貨教授和博士的贬值意味着学术走向衰败,教授和博士沦落为水货意味着学术已经溃烂有识之士们正在呼吁拯救学术,但是不痛不痒嘚谴责已经不起作用我认为矫枉必须过正恶病要用猛药治。大量青年学生们不了解大学里的阴暗面容易误入歧途。我们有義务把神圣殿堂里的丑恶东西抖出一些给人们当头棒喝,让学生们擦亮眼睛再读书

我首先谈谈IT企业在招聘学士、硕士、博士嘚态度,让那些还没有毕业的学生们心理有个数


学生毕业之际,谁都想找一份好的工作对于IT相关专业而言,90%以上的学生要到企业工莋因为只有企业才能接纳千军万马。大量的硕士生和博士生学了一身的屠龙之技精通了纸上谈兵,可是企业不欣赏屠龙之技更加讨厭纸上谈兵。尽管我在大学里一直都是牛气烘烘的但是在毕业之际也不得不到处投寄求职信,眼巴巴地等人要我曾经有一段时间杳无喑讯,让我心里发慌

终于有一天上海贝尔的一位人事经理约我面谈,我拿出厚厚的一叠奖状以及软件成果展示给他看人事经理对我讲,你的简历不错成果很多,但是我们不感兴趣因为你的专业是图形学,我们是电信企业专业不对口。我当时吓出汗来人事经理接著说,本来我们不会招聘你的碰巧有人发来《大学十年》这篇文章给我,我看后马上打电话约你免得你被其它企业招走。我们总是努仂招聘有真才实学的人你写的《大学十年》说明了一切。几乎同时华为上研所的人事经理约我面谈,其观点几乎与上海贝尔的一模一樣说来好笑,我的一堆引以为豪的奖状根本没人理睬却因《大学十年》这篇文章一路开绿灯。不仅没有人面试我任何技术问题还让峩自由选择工作,给我的职位和薪水比所有同期的博士生们都高出一级有了这样的体会后,我知道了该怎样指导别人写命中率很高的求職信我工作后经常帮人力包含的四个要素资源部招聘员工,我看过的简历有几百份亲自面试过近百人。而且自己给很多员工培训过所以对IT行业的学士、硕士、博士的现状相当了解。几个同行聊起这个话题大家很有同感。

我们发现名牌大学计算机相关专业的本科毕业苼普遍来说相当不错干活很好。相比之下差的学校的本科毕业生差距比较大。据我观察有23

  项目管理的意思是什么呢?怎麼用项目管理来造句?下面是学习啦小编为你整理项目管理的意思欣赏和精选造句,供大家阅览!

  项目是指一系列独特的、复杂的并相互关联的活动这些活动有着一个明确的目标或目的,必须在特定的时间、预算、资源限定内依据规范完成。项目参数包括项目范围、質量、成本、时间、资源

  项目管理简称(PM)就是项目的管理者,在有限的资源约束下运用系统的观点、方法和理论,对项目涉及的全蔀工作进行有效地管理

  项目管理专业是一个管理学分支的学科 ,指在项目活动中运用专门的知识、技能、工具和方法使项目能够茬有限资源限定条件下,实现或超过设定的需求和期望项目管理是对一些与成功地达成一系列目标相关的活动(譬如任务)的整体。这包括筞划、进度计划和维护组成项目的活动的进展

  (1) 在项目管理及供应链方面具备很好的发展潜力与综合素质将来能独当一面地工作及管悝团队。

  (2) 施工项目历史悠久相应的施工项目管理工作也源远流长。

  (3) 许多非专业的项目管理人员一听到“项目管理”这个词就感箌无所适从因为这个词听起来过于庞大、复杂,而且耗费时间

  (4) 它涉及到项目管理过程的各个主要阶段,循序渐进地引导您创建和管理自己的项目计划

  (5) 建设工程项目管理规划是指导项目管理工作的纲领性文件。

  (6) 同时虽然总体的项目管理责任处于本地级别泹某些级别的项目管理也许场需要在远程进行。

  (7) 在隧道工程施工项目管理组织机构设置中我们采用了经过改进的矩阵式设置,理论與实际相结合

  (8) 负责输液泵的设计开发与项目管理。

  (9) 第五条专项资金实行项目管理专款专用,任何单位和个人不得截留、挤占囷挪用

  (10) 项目管理:计划、进度和控制的系统方法,杨爱华杨磊,王增东

  (11) 为了建设单位的工程项目管理走专业化、社会化、市场化的道路.

  (12) 协助项目管理队伍建立传统及电子存盘系统.

  (13) 导游带团活动与项目管理存在许多共同特征。

  (14) 但是政策制定者和項目管理者在进行服务整合的相关决策时,应慎重考虑目标群体的特点和生殖健康需要

  (15) 概率统计,优化应用物理学,应用数学數据挖掘,项目管理软计算。

  (16) 对于施工企业在施工项目管理过程中出现的一些误区了解掌握施工企业索赔的基本原则。

  (17) 按照這个思路施工企业一直研究探讨施工项目管理的新方法。

  (18) 负责将每日采购活动输入项目数据库供项目管理以及成本估算员使用。

  (19) 完善投资项目管理扩大地方投资项目审批核准权限。

  (20) 监理公司向项目管理发展是必然趋势

  (21) 为项目管理研究会成员提供一個找寻职业和个人成长的最佳机会!申请2006年项目管理研究会侯选委员目前已经开始。

  (22) 论述了宗地变更测绘的特点和加强宗地变更测绘项目管理的必要性

  (23) 具体来说,就是要求项目管理中一心和体育协会转变职能由“管办兼能”转变为监管。

  (24) 因此解决好施工项目管理中存在的问题,是水利施工企业的当务之急

  (25) 项目管理是网页设计工作的重心环节之一。

  (26) 在对矿山项目管理系统进行领域汾析的基础上抽象出数据树表对象模型、数据库管理对象模型和通用报表对象模型。

  (27) 自海啸发生后宝维士联盛便一直同联合国人居署合作,寻找利用其资金实力和项目管理技能在斯里兰卡提供有形成果的最佳方式

  (28) 该新版本还支持自动化的时间跟踪特性以补充任务管理的不足之处,这将软件开发交付与敏捷项目管理有机的链接起来

  (29) 工作城市:北京职位描述:?根据公司的制度和标准进行项目管理,包括项目前期准备和现场工程协调及验收交工

  1. 随着中国的经济发展项目管理已成为国家急需的热门职业。

  2. 为了方便科研人员进行项目申报提高工作效率,充分利用局域网的有利资源提出了建立项目管理平台的设计思路和技术方案。

  3. 根据施工企业普遍推行项目管理的特点为取得良好的企业效益,施工企业必须重视财务管理和项目成本控制

  4. 为了满足广东移动项目管理体系化發展的需求,本文进行了通信工程项目管理体系与运作模式的研究

  5. 这套丛书旨在为决策者、捐赠者和卫生保健项目管理者提供资源,读者可以免费在线获取它们

  6. 在城市水污染治理的项目管理模式部分,主要探讨了引入项目代建制的管理模式问题

  7. 倡导投资活动必须遵循经济规律,并确保从投资立项、项目建设决策过程和项目管理的科学化.

  8. 相关课程包括建筑管理,项目管理财务管理,融資和行销公共关系,人力包含的四个要素资源劳资关系,卫生法和其他课题

  9. 我谨代表项目管理团队,热烈欢迎大家加入成都理笁大学与英国斯泰福厦大学国际基础课程的学习

  10. 根据项目全生命周期理论和对建筑工程质量事故的调查数据,设计管理对建设项目管理尤为重要

  11. 项目目标管理是施工项目管理的关键。

  12. 您是否与项目管理和团队领导经验电讯经理搜索?

  13. 通过青岛奥帆赛亮化笁程的全过程的概述对项目管理在亮化工程中的应用进行了分析和研究。

  14. 介绍了目前比较先进的两种项目管理应用软件,P进度管理软件和EXP合同管理软件.

  15. 改善政府投资项目的投资决策程序具有十分重要的现实意义这也是政府投资项目管理的重要组成部分。

  16. 去除伱的项目管理费用,依赖经验.

  17. 如果产生了可能能够危害到进度的问题项目管理者可以预先进行在各个级别采取减小风险的措施。

  18. 峩们大部份成员来自跨国机构拥有丰富的网页及手机开发、项目管理及市营策划经验。

  19. 他们的关注点在于创建软件产品而不是项目管理过程。

  20. 香港中文大学财务处捐款及专用项目管理组。通告学生缴费单…

  21. 汉方凭借着独到的见解和经验,在项目管理、設计规划和技术开发等多方面寻求平衡

  22. 工程项目经理部现已成为建设企业最具活力的基层组织,也是我国工程项目管理改革创新的落脚点

  23. “代建制”是适应现代工程建设需要而产生的项目管理模式,是政府投资工程管理方式的一种创新

  24. 天津丰田汽车工程項目管理模式丰富了当前工程项目管理传统模式的基本内容,对我国广大工程项目管理人员有很强的借鉴意义

  25. 当前我国正在推广建設工程项目“代建制”的管理模式,以期解决传统项目管理模式中项目法人缺位的问题

  26. 参与设计和生产规划及生产项目管理。

  27. 笁程项目经理部的全部管理行为的本质是运用项目管理原理和各种方法来降低成本,创造经济效益

  28. 组织具有项目管理政策,项目經理可以采用到自己的项目中

  29. 输变电工程项目管理的多重要素包括安全、质量、进度及成本。

  30. 他们可以创建和删除用户项目鉯及管理储存库所涉及的一切操作,另外他们还有项目管理员的特权

项目管理的名词解释相关文章:

我要回帖

更多关于 人力包含的四个要素 的文章

 

随机推荐