软件项目管理概述.ppt_第1页
软件项目管理概述.ppt_第2页
软件项目管理概述.ppt_第3页
软件项目管理概述.ppt_第4页
软件项目管理概述.ppt_第5页
已阅读5页,还剩100页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

前述,一、管理、组织的概念二、软件工程与项目管理三、项目管理与其它学科的关系四、软件项目管理产生的背景五、软件项目管理的要素六、软件项目管理的学习思路,1.管理管理是通过利用已有的和可以争取到的各种资源(如人、财、物、技术等),以最少的投入获得最大的产出完成某种任务或达到某个目标的软活动。任务有:发现问题拟定方案作出决策管理有三个层次:高层(战略级)、中层(策略级)、基层(执行级)2.组织组织是由人和其它资源组成,为达到一个目的的集合或系统。管理是组织的任务,管理为组织服务,确保组织达到预期目标。,一、管理、组织的概念,在软件工程中,涉及到管理,与项目管理有重叠是自然的。软件开发用工程的方法则一定要提到工程管理,不过则是与方法有关的、有针对性的,项目管理则是通用的、有系统的。讲项目管理也有工程方法有关,所以也要提到方法。软件工程是以技术为主,项目管理是以管理方法为主。软件项目管理是软件工程和项目管理的交叉学科,是项目管理的原理和方法在软件工程领域的应用。与一般的工程项目相比,软件项目有其特殊性,主要体现在软件产品的抽象性上,因此软件项目管理的难度要比一般的工程项目管理的难度大,同时软件项目失败的概率也相对要高。,二、软件工程与项目管理,项目管理知识与实践,一般管理知识与实践,应用领域的知识与实践,三、项目管理与其它学科的关系,你是否参加过软件项目的开发你是否组织过软件项目的开发有哪些印象深刻的成功和失败案例你认为软件开发中最具有挑战性的问题是什么你认为自己能否胜任以下职位程序员、设计师、项目经理、开发顾问你希望将来在IT企业中充当什么角色?如何达到这一角色,四、软件项目管理产生的背景,什么是软件危机软件危机的表现产生软件危机的根源解决危机的技术途径解决危机的管理途径,软件危机指软件在开发和维护过程中遇到的一系列矛盾与问题。比如:软件开发没有计划性;软件前期需求分析不足;软件开发过程没有规范等等。从而导致开发无法顺利执行,成本昂贵,开发的软件错误百出等等。正是这种软件危机才促使人们寻求解决方法,也就产生了软件工程。困扰学术界和工业界用户对软件开发缺乏信心软件开发的高投入和高风险,1.什么是软件危机,2.软件危机的表现(1of3),成本高IBM360OS,5000多人年,耗时4年(19631966),花费2亿多美元美国空军:1955年软件占总费用(计算机系统)的18%,70年60%,85年达到85美国全球军事指挥控制系统,硬件1亿美元,软件高达7.2亿美元计算机软件和硬件费用比,2.软件危机的表现(2of3),软件质量得不到保证软件应用面的扩大:科学计算、军事、航空航天、工业控制、企业管理、办公、家庭软件越来越多的应用于安全犹关(safetycritical)的系统,对软件质量提出更高的要求80年代欧洲亚丽安娜火箭的发射失败,原因是软件错误美国阿托拉斯火箭的发射失败,原因是软件故障英国1986年开发的办公室信息系统Folios经4年,因性能达不到要求,1989年取消日本第5代机因为软件问题在投入50亿美元后于1993年下马由于软件质量问题导致失败的软件项目非常多,2.软件危机的表现(3of3),进度难以控制项目延期比比皆是由于进度问题而取消的软件项目较常见只有一小部分的项目能够按期完成维护非常困难软件维护的多样性软件维护的复杂性软件维护的副作用,3.产生软件危机的根源,逻辑产品,不同于物理产品复杂性高逻辑产品,逻辑复杂性,远高于硬件复杂性软件的复杂性随规模呈指数级上升规模大应用扩大,代码量,1000万行,仍在不断膨胀影响软件生产率和质量的因素比较复杂人员的能力和水平团队合作缺乏有效、系统原理、原则、方法和工具的指导和辅助,4.解决危机的技术途径,20世纪60年代爆发,然而实际上软件危机随着计算机软件的产生而产生,只是在此之前其问题的严重性没有引起人们的关注和重视提出有效的方法和工具支持软件开发1968年提出软件工程概念和思想20世纪70年代的结构化软件开发方法20世纪80年代的面向对象的软件开发方法新的技术:软件重用、快速原型、需求工程典型技术:COM,Java,C+,J2EE,.Net,.支撑工具和环境:Jbuilder,VisualStudio,WebLogic,技术手段不能完全解决软件危机,到了20世纪90年代,软件危机依然存在,甚至更为严重应用牵引技术的发展瀑布模型结构化软件开发方法OO软件开发方法技术推动应用的深化应用的扩大和深入应用变得越来越大和复杂,技术变得更加力不从心错误的观念“只要有好的软件开发方法和工具就能高效率地开发出高质量的软件”,解决危机的管理途径,问题出在哪里?20世纪80年代末,美国和工业界开始认识到管理的重要性美国的一项研究表明,70%的项目由于管理不善导致难以控制进步、成本和质量;进一步的研究发现:管理是影响软件项目成功开发的全局性因素,而技术只影响局部如果软件开发组织不能对软件项目进行有效管理,就不能充分发挥软件开发方法和工具的潜力,也就不能高效率地开发出高质量的软件产品,重视管理,管理是影响软件项目成败的第一要素学术界和工业界开始研究和探索针对软件企业以及软件开发所需的管理机制和措施提高企业的过程管理和控制能力ISO9000系列强调质量CMM、CMMI强调企业的过程管理和控制的能力强化软件项目的管理需求、质量、风险、成本、版本等的管理,五、软件项目管理的要素(1),对象人员、成本、产品主线过程目标在成本和进度范围内开发出高质量的软件产品,五、软件项目管理的要素(2),研究针对不同的技术针对不同的机构规模和特点探索新的途径应用越来越多的企业关注管理问题,管理出效益、加强质量、降低风险尝试寻找适合于自身特点的管理措施,五、学习软件项目管理的要求(1),理解什么是软件项目管理?为什么需要对软件项目进行管理?软件项目管理涉及那些方面?软件项目管理需要解决那些问题?软件项目管理有关的标准和规范软件项目管理的有关概念,五、学习软件项目管理的要求(2),掌握解决问题的具体方法和措施问题过程方法结果辅助软件解决的各种工具CASE工具,五、学习软件项目管理的要求(3),运用增进组织在软件项目管理方面的能力推动组织的软件项目管理制定满足标准和规范的有关规程针对企业和机构的特点,在实际的项目开发过程中运用所学的知识促进软件项目管理,学习要点学习和掌握先导课程理解知识点和思想无需死记硬背大胆提出你的想法和意见掌握方法和工具运用解决实际问题,实践,课程实习阅读相关资料,五、学习软件项目管理的要求(4),学习要点学习和掌握先导课程理解知识点和思想无需死记硬背大胆提出你的想法和意见掌握方法和工具运用解决实际问题,实践,课程实习阅读相关资料,五、学习软件项目管理的要求(4),先导要求软件工程软件开发经验软件开发方法程序设计语言,五、学习软件项目管理的要求(5),六、软件项目管理的教学内容,几点思考,工程问题理论指导?、实践及其重要性管理问题最佳?、摸索、应人而异,第1章软件项目管理概述,1.1软件项目管理的案例及其重要性1.2项目与项目管理1.3软件项目管理1.4软件项目的可行性研究,1.1软件项目管理的案例及其重要性,1.1.1软件项目管理的案例1.1.2软件项目管理的重要性,1.1.1软件项目管理的案例(1/3),任务负责组织*大学图书馆管理系统的开发时间限制6个月人员4个技术人员成本控制在40万元之内,1.1.1软件项目管理的案例(2/3),小王的长处精湛的技术,尤其是软件设计和程序设计技术丰富的软件开发经验,参加过许多项目的开发有成功的项目开发案例,对个人技术信心十足小王的欠缺从来没有完整组织过一个软件项目的开发,不知道如何开展软件项目的开发工作以及需要注意哪些问题,1.1.1软件项目管理的案例(3/3),小王很茫然,面临许多问题如何着手开展工作?能否以及如何保证在规定的时间约束范围内完成工程?如何保证所开发的软件系统的质量?怎么去组织手下的技术人员,让他们充满激情地工作?如何确保项目不会失控?如何在实施过程中处理各种应急事件?这些问题都是软件项目开发必须解决的,而且不是纯粹的技术性问题,1.1.2软件项目管理的重要性(1/4),软件项目开发的任务按照预定的进度、成本和质量,开发出满足用户要求的软件产品用户需求确保软件质量成本限制进度限制,1.1.2软件项目管理的重要性(2/4),软件工程的解决方法运用工程化的手段进行软件开发强调过程抽象文档化规范化工具支持,1.1.2软件项目管理的重要性(3/4),项目组由许多承担不同角色、承担不同任务的人员组成,这些人员构成了一个团体项目经理、需求分析人员、设计人员、程序员、测试人员软件开发涉及到许多相互关联的活动,这些活动的实施直接关系到软件项目的成本和进度需求分析、软件设计、编码、测试在软件项目实施过程中会产生大量软件产品,这些软件产品相互关联、具有不同的抽象层次软件需求规格说明书、软件设计规格说明书、源程序代码、可执行代码、测试用例,1.1.2软件项目管理的重要性(4/4),管理软件开发过程明确过程活动估算各个的工作量、成本制定计划,跟踪过程,风险控制管理软件产品有哪些产品,呈什么形式(规范文档),如何保证它们的质量,如何控制它们的变化管理软件开发人员如何组建一个好的团队、调动团队成员的积极性和激情、严明团队的纪律、促进人员之间的协调与合作,1.2项目与项目管理,1.1.1项目的基本概念1.1.2项目管理1.1.3项目管理的基本内容1.1.4项目管理的成功因素1.1.5项目管理的基本方法与模型1.1.6跟踪时间点的相关概念1.1.7项目的组织,1.2.1项目的基本概念一、项目及其三层含义(1),项目管理是20世纪40年代以后迅速发展起来的一门科学,是现代管理学中的一个重要分支。根据美国项目管理协会(PMI)的定义:项目是为完成某一独特的产品或服务或其它成果所做的一次性努力。从根本上说,项目就是一系列的相关工作。中国项目管理研究委员会对项目的定义是:项目是一个特殊的将被完成的有限任务。它是在一定时间内,满足一系列特定目标的多项相关工作的总称。,一、项目及其三层含义(2),根据定义,项目实际包含3层含义一是项目是一项有待完成的任务,有特定的环境-环境。二是在一定的组织机构内,利用有限资源(人力、物力、财力等),在规定的时间内(指项目有明确的开始时间和结束时间)为特定客户完成特定目标的阶段性任务,项目必须在时间、成本、质量三者间进行平衡-时间与资源。三是任务要满足一定性能、质量、数量、技术指标等要求-目的,二、项目的基本特性,目标性,其结果只可能是一种期望的产品或服务。独特性,每一个项目都是唯一的。一次性,有确定的起点和终点。约束性,每一个项目的资源、成本和时间都是有限的。关联性,所开展的活动是密切相互关联的。整体性,一个项目涉及多个相关利益者不可逆转性,不论结果如何,项目结束,结果就确定。,三、项目的组成要素,项目的组成要素-是指与活动有关的总和项目的阶段和生命周期项目当事人和利益相关者管理与技术的知识组织结构外部环境,四、项目的生命周期,第一阶段:项目启动阶段(识别需求)第二阶段:项目计划阶段(提出解决方案)第三阶段:项目执行阶段第四阶段:项目结束阶段,项目的生命周期-识别需求,当需求被客户确定时,项目就产生了。客户与项目承约商进行项目需求的识别。,项目的生命周期-提出解决方案,项目承约商提交标书,提出项目方案。项目客户评估项目方案并确定中标者。,项目的生命周期-执行项目,执行项目方案以实现项目目标。项目的监控、纠偏工作与项目目标的实现休戚相关,项目的生命周期-项目结束,项目成果的移交、项目款项的清算。项目绩效的评估。,1.2.2项目管理一、什么是项目管理,按PMI的定义项目管理是“在项目活动中运用一系列的知识、技能、工具和技术,以满足或超过相关利益者对项目的要求”。按中国项目管理研究委员会的定义:“项目管理”一词具有两种不同的含义,其一是指一种管理活动;其二是指一种管理学科,前者是一种客观的实践活动,后者是前者的理论总结;前者以后者为指导,后者以前者为基础。项目管理贯穿整个项目的生命期,是一个整体的管理。包括对项目的全过程管理、全目标管理和整合管理。,项目管理的作用在项目活动中运用专门的知识、技能、工具和方法,使项目能够实现或超过项目关系人的需要和期望。我们的企业要两条腿走路,一个是科学技术,一个是项目管理。华罗庚三分技术,七分管理,管理计划和监控,计划,监控,平衡,二、项目管理的构成与约束因素,范围,时间,质量,目标,预算,人,过程,工具,项目管理,产品,范围(Scope)时间(Time)约束条件成本(Cost)质量(Quality)目标多、快、好、省,成本、时间、质量三个要素称为TQC,范围在合同中体现。,三、项目管理的基本特征,管理对象是项目或被当作项目来处理的运作管理思想是系统管理的系统方法论管理组织通常是临时性、柔性、扁平化的组织管理机制是项目经理负责制,强调责权利的对等管理方式是目标管理,包括进度、费用、技术与质量管理要点是创造和保持一种使项目顺利进行的环境管理方法、工具和手段具有先进性和开放性。,四、项目管理的对象-3P,People,Process,Problem,1.2.3项目管理的知识体系,PMI编写的项目管理知识体系将项目管理划分为9个知识领域:范围管理、时间管理、成本管理、质量管理、人力资源管理、沟通管理、采购管理、风险管理和综合管理。而中国项目管理研究委员会则将项目管理的内容概括为2个层次、4个阶段、5个过程、9大知识领域、42个要素及多个主体。如表所示。,项目综合管理其包括3个基本的子过程:制订项目计划;项目计划执行;综合变更控制。项目范围管理PMBOK将其分成5个阶段:启动;范围计划;范围界定;范围核实;范围变更控制。项目时间管理PMBOK提出,项目时间管理由下述5项任务组成:活动定义;活动排序;活动时间估计;项目进度编制;项目进度控制。项目成本管理包括以下4个过程:制订资源计划;成本估计;成本预算;成本控制。项目质量管理主要包括以下4个过程:质量规划;质量控制;质量保证;全面质量管理。项目人力资源管理包括如下几个主要的过程:人力资源规划;招聘与解聘;筛选;定向;培训;绩效评估;职业发展;团队建设。项目风险管理PMBOK将其归纳为4个主要过程:风险识别;风险估计;风险应对计划;风险控制。,项目沟通管理包括如下一些基本的过程:编制沟通计划;信息传递;绩效报告;管理收尾。项目采购管理主要包括:编制采购计划;编制询价计划;询价;选择供应商;合同管理;合同收尾。,综合管理,1.2.4项目管理的成功因素一、项目成功的标志,在规定的时间内完成项目项目成本控制在预算之内功能特性达到规格说明书所要求的水平(质量)项目通过客户或用户的验收项目范围变化是最小的或可控的没有干扰或严重影响整个组织的主要工作流程没有改变公司文化或改进了公司的文化。,制定计划:预估和确定项目的工作量大小、所需资源和进度、风险应对措施等;建立组织:建立项目组,并有明确的角色定义和任务分工;配备资源:任用各种层次的技术人员和管理人员,以及准备所需的软硬件;监控执行:协调项目各方人员,监控各种风险,督促项目进展,随时检查实施情况,确保项目按计划进行,按时、按质完成任务。总结提高:项目完成后,及时进行总结,吸取教训,分享经验,丰富组织的项目管理数据库或知识库。,二、项目管理的主要职能,三、有效项目管理,1.2.5项目管理基本方法与模型一、项目管理基本方法,阶段化管理:将项目的生命周期分为若干个阶段,再根据不同阶段所具有的不同特点来进行针对性的管理。量化管理:针对影响项目成功的因素制定指标、收集数据、分析数据,从而完成对项目的控制和优化。优化管理:分析项目每部分所蕴涵的知识,不断吸取教训、总结经验,将知识和实践更好地融合在一起,从而对项目的计划、实施办法等进行优化,获得项目的最佳效益。,二、项目管理基本模型,组队模型用于解决人力资源管理,包括明确相互依赖的角色和责任、沟通机制等;过程模型为了解决软件开发过程管理,包括时间管理、基于里程碑的阶段划分、阶段性成果及其基线的管理,保障项目的顺利实施;应用模型是具体应用领域的需求管理和变更管理等,并在用户、业务和数据三个层面上,定义协作的、分布的、可重用的业务逻辑网络。,检查点里程碑-主里程碑与小里程碑基线-评估,1.2.6跟踪时间点的相关概念,检查点采样点发现差距及时调整,主里程碑,小里程碑小里程碑需要通过项目的内容及周期长度来确定。设置它的主要目的是为了合理分配工作,细化管理的“粒度”。当使用小里程碑时,应该遵循如下原则:在项目早期建立小里程碑。让开发者建立自己的小里程碑。保持小里程碑的小型化特征。保持里程碑的二分性。制定一系列完整的里程碑。在短期计划(而不是长期计划)中应用小里程碑。,基线重要的里程碑后继工作的基准和出发点,定期状态评估,1.2.7项目的组织一、项目的组织形式与管理模式,组织形式:基于职能、基于项目管理模式:项目型、职能型、矩阵型(弱矩阵型、平衡矩阵型、强矩阵型),基于项目,管理模式-项目型,基于职能,职能型,管理模式-职能型,管理模式-平衡矩阵,矩阵型(平衡矩阵、弱矩阵、强矩阵),基于职能与项目,弱矩阵,管理模式-弱矩阵,管理模式强矩阵,组织结构对项目的影响,设计项目组织结构时需遵守的原则,目标一致性原则有效的管理层次和管理幅度原则责任与权利对等原则集权与分权相结合的原则环境适应性原则,二、项目组内部的组织管理结构,组织结构一般有扁平式的和分层式的组织结构管理模式:集中型、分散型、集中分散型集中型适应于问题简单、时间紧迫的项目.分散型适应于问题、沟通困难模块化程度低的项目.软件项目早期采用集中型的多,现代采用分散型的多.,三、项目办公室与项目经理,项目办公室:作用因项目而异项目经理:任职条件、职能、任务,四、项目干系人,项目干系人的构成项目的发起人项目管理小组项目经理项目组成员客户其他与项目有利益关系的组织或个人不同干系人在项目中的角色投资者雇主设计者项目实施者,1.2软件项目管理,1.2.1软件项目1.2.2软件项目管理1.2.3软件项目开发的模型1.2.4软件项目的生命周期1.2.5软件项目的组织结构,1.2.1软件项目,软件项目是指将限制在以软件开发、集成和实施为主要目的范围内的项目,又称IT项目。软件项目具有自己非常明显的特点:阶段性(紧迫性)、独特性和不确定性。,1.2.2软件项目管理一、什么软件项目管理,软件项目管理是根据管理科学的理论,结合软件项目的具体实际,保证工程化开发方法顺利实施,以使软件项目能按预定目标完成,而对成本、人员、进度、质量、风险、文档等进行分析管理控制的一系列活动。,软件项目管理和其他项目管理相比,具有很大的独特性。生产的产品是无形的过程没有明显的划分界限通常是“一次性”的人力消耗高度不可预测管理的原则是成败而不是技术进步,二、软件项目管理的特点,三、软件项目管理的活动,软件项目管理主要的活动包括:编写项目建议书项目成本的度量项目计划和进度安排项目监控和复审人员选择和评估项目报告的准备和发布,瀑布模型原型模型螺旋模型渐进模型,1.2.3软件项目的开发模型,1.2.4软件项目的生命周期,从工程上来看:生命周期都包括识别、设计、实施和评估4个阶段从开发上来看:可以将一般的软件项目开发过程详细划分为的6个主要阶段,即:准备阶段调查阶段分析阶段设计阶段实施阶段维护阶段无论是工程阶段还是开发阶段均是以基线为标志。,1.2.5软件项目的组织结构,软件项目的组织结构一般采用分层式的,1.3软件项目的可行性研究,软件项目开发的可行性一般包括了可能性、效益性和必要性3个方面。可能性包括了技术、物资、资金和人员支持的可行性;效益性包括了实施项目所能带来的经济效益和社会效益;必要性则比较复杂,包括了社会环境、领导意愿、人员素质、认知水平等诸方面的因素。因此,在项目启动之前进行项目的可行性研究是非常必要的,而且也是必须的。可行性研究的内容可行性研究的步骤可行性研究报告效益的预测与评估投资回收期计算,1.3.1可行性研究的内容,技术可行性分析经济可行性分析运行环境可行性分析其他方面的可行性分析,一、技术可行性分析,技术可行性分析是指在当前市场的技术、产品条件的限制下,能否利用现在拥有的以及可能拥有的技术能力、产品功能、人力资源来实现项目的目标、功能、性能,能否在规定的时间期限内完成整个项目。技术可行性分析一般应当考虑:进行项目开发的风险;人力资源的有效性;技术能力的可能性;物资(产品)的可用性。,二、经济可行性分析,主要是对整个项目的投资及所产生的经济效益进行分析,具体包括:支出分析、收益分析、投资回报分析以及敏感性分析等。,三、运行环境可行性分析,运行环境是制约软件在用户单位发挥效益的关键。,四、其他方面的可行性分析,软件项目的可行性研究除了前面介绍的技术、经济和运行环境可行性分析外,还包括了诸如法律可行性、社会可行性等方面的可行性分析。,1.3.2可行性研究的步骤,可行性研究分为初步可行性研究、详细可行性研究、可行性研究报告等3个基本的阶段,可以归纳成几个基本步骤:(1)确定项目规模和目标。(2)研究正在运行的系统。(3)建立新系统的逻辑模型。(4)导出和评价各种方案。(5)推荐可行性方案。(6)编写可行性研究报告。(7)递交可行性研究报告。,一、初步可行性研究,进行初步可行性评估,可以从几个方面进行衡量,以便是否决定开始详细可行性研究:分析项目的前途,从而决定是否应该继续深入调查研究;初步估计和确定项目中的关键技术

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论