《《软件项目管理概述》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《软件项目管理概述》PPT课件.ppt(73页珍藏版)》请在三一办公上搜索。
1、福州大学软件学院软件工程教研室王灿辉,软件项目管理,突出软件工程创新实践能力的培养,提高组织、沟通与团队协作能力,毕业后可以从事计算机软件开发、软件测试、软件项目组织与管理等方面的工作。,软件工程专业培养目标,学习C、C+、Java语言等 培养合格的程序员学习数据库、软件工程等 培养软件开发人员(分析、设计等)学习软件项目管理课程 培养软件项目经理,课程开设目的,(美)James P.Lewis著,项目经理案头手册(第2版),The Project Managers Deck Reference(2nd Edition),机械工业出版社,2001.10(美)Joel Henry编著,Softw
2、are Project Manage-ment(A Real-World Guide to Success)影印版,科学出版社,2004.1(刘宇驰 李伟 等译,软件项目管理通向成功的现实指南,中国电力出版社,2004.11),主要参考书,(英)Bob Hughes,Mike Cotterell著,廖彬山 王慧译,软件项目管理-原书第4版(Software Project Management,4th Edition),机械工业出版社,2007.4Frederick P.Brooks JR.,人月神话-20周年经典纪念版(The Mythical Man-Month),清华大学出版社,2002
3、.11李帜 林立新 曹亚波编著,软件工程项目管理功能点分析方法与实践,清华大学出版社,2005.3,主要参考书,(美)Philip Metzger,John Boddie著,陈勇强 费琳等译,软件项目管理过程控制与人员管理(第3版),Managing a Programming ProjectProcesses and People(3rd Edition),电子工业出版社,2002.8(美)Chris F.Kemerer著,李玉英等译,软件项目管理:阅读和案例(Software Project Manage-ment:Readings and Cases),上海财经大学出版社,2004.7,
4、主要参考书,软件人员的生涯,(初级)程序员、软件工程师,项目经理,其他管理工作,技术销售,培训及教师,两类走极端的人:一类只喜欢编程,一类人从不喜欢编程。,软件开发是高风险、高投入的项目开发时间长、成本高无法证明正确性维护代价高开发、维护难于度量 等等偏激看法:凡是软件开发项目就不可能按时完成。,软件开发面临的问题,福州大学软件学院软件工程教研室王灿辉,软件项目管理,概 述,启发性的统计,据美国权威的科技情报与数据统计组织Gartner Group报告:全世界项目失控率高达40%!每一失控项目平均损失约一百万美元!61%的失控项目是由于缺乏包括项目管理办公室(PMO)在内项目职能管理所造成。6
5、0%的失控项目是由于不曾进行项目管理人员的正规化培训所造成。,项目和项目管理,根据美国项目管理协会(PMI)的定义:项目是为完成某一独特的产品或服务所做的一次性努力。从根本上说,项目就是一系列的相关工作。项目管理是20世纪40年代以后迅速发展起来的一门科学,是现代管理学中的一个重要分支。,项目和项目管理,中国项目管理研究委员会对项目的定义是:项目是一个特殊的将被完成的有限任务。它是在一定时间内,满足一系列特定目标的多项相关工作的总称。,项目和项目管理,项目是一次性、多任务的工作,具有明确规定的开始和结束日期,特定的工作范围、预算和要达到的特定性能水平。项目管理:对那些为达到项目目标必须执行的活
6、动进行计划和控制。,什么是项目?,工作分为两类:重复性、持续性的工作,称为运作。独特性、一次性的工作,称为项目。项目是为创造某种独特产品或服务所做的一次性的努力。项目:在一定的期间内,为创造某特定的产品或提供特定的服务而进行的努力。(时间,目标,约束条件),什么是项目?,常规活动,项目,探索,作业,结果不定的活动,项目的基本特征,项目的独特性项目的一次性项目的组织性 项目的生命期项目的资源消耗性项目的目标冲突性项目后果的不确定性,管理(Management),管理是人们共同劳动的需要,是为了达到一定目标而采用各种形式、方法和手段对人、财、物等进行计划、组织、领导和控制的一系列活动的总称。管理工
7、作的成败取决于能否作出有效的决策,而决策的正确与否则主要取决于信息的质和量。,管理(Management),管理的目的是让大家一起把工作做好,并且让各人获得各自的快乐和满足。当一个组织被出色地领导时,雇员甚至不知道他们已被领导。在项目完成时,他们会自豪地说:“看看我们通过努力取得的成绩吧”。所以管理者不能老惦记着自己是一个官,而应时刻意识到自己是责任的主要承担者。,管理的基本职能,计划职能:确定目标,拟订方案,制定计划,达到预期效果。组织职能:包括人的组织和工作的组织。领导职能:作用在于指引和影响个人或组织实现某种目标。控制职能:是对具体管理业务进行计量和纠正,确保管理目标以及为达到目标而拟订
8、的计划得以实现。,什么是项目管理?,按PMI的定义:项目管理就是“在项目活动中运用一系列的知识、技能、工具和技术,以满足或超过相关利益者对项目的要求”。中国项目管理研究委员会对项目管理总结为:“项目管理”一词具有两种不同的含义,其一是指一种管理活动;其二是指一种管理学科,前者是一种客观的实践活动,后者是前者的理论总结;前者以后者为指导,后者以前者为基础。,项目管理,项目管理贯穿整个项目的生命期,是对项目的全过程管理。,项目管理的特点,项目管理的对象是项目。系统工程思想贯穿项目管理的全过程。项目管理的组织:具有一定的特殊性。项目管理的体制是基于团队管理的个人负责制,项目经理是整个项目组中协调、控
9、制的关键。项目管理的要点是创造和保持一个使项目顺利进行的环境,使置身于这个环境的人们能在集体中协调工作以完成预定的目标。项目管理的方法、工具和技术手段具有先进性。,项目管理的基本内容,PMI编写的项目管理知识体系PMBOK将项目管理划分为9个知识领域:范围管理、时间管理、成本管理、质量管理、人力资源管理、沟通管理、采购管理、风险管理和综合管理。,项目管理的基本内容,中国项目管理研究委员会则将项目管理的内容概括为2个层次、4个阶段、5个过程、9大知识领域、42个要素及多个主体。,项目管理基本内容,项目管理的基本内容,项目综合管理项目:其包括3个基本的子过程:制订项目计划;项目计划执行;综合变更控
10、制。项目范围管理:PMBOK将其分成5个阶段:启动;范围计划;范围界定;范围核实;范围变更控制。项目时间管理:PMBOK提出,项目时间管理由下述5项任务组成:活动定义;活动排序;活动时间估计;项目进度编制;项目进度控制。项目成本管理:包括以下4个过程:制订资源计划;成本估计;成本预算;成本控制。项目质量管理:主要包括以下4个过程:质量规划;质量控制;质量保证;全面质量管理。,项目管理的基本内容,项目人力资源管理:包括如下几个主要的过程:人力资源规划;招聘与解聘;筛选;定向;培训;绩效评估;职业发展;团队建设。项目风险管理:PMBOK将其归纳为4个主要过程:风险识别;风险估计;风险应对计划;风险
11、控制。项目沟通管理:包括如下一些基本的过程:编制沟通计划;信息传递;绩效报告;管理收尾。项目采购管理:主要包括:编制采购计划;编制询价计划;询价;选择供应商;合同管理;合同收尾。,实施项目管理的意义,保证工期提高产量提高产品质量减少浪费降低成本增进与客户良好关系增强竞争力,项目管理方法的普及推广,美国项目管理学会(PMI:PROJECT MANAGEMENT INSTITUTE)项目管理知识体系指南(PMBOK:GUIDE TO THE PROJECT MANAGE-MENT BODY OF KNOWLEDGE)项目经理资格认证 PMP(PROJECT MANAGEMENT PROFESSIO
12、NAL证书和CAPM(CERTIFIED ASSOCIATE IN PROJECT MANAGEMENT)证书PMP考试已进入中国,关于PMP,项目经理资格认证美国项目管理学会颁发要求学士或以上4500小时项目经验35小时项目管理正规教育书面考试遵守项目经理职业道德学士以下7000小时项目经验,其余要求同上,中国项目管理师国家职业资格认证,劳动和社会保障部计划在全国范围内推行的四级项目管理专业人员资质认证体系项目管理员助理项目管理师项目管理师高级项目管理师,项目管理在中国,项目管理尚处于起步阶段。项目,尤其高科技项目,尚缺乏规范化的管理近年来项目管理已得到政府的广泛重视全世界近30,000人获
13、PMP(项目管理资质认证)证书,并以每年15%的速度增长。但在中国获PMP者约1,500人缺乏正规的项目管理教育缺乏各层次项目管理人才,中国需要大量合格的项目经理,企业急需项目经理涉外项目要与国际模式接轨跨国公司用人政府机构急需项目经理金融机构急需项目经理持PMP证书:全球3万人,中国约1000-1500人劳动与社会保障部宣布:即将实施项目管理师制度项目管理人员必须持证上岗,项目经理炙手可热的新兴职业,需求量大稳定性强高科技企业需求迫切项目经理小型CEO项目经理项目管理专家,按照预定的进度、成本和质量,开发出满足用户要求的软件产品用户需求确保软件质量成本限制进度限制,软件项目开发的任务,什么是
14、软件项目管理?,对软件项目开发过程中所涉及的过程、人员、产品、成本和进度等要素进行度量、分析、规划、组织和控制的过程,以确保软件项目按照预定的成本、进度、质量要求顺利完成。软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对人员(People)、产品(Product)、过程(Process)和项目(Project)进行分析和管理的活动。,软件项目管理的目的,软件项目管理的根本目的是为了让软件项目尤其是大型项目的整个软件生命周期(从分析、设计、编码到测试、维护全过程)都能在管理者的控制之下,以预定成本按期,按质的完成软件交付用户使用。而研究软件项目管理为了从已有的成功或失败的
15、案例中总结出能够指导今后开发的通用原则,方法,同时避免前人的失误。,软件项目管理,软件项目管理的提出是在20世纪70年代中期的美国,当时美国国防部专门研究了软件开发不能按时提交,预算超支和质量达不到用户要求的原因,结果发现70%的项目是因为管理不善引起的,而非技术原因。于是软件开发者开始逐渐重视起软件开发中的各项管理。到了20世纪90年代中期,软件研发项目管理不善的问题仍然存在。据美国软件工程实施现状的调查,软件研发的情况仍然很难预测,大约只有10的项目能够在预定的费用和进度下交付,软件项目管理,1995年,据统计,美国共取消了810亿美元的商业软件项目,其中31的项目未做完就被取消,53的软
16、件项目进度通常要延长50%的时间,只有9的软件项目能够及时交付并且费用也控制在预算之内。,软件项目管理,软件项目管理和其他的项目管理相比有相当的特殊性。首先,软件是纯知识产品,其开发进度和质量很难估计和度量,生产效率也难以预测和保证。其次,软件系统的复杂性也导致了开发过程中各种风险的难以预见和控制。Windows这样的操作系统有1500万行以上的代码,同时有数千个程序员在进行开发,项目经理都有上百个。这样庞大的系统如果没有很好的管理,其软件质量是难以想象的。,软件项目管理,没有项目管理,项目也有可能成功。有了项目管理,就有了管理改进的基础,无论刚开始的项目管理多么糟糕,只要有管理,就有了改进的
17、可能性,至于能不能得到改进,以及改进的快慢,则取决于两个因素:一个是人,特别是各级管理者;另一个是利益。关键是利益,准确的说是利益的分配,在权责利明确的前提下,人才能充分的发挥作用。还需要指出的是利益是多元的,这里的多元不仅指利益的具体形式,而且指利益的受众是多元的,包括客户方相关人员个人的利益。,软件项目管理的特点,软件项目将限制在以软件开发、集成和实施为主要目的的项目范围内。软件项目具有自己非常明显的特点:阶段性(紧迫性)、独特性和不确定性。软件项目管理和其他项目管理相比,具有很大的独特性:生产无形的产品生产无形的产品过程没有明显的划分大都是“一次性”的人力消耗型项目,软件项目管理的主要内
18、容,相互关联的管理要素过程管理过程:怎么做(How)人员管理人员:谁来做(Who)产品管理产品:结果(What),软件项目管理的内容,需求、资源、工期、质量四个要素之间的平衡关系。四个要素之间的平衡关系最容易犯的一个错误,就是鼓吹“多快好省”四个字。多:需求越多越好吗?快:真能快起来吗?好:什么标准?谁说了算?省:省到什么程度?(一分钱一分货),软件项目管理的内容,软件项目管理的内容主要包括如下几个方面:人员的组织与管理软件度量软件项目计划风险管理软件质量保证软件过程能力评估软件配置管理等。,软件项目管理的主要活动,编写项目建议书项目成本的度量项目计划和进度安排项目监控和复审人员选择和评估项目
19、报告的准备和发布,软件项目管理过程,项目团队(项目文化,管理优秀的人,使优秀的人更优秀)过程选择、剪裁、实施和评估工具的选择、培训和使用资源组织、分配角色形成愿景、制定SPO和SDP指导团队、监视项目、获取测量、更新进度表项目结束(安装和交付、项目支持、项目评价),软件项目管理的组织模式,软件项目可以是一个单独的开发项目,也可以与产品项目组成一个完整的软件产品项目。如果是订单开发,则成立软件项目组即可;如果是产品开发,需成立软件项目组和产品项目(负责市场调研和销售),组成软件产品项目组。公司实行项目管理时,首先要成立项目管理委员会,项目管理委员会下设项目管理小组、项目评审小组和软件产品项目组等
20、。,软件项目经理,项目经理的基本职责可以归纳为领导项目的计划、组织和控制工作,以实现项目的目标,即项目经理领导项目团队完成项目目标,项目经理需要协调各个团队成员的活动,使这些成员成为一个和谐的整体,履行各自的工作。,项目经理面临的问题,面临许多问题如何着手开展工作?能否以及如何保证在规定的时间约束范围内完成工程?如何保证所开发的软件系统的质量?怎么去组织手下的技术人员,让他们充满激情地工作?如何确保项目不会失控?如何在实施过程中处理各种应急事件?这些问题都是软件项目开发必须解决的,而且不是纯粹的技术性问题,软件项目经理,软件经理人员是工作的组织者,他的管理能力的强弱是项目成败的关键。他应具有以
21、下能力:把用户提出的非技术性要求加以整理提炼,以技术说明书的形式转告给分析员和测试员。能说服用户放弃一些不切实际的要求,以保证合理的要求得以满足。,软件项目经理,能够把表面上似乎无关的要求集中在一起,归结为“需要什么”,“要解决什么问题”。这是一种综合问题的能力。要懂得心理学,能说服上级领导和用户,让他们理解什么是不合理的要求。但又要使他们毫不勉强,乐于接受,并受到启发。,(技术型)项目经理,长处精湛的技术丰富的软件开发经验,参加过许多项目的开发有成功的项目开发案例,对个人技术信心十足欠缺经常没有完整组织过一个软件项目的开发,不知道如何开展软件项目的开发工作以及需要注意哪些问题,项目经理,项目
22、经理是来自技术人员?还是来自管理人员?那种好?项目经理能不能是兼职的人员?(即在公司里还兼任其他职务)如果项目经理是技术出身,那么应该不应该参与编程?如果参与编程应该负责什么类型的编程任务?,软件项目管理原则,平衡原则(需求、资源、工期、质量)高效原则(产品早上市,追求开发效率)分解原则(分解小项目,分解几个阶段)实时控制原则(将项目的进展情况完全的实时的置于你的控制之下)分类管理原则(根据项目的特点,制订不同的项目管理的方针政策)简单有效原则规模控制原则(该原则和其他原则相配合),软件项目管理在管理思维中的空白,空白1:为效益而实施项目管理空白2:考虑所处环境空白3:合理评判软件项目管理空白
23、4:心理学的必要性空白5:尊重常识,系统性考虑问题空白6:学会思考空白7:学会计划,软件项目管理-为效益而实施项目管理,为什么我们要实施项目管理,是为了提高项目的效益。这里所指的项目的效益是一个综合性的指标,包括低风险、高产出等。为此我们不难得出我们在实施项目管理应该掌握的度。即:引入项目管理后所产生的效益减去项目管理的成本后必须大于未引入项目管理时的效益。,软件项目管理-为效益而实施项目管理,由于引入项目管理后所产生的效益与项目管理的复杂度(项目管理的成本)并非线性相关的,因此项目管理的复杂度必然存在一个最优值,这就是我们应该把握的度。也许上面的说法比较抽象。一个实际行之可效的判断项目管理的
24、度规则就是:大家认可并且能够准确地理解和实施。拿美国项目管理专家James P Lewis的话说就是KISS原则(Keep it simple and stupid),软件项目管理-考虑所处环境,任何系统都是建立在一个具体的系统环境中的,一般情况下受上一级系统影响最为显著,这是系统论的观点。项目管理是企业管理的下属层次,因此在很大程度上项目管理的成功与否常常受企业管理的制度制约(比如说设备采购的批复等待会延误工期),这就是为什么常常会出现计划不如变化来的快的原因。因为我们在制定计划时根本就没有考虑自身和客户双方的企业管理的环境,所以我们的计划在实施过程中会受到企业管理环境因素的影响。,软件项目
25、管理-考虑所处环境,在没有人事激励机制常常拖欠或故意克扣员工工资但获得CMM5认证的公司开发效率不会比一个没有实施项目管理的开发团队的效率高多少。因为恶劣的公司人事制度扼杀了开发人员的天才和积极性。因此,作为一个项目管理者,审视自身的项目所处的企业环境并做出准确的判断是非常有必要的。缺少良好的项目环境,项目管理者的心血常常白费。这往往是我们中的一些项目经理在不同的公司里项目管理表现大相径庭的原因。,软件项目管理-考虑所处环境,正是基于企业环境这样一个观点,目前美国PMI,日本ENAA等提出了项目管理成熟度模型(OPM3和P2M),改变了传统PMBOK的缺陷(忽略外部因素和自身的灵活性)。有兴趣
26、的项目管理者可以参看有关项目管理成熟度和企业管理方面(建议参看职业经理人方面)的资料。,软件项目管理-合理评判软件项目管理,我们总是把过多的项目失败归罪到项目经理的名头上。他们的角色常常是替罪羊而不是领导者,他们拥有的更多的是责任而绝非职权。实际上项目失败并非完全决定于项目管理,比如说信息系统过低的报价。一个项目按时在预算范围内完成了而另外一个则没有按时完成,这不意味着第一个项目管理得比较好。因为前者可能是项目时间和成本宽松的项目而后者根本就是不可能完成的项目。前者项目管理的意义在于获得较高的项目效益而后者的意义在于避免更大的项目损失。,软件项目管理-合理评判软件项目管理,很可惜,充满了浮躁的
27、软件企业没有诸如此类的意识,一些项目在未开始前注定就是失败的,项目经理们一上手便被扣以一责任人的镣铐。因此,项目管理有无具体效果,需要合理地进行评判,单纯以出效益为上的观点未免有失偏颇。,软件项目管理-心理学的必要性,没有一个领域像软件项目管理中人的因素更为重要,在软件领域没有实现自动化之前,一切试图取代人的主要作用的机制都是收效甚微的。人的行为是心智活动的表现。开发人员的心理活动决定了其在开发的表现。合适的压力能够勾起开发人员的成功欲望但是过大的压力却直接影响着项目参与者的身心健康。特别是后者一直以来都未能引起软件开发界的重视。,软件项目管理-心理学的必要性,很多人曾经有过不明不白的辞职经历
28、,作为一个软件项目管理者,不了解和掌握管理心理学,很难针对复杂多变的人的因素采取合理的应对措施,同时自身的心理健康也未必能够得到保证。为此建议有条件的软件企业,可以通过聘用心理顾问来处理员工的心理问题,以此缓和由于工作压力而导致的员工之间矛盾冲突和项目坍塌。,软件项目管理-尊重常识,系统性考虑问题,就像不要指望人一秒钟跑二十米一样指望项目中有过多的奇迹出现。可惜我们中的大多项目管理者在进行项目管理时依然实施大跃进。我们的管理者都知道自然规律不可违抗性,但是却很少有人意识到一些社会规律的不可违抗性。他们总以为唯物的主观能动性能够替代实际,产生奇迹。加班被认为是解决资源匮乏的唯一途径,通过开发人员
29、无上的生产力来达成项目的成功。,软件项目管理-尊重常识,系统性考虑问题,很少有人会意识到加班造成的疲劳会再次使工作效率降低这一事实。这是一种缺乏常识和系统性思考问题的表现。诸如此类的表现还有“唯工具论”和“唯方法论”。实际上,项目管理涉及各个方方面面,一味提高某一方面作用而忽略该方面对其它方面的影响,并不能提高项目管理的层次和最终产出,这是制止我们的项目管理者走偏激(极端)立场的一剂良药,希望项目管理者们能有所意识。,软件项目管理-学会思考,项目管理不是拿来主义,需要项目管理者进行认真的思考。这就是为什么我们项目管理者中不乏项目经理资格认证(PMP)和国际项目管理专业资质认证(IPMP)但是项
30、目却未能如愿以偿的原因。理论和实践的差距极大地挫伤项目管理者的积极性。证书无用论所持的观点其依据也在于此。理论是一种完美的抽象,而现实是各种条件的集合。我们的项目管理者在实践上往往生搬硬套而忽略其依存条件,这就是招聘项目经理唯经验论的来源。,软件项目管理-学会计划,在项目经理的招聘中,你听到的只是几个项目管理白痴问你项目出了什么问题应该怎样解决的提问,这些项目管理白痴在不断地做各种问题假设,而你必须根据假设采取各种符合这些项目管理白痴口味的回答。但是,作为项目管理的来说,项目管理的真正意义在于事先预防各种偏离项目目标的问题出现而不是在于解决问题。,软件项目管理-学会计划,你不能期望癌症有100的治愈率,但是你可以通过合理的生活习惯和锻炼来防止癌症的出现。我们在进行项目管理时,首先应该考虑如何防止问题的出现,虽然它不能保证所有的问题(风险)都可以避免,但是通过计划,你将拥有更多问题(风险)应对储备,能够在问题出现时有备无患。,软件项目管理-学会计划,一个只会在问题出现时考虑应对措施的项目经理只是一个失败的项目经理。其项目结果无异是把健康交给医生而不是自己。作为项目管理的定位来说,项目管理应该是管理会计的角色而不是成本会计的角色。,本部分内容讲授到此结束!,福州大学软件学院计算机教研室王灿辉,Q&A,