《软件工程与项目管理讲义.docx》由会员分享,可在线阅读,更多相关《软件工程与项目管理讲义.docx(34页珍藏版)》请在第一文库网上搜索。
1、软件工程与项目管理是成熟的博大精深的学科。所谓新视野乃是指站在“企业一产品一人”这个系统的角度看待问题,旨在创导使“企业一产品一人”走向成功的“方法论和模式”。本章乃全书之综述,重点探讨“企业的根本目标、产品开发之道、用人之道、如何成为优秀的软件人才”这些论题,探索一般性的规律,并给出开创性的观点和论断。与传统的软件工程与项目管理书籍相比,本章不仅内容新颖,而且言词激进、极富个性色彩和扇动性。本章大多数内容都是作者亲身验证过后总结出来的,将给多数读者带来有益的震撼。敬请读者首先敞开心扉阅读本章,然后进行大脑风暴,吸取精华、摒弃糟粕。1.1 软件危机新理解IT产业已经逐步发展成为中国的支柱产业之
2、一,然而充满活力、优秀的软件企业太少了(苛刻地讲,十个手指头都能瓣完),绝大多数软件企业长期面临“产品质量低下、进度延误、成本高昂”的共性问题,就像患了恶劣的慢性病,无法根除。太多原本雄心勃勃的软件企业并没有战死在沙场上,而是被恶病折磨得奄奄一息直至颓然去世。IT产业的利润和前景实在太诱人了,没有获得免疫力的新企业又如雨后春笋般地诞生,前仆后继,延续着相似的故事。三十年多前(1969年),NATO会议把这种病被称为“软件危机:三十多年过去了,这种病仍然存在,之所以不再危言耸听,是因为人们司空见惯、习以为常了。并且适应了极度浪费社会财富的“快速诞生、快速死亡”的企业生存方式。为什么长期克服不了“
3、软件危机”?难道是国内大学计算机教育太差劲了?不是!大学里的计算机课程面面俱到,经常考试,基础教育非常扎实。中国大部分学生有勤奋学习的优良传统,他们的计算机知识技能普通不差。难道是书籍资料不够导致人们不懂软件开发、不懂管理吗?不是!书市上的软件工程、项目管理、编程技术等书籍泛滥成灾,Imemet上有取之不尽的免费资料和代码。难道是软件人才不够?不是!国内大学源源不断地输出计算机相关专业的毕业生,还有无数非计算机专业的人改行从事软件开发工作。我敢说,不论是人才还是人手,人是足够多了。象北京、上海等发达城市,软件人才明显供大于求,很多计算机专业本科生、硕士生、博士生找不到合适的工作。难道是政府对I
4、T产业扶持不够?不是!全国各地到处建设软件园区、高科技园区,地方政府的减税免税政策、奖励政策适时出台。对比一下国内农业和传统工业的处境,IT产业享受到政府的照顾已经好到天上了。难道社会对IT产业投资不够?不是!我们刚刚经历了网络泡沫、电信泡沫,不是社会投资太少了,而是投资太多但是没有产生期望的效益才会产生泡沫。尽管中国还不是发达国家,但平心而论,你会发现当今软件企业的生存环境真是太好了,实在找不出象样的借口来推卸失败的责任。内因决定外因,是大部分软件企业的内功太差,以至成为扶不起的阿斗。软件工程和项目管理学科已经发展了数十年,技术细节问题早已研究甚多。所以工程专家们和管理专家们不要再沉迷于“形
5、而上学”、“屠龙之技”的研究,而是要换个视野看问题,摸索解决中国企业面临的“软件危机”难题。中国教育界和工业界长期的失误在于:大学教育以填鸭的方式给学生灌输技能,却忽视传授思想和方法:学生们埋头学习,不知学以致用,离开学校后对企业、产品、人生一片茫然;企业以混乱甚至错误的方式开发产品,重复着前人的失败而不是成功。这就是产生“软件危机”的真正根源。1.2 企业一产品一人在软件行业,“企业一产品一人”这三个主体构成了复杂的系统,一般性的知识框架如图1-1所示。如果人们不明其理而行事,必然会对系统造成伤害。软件行业“企业一产品一人”走向成功的知识框架我认为,教育界和工业界应当研究和推广让“企业一产品
6、一人”走向成功的“方法论和模式”,这是解决“软件危机”最有效的办法。何为方法论?方法论是用于指导人们解决问题的系统性的思想方法,而不是一堆孤立的方法、技术的集合。方法论主要研究“是什么”、“为什么”、“怎么办”这类基本问题,当人们掌握方法论之后,在实践过程中,自己能产生解决特定问题的方法。何为模式?模式描述了在我们周围不断重复发生的问题,以及该问题的解决方案的核心,这样你就能一次又一次地复用该解决方案而不必从头开始研究。在技术开发领域,人们总结了不少很有价值的模式,例如设计模式、编程规范、文档模板等等,被业界人士广泛采用,大大地提高了工作效率。人们期待更有价值的模式,那就是让“企业一产品一人”
7、走向成功的模式。研究与推广“企业一产品一人”走向成功的“方法论和模式”的意义在于:让人们少走弯路,少经历没有价值的挫折,从而在有限的生命年华里做出尽可能多的贡献。三年前我写了一篇文章叫大学十年,这篇文章在Intemet上广泛流传,激励了相当多的大学生。许多读者误以为我的大学十年辉煌之极,从而羡慕不己。其实每个人都有自己的美好的和不好的经历,我只是把个人经历作了文学处理、写得比较好而已。在企业里工作三年后,我终于意识到大学十年里的最大失败:完全靠自己摸索前进,走了太多弯路,有一半时间在错误的道路上艰苦奋斗,浪费了大量青春时光并且不知不觉地损害了健康。如果有很好的方法论指导和成功模式可循的话,以我
8、当时的天赋、勤奋、毅力和创造力,连续奋斗十年,何止于今日空有满腹经纶,而对社会缺乏实质性贡献!广大学生和企业员工没有机会学习走向成功的方法论和模式,只好凭着本能和运气去工作、去生活、去奋斗。这不是少数人的命运啊!而是几亿人那!基于切肤之痛和多年的实践与思考,我提出了本文颇为激进的观点,期望同行的工程专家和管理专家研究与推广上述“方法论和模式”。也许这个课题太复杂了,太缥缈了,以致于国内找不到一本现成的教科书。为便于阐述观点,我勾画了知识框架草图。亳无疑问,不论干哪一行,人们都应当掌握“专业基础知识和技能”,这是立足之本,所幸国内大学在这方面的教育相当不错。在软件企业工作的人们还要学习“软件工程
9、、项目管理、市场营销、财务管理、人力资源管理、国际化”知识,懂得越多,成功的可能性就越高,然而这些领域是国内大学教育的薄弱环节。目前教科书的最大不足是没有紧密围绕“企业一产品一人”这三个主体来阐述方法论和模式。研究人员必须先分析清楚“企业一产品一人”的宏观特征与规律,再进行系统分解,从而在各个相关学科创建方法论和模式。在研究和推广上述方法论和模式的过程中,大学里的教授们和讲师们将受到强烈冲击,因为许多教授和讲师对企业和产品知之甚少,甚至自己的人生也相当落魄,拿什么“传道、授业、解惑”啊?何以为师?这种现状必须改革,如果教授和讲师不合格的话,只好下岗或者提前退休,否则误人之弟。下文将探讨“企业的
10、根本目标、产品开发之道、用人之道”这三个论题,尝试提出系统性的观点、论断,为研究软件工程和项目管理的方法论和模式打下基础。1.3 企业的根本目标1.3.1 观点和论断学过法律的人都知道:宪法是国家的根本大法,是立国之本,任何普通法律法规都不得与宪法相抵触。企业的根本目标是“合法地赚取尽可能多的利润,使企业利益最大化”。这个根本目标就如同企业的“宪法”,是企业生存和发展之本。企业所有的特定目标和行动都是围绕上述根本目标开展的。任何背离根本目标的行动都将对企业造成伤害,应当杜绝。如果企业主不明白这个道理,企业必定会很快倒闭。如果广大员工不明白这个道理,企业必将岌岌可危。如果你想到企业工作(或者已经
11、在企业工作),希望取得事业上的成功,你首先必须理解企业的根本目标。上述文字简单朴实,没有任何玄妙之处,似乎任何人都看得懂。但是我敢断言,除了极少数天生的商人之外,绝大多数人在遭受第一次商业挫折之前不会深刻领悟企业的根本目标。我们从小到大接受自闭的政治教育太久了,被灌输的幼稚口号太多了,以至于长大成人后仍然极度缺乏商业智慧。天哪,赚钱这种事情连文盲都能做啊!怎么可以成为企业的根本目标呢!企业的根本目标难道不是为了振兴民族产业、为国家多做贡献吗?不是,的确不是!“振兴民族产业、为国家多做贡献”是全体国民的义务,不是企业的根本目标。只要企业有利润、能活下去,它就已经做出贡献了。因为国家的主要税收来自
12、于企业,企业有利润后才能纳税,企业纳税后国家才有钱搞建设。只有企业活着,员工们才有工作、才有稳定的收入、才有能力养家糊口、才能维持社会繁荣稳定。只要企业合法地赚钱,它赚得越多,那么它对国家的贡献就越大。政府对企业的唯一约束就是“守法”,甚至不要求“守德”。众所周知,烟草对人有百害而无一利。烟草公司赚钱越多,表明烟民受害越深。从道义上讲,拯救广大烟民的最有效办法就是让政府封杀所有的烟草公司。但是全世界的政府都不会出于道德而封杀烟草公司,因为烟草公司没有犯法,并且给政府交纳了巨额利税。政府与企业之间存在互利的交易关系:政府应该为守法的企业提供服务(而不该骚扰企业),企业付给政府的服务费就是利税。所
13、以企业的本性就是惟利是图,而不是救国就民,无论大企业还是小商贩都一样。在计划经济时代,无数国企曾经为国家做出了巨大的贡献。当计划经济转向为市场经济之后,曾经功德无量的国企逐步沦落为国家的包袱。人们给国企强加了太多的社会义务,国企不仅包揽了职员们的“吃喝拉撒睡”,甚至还要建子弟学校,治病救人,养老送终等等。社会义务榨干了企业的利润和精力,企业焉有不垮之理!不论是“姓资还是姓社”,企业改革的主要目标就是让企业回到赚钱这个正道上来。违背企业本性的做法注定是要失败的。我曾经给某大学软件学院的工程硕士们讲授软件工程课程,几乎每次讲课我都要强调企业的根本目标,大讲特讲钱的重要性。企业惟利是图的本性就像低俗
14、赤裸的真理”,玷污了纯真学生们的耳朵。学期结束之际,有个学生写了一篇很有代表性的心得体会:本学期听了林锐老师的课程之后,我对软件工程,尤其是商业领域的软件工程应用有了全新的认识。所谓全新的认识,我想主要是从经济利益的角度看待软件工程问题。在林老师讲课之前,外籍教授Prof.1uqi和Prof.Berzins给我们讲授了如何从工程角度出发来分析一个问题、分割一个问题、解决一个问题。但是后来林老师则从商业的角度系统地阐述了为什么要提倡软件工程。唯一的解释就是经济利益的驱动一钱!在听林老师讲课的初期,我是有一定的反感的,真的无法立刻接受。或许是由于一个学生对社会的认识的不足,或许是由于受到古人的影响
15、而对那些关心金钱的话题的鄙视。总之,在听课的过程中,我总是忽略了经济利益的作用,从未考虑过软件危机的真正成因。在一次课程的中间休息阶段,我与同学们聊起了林老师的课程内容。我说“他的课程太没劲了”,“来来回回就是经济利益”,“太俗了”,“社会上正是这样吗?总之,我所反映的就是对他的课程内容的不信任。这时有一位已经在公司里任CTO的同学这样对我说:“林老师所讲的是正确的而且很有用的,我每周都要给我们公司的员工们上一次课,课程的内容很大程度上就是来自于林老师的讲义,而且事实上,社会上就是这么来做的。”从这次交流中我知道,他们公司和很多现在正面临着转型的公司一样,公司的领导们已经认识到了软件工程的重要
16、性,一切工作都是围绕经济利益这个核心的。那些有工作经验的同学们赞同林老师的观点,这次交流之后,我改变了自己以往的看法,逐渐接受林老师的课程内容。对于象我这样没有工作经验,缺乏社会阅历的学生而言,学习林老师的课程是非常有益的。看了这位学生的心得体会,我不禁一声叹息。想当年在我读大学的时候,真是一心一意地想着振兴民族产业、为国争光,视金钱如粪土。想不到工作几年之后,开口闭门就谈钱,实在羞愧啊。1.3.2 案例与评论前辈们曾经留下无数哲言,我们通常挂在嘴上而不会放在心上,只有自己遭受失败并且反省之后,才会恍然大悟,才会刻骨铭心。让单纯如学生的人们接受本章观点并不容易,比较好的办法是边讲故事边讲道理,然后让人们自己去体会。20世纪90年代初期,中国有个辉煌而结果凄惨的明星科技企业一史玉柱创办的巨人公司。巨人公司的成败得失