软件项目管理

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

软件项目管理深圳市捷维信息技术有限公司高级咨询师王友元Tel:13703004667Email:mike@c-manager.com.cnwangyouyuanmike@tom.com主要内容一、项目管理概述二、软件项目管理概述三、软件项目规划四、软件项目执行与监控五、软件项目收尾项目管理概述¾前言¾项目与项目管理的概念¾项目生命周期¾项目干系人¾组织结构对项目的影响¾项目管理过程¾项目管理的九大管理内容¾项目管理两大体系前言项目管理是二十世纪50年代末期发展起来的一种计划管理方法。它一经出现就为全世界所瞩目。•1957年,美国杜邦公司用这种方法进行设备维修,使维修停工时间由原来的125小时锐减为78小时(效率提高近40%);•1958年,美国人运用项目管理技术,一举使北极星导弹设计周期缩短整整两年。•60年代以来,项目管理在航空、航天、医学、化工、制造、财务、广告、法律等领域得到了广泛的应用,并且范围还在不断地拓展。时至今日,项目管理技术已经在众多领域发挥着不可或缺的作用。前言■一些问题的思考项目为什么容易失败?为什么总是“死亡之旅”为什么想大逃亡,一走了之?项目经理是忙人,还是“盲人”?同类型的项目让不同的项目经理执行,为何结果迥异?前言■练习请以自己从事过的或了解的项目为背景,说明项目(IT或其他)有哪些常见的问题?要求:请至少列出10条项目与项目管理的概念■项目的定义项目是为生产某一独特产品或服务所做的一次性工作。用有限的资源、有限的时间为特定客户完成特定目标的一次性工作。项目与项目管理的概念■项目的特点■临时性1、项目有明确的开始和结束日期2、当达到项目的目标时即项目的结束日期;或项目被终止/取消的日期。3、项目所面临的市场机遇往往也是临时性的(没有企业愿意在2009年之后生产北京奥运的纪念品)4、项目组往往也是临时性的,当项目结束时,项目组也随之解散。项目与项目管理的概念■项目的特点■独特的产品或服务1、项目所产生的产品或服务是独一无二的(包括合同的签定人、位置等方面的信息)2、对于批量生产的商品(如电视机或空调)则不具备独特性3、重新铺设珠海人民西路的所有路面也可以看作一个独特的服务项目与项目管理的概念■练习请给出项目的例子项目与项目管理的概念■项目管理的概念■通过项目经理和项目组的努力,运用系统理论和方法对项目及其资源进行计划、组织、协调、控制,以实现项目的特定目标的方法■管理是通过计划、组织、控制和领导等环节来协调人力、物力和财力资源,以期更好地达成组织目标的过程■法约耳的管理五要素:计划、组织、指挥、协调、控制项目生命周期■项目阶段与项目生命周期正是因为项目的独特性,项目在执行过程中存在不确定性为了降低不确定性,以阶段的方式来执行项目项目生命周期是项目阶段的总和项目全生命周期的概念--不仅仅是交付,包括从立项一直到产品退出项目生命周期■项目阶段的特征项目阶段的标志通常为一个或多个交付物交付物的例子--可行性分析报告--系统概要设计报告--原型或样机--测试报告阶段之间的顺序关系是时间的先后关系项目生命周期■项目阶段的特征(续)在阶段结束时通常进行阶段评审阶段评审的目的--判断当前阶段是否满足结束标准并进入下一阶段--发现当前阶段存在的问题和错误阶段评审内容--当前阶段的交付物--当前阶段的项目执行情况项目生命周期■项目生命周期特征根据项目生命周期的特征制订项目计划起始阶段结束阶段中间阶段费用和人员的投入规模开始时间结束项目生命周期■几种典型的生命周期分析分析设计设计编程编程测试测试维护维护计划计划■瀑布模型项目生命周期■几种典型的生命周期■瀑布模型(续)瀑布模型的主要特点:--简单、易于理解;--要求严格的管理,包括周密的项目计划、明确的交付物、严格的质量控制手段(如阶段的评审)等;--客户在项目的后期才可以见到产品以及判断产品的质量;--强调产品的测试。瀑布模型具有如下缺点:--缺乏灵活性(要求“稳定的、明确定义的需求”,风险暴露滞后)--开发人员常常陷入“阻塞状态”,一部分成员不得不停下来等待别人把前头的工作干完。--对于要求快速开发的项目,瀑布模型可能导致过多的文档。--由于是线性单一流程,开发中的经验教训不能反馈应用于本产品的过程。项目生命周期■几种典型的生命周期■V字模型需求开发高层设计详细设计编码单元测试集成测试系统测试验收测试项目生命周期■几种典型的生命周期■快速原型获取、验证需求构造、修改原型用户验证原型¾在无法明确获取需求的情况下使用,主要目的是获取与验证需求。¾通常与其他模型结合使用,例如,可以先用快速原形模型确定用户真正的需求,然后采用瀑布模型进行正式的产品的开发。项目生命周期■几种典型的生命周期■增量模型分析分析设计设计编程编程测试测试交付1分析分析设计设计编程编程测试测试增量1增量2增量3交付3分析分析设计设计编程编程测试测试交付2时间¾增量模型由若干个开发序列组成,每个序列均采用瀑布模型来开发可以发行的增量。每产生一个增量相当于推出一个新版本。¾如果项目比较复杂,就把它分成若干个版本来开发。由此带来的好处有:--抗“变化”的能力比较强。--第一个“增量”实现后就可交付用户使用项目生命周期■几种典型的生命周期■增量模型(续)适用的软件项目:--熟悉问题领域(可以在开发初期将架构及需求稳定下来)。--项目团队有丰富的设计及开发经验。--增量式的功能发布对客户具有很高的价值。项目生命周期■几种典型的生命周期■螺旋模型(一种特殊的迭代)制定计划制定计划风险分析风险分析实施工程实施工程用户评估用户评估累计费用¾螺旋模型综合了瀑布模型、快速原型模型与风险分析,力求使风险降到最低。¾直角坐标系的4个象限分别代表四个活动:--制定计划:确定目标和约束条件,选择方案。--风险分析:评估方案,发现并消除风险。--实施工程:构造原型,开发产品。--用户评估:评估开发工作,提出改进建议。项目生命周期■几种典型的生命周期■迭代模型¾可以在生命周期早期强制性的确定项目中存在的风险。¾采用迭代的、增量式的开发过程。¾采用UML语言描述软件开发过程。项目生命周期■几种典型的生命周期■迭代模型(续)适合的软件项目:迭代和瀑布的最大的差别就在于风险的暴露时间上。“任何项目都会涉及到一定的风险。如果能在生命周期中尽早确保避免了风险,那么您的计划自然会更趋精确。有许多风险直到已准备集成系统时才被发现。不管开发团队经验如何,都绝不可能预知所有的风险。”--在生命周期的早期,这种方法可以及时地发现一些严重的需求理解错误,此时还可能修正这些错误。--允许并鼓励用户反馈信息,以明确系统的真实需求。--这种方法使开发小组重视项目中关键的问题,而屏蔽掉那些使他们远离项目真实风险的问题。--不断地迭代测试能够给出项目状况的客观评价--尽早地发现需求、设计和实现中的不一致。--在整个项目生命周期中更加平均地分配开发组的工作量,特别是测试小组的工作量。--开发组可以不断的在开发中进行学习从而改进过程。--在整个生命周期中,项目相关人员可以通过具体证据了解项目状况。需要强调的是,并不是企业应用迭代模型开发软件后就万无一失,如果对迭代模型本身缺乏严格的过程管理,生命周期模型很可能退化为一种原始的无计划的“试-错-改”的模式。项目生命周期与产品生命周期的关系经营计划日常经营研发构思项目生命期开始阶段最后阶段产品升级中间阶段产品生命期项目生命周期■练习--请举例说明生命周期如何对项目产生影响--如何选择生命周期项目干系人■项目干系人的定义会对项目产生影响的个人或组织以及项目结果会影响的个人或组织项目干系人更多地以利益驱动的方式来区分以利益驱动的方式来促成项目的成功项目干系人■项目干系人通常包括项目经理客户--客户与最终用户项目组成员出资人…项目干系人■取得项目干系人的支持与项目干系人沟通的重要性--例会或定期报告制度项目干系人之间利益折衷--项目干系人对项目往往存在不同的期望,且这些期望之间存在较大的差异--以客户为中心的原则组织结构对项目的影响■职能式组织结构类型■沟通渠道必须通过部门经理(为项目组成员)高层经理职能经理职能经理职能经理职员职员职员职员职员职员职员职员职员项目协调组织结构对项目的影响■职能式组织结构类型(续)■每个项目成员有一个明确的上司■成员根据工作职能的不同划分在不同的部门■部门的依赖关系较弱■不注重客户,人们强烈忠诚于自己的部门,而不是项目或客户;但减少了重复工作,有专业化的好处。■缺点:在变化快的情况下效率低(沟通渠道必须通过部门经理)。组织结构对项目的影响■项目式组织结构■以项目的方式来组织人员(为项目组成员)高层经理项目经理项目经理项目经理职员职员职员职员职员职员职员职员职员项目协调■优点:效率高,对客户高度负责。■缺点:---对项目经理依赖大---资源浪费严重---项目间缺乏知识信息交流组织结构对项目的影响■矩阵式组织结构(为项目组成员)高层经理职能经理职能经理职能经理职员职员项目经理职员职员职员职员职员职员项目协调■优点:--有利于充分利用技术部门的人力与物力--有利于员工的专业增长,扩展员工的知识面与眼界■缺点:--组织中存在“两个上级”系统,沟通复杂--双重评价系统与控制系统组织结构对项目的影响矩阵式组织结构项目特性职能式弱矩阵平衡矩阵强矩阵项目经理权限很少或没有有限少到中等中等到大很高,甚至全权可利用的资源很少或没有有限少到中等中等到多很高,甚至全部控制项目预算者职能经理职能经理职能经理与项目经理项目经理项目经理项目经理角色半职半职全职全职全职项目管理行政人员半职半职半职全职全职项目式项目管理过程■项目过程■项目管理过程--适用于绝大部分项目的管理过程,例如时间管理、质量管理、成本管理、沟通管理、风险管理等具有普遍的适用性■产品过程(工程类过程)--根据所适用的领域而有所差异如对软件开发而言主要是需求开发、设计、编码、测试等。项目管理过程■项目过程组■项目管理过程可以分为5个过程组1、启动过程--确定一个项目或某个阶段可以开始,并要求着手实行。2、计划过程--制定(或改进)计划,并且保持(或选择)一份有效的、可控制的计划安排,确保实现项目的既定目标。3、执行过程--协调人力和其他资源,并执行计划。4、控制(监控)过程--通过监督和检测过程确保项目目标的实现,必要时采取一些纠正措施和预防措施。5、收尾过程--取得项目或阶段的正式认可,并且有序地结束该项目或阶段。项目管理过程规划过程执行过程收尾过程启动过程项目依据项目发起人或赞助人项目可交付成果项目记录项目边界监控过程最终用户过程资产项目管理的九大管理内容项目管理的九大管理内容:--范围管理--风险管理--时间管理--沟通管理--成本管理--采购管理--质量管理--整体管理--人力资源管理项目管理目标范范围围人人时间成本质量同时考虑质量、时间、成本三个因素,三个目标经常存在冲突,项目经理的责任就是在三者之间保持平衡。项目管理实际案例分析■练习从国足2007亚洲杯失利看项目管理的重要性。要求:根据文章及你的感受列出国足在项目管理上存在的问题。项目系统管理的重要性项目系统管理的重要性项目管理包括九大知识领域的内容:范围管理、计划管理、成本管理、质量管理、人力资源管理、沟通管理、风险管理、采购管理和整体管理。如何将这些知识在项目实施过程中综合应用是项目能够成功的重要因素。现实世界是一个复杂的系统,乍看起来毫不相干的事物之间也许会互相紧密联系在一起。以往我们太偏向使用局部化,问题分割的方法来研究系统。系统思考就是从系统的、整体的角度去研究现实世界。中国有两句成语叫“城门失火,殃及池鱼”,“千里之堤,毁于蚁穴”,正是体现了系统思考的价值。我们的项目管理水平如何,公司的执行力如何,员工的流失率等等其实都是相互关联的。一个优秀的项目经理就是能够充分利用项目管理的知识,按时保质完成项目。项目系统管理的重要性序号影响项目的因素PMBOK中的知识领域1用户需求变化范围管理2计划和估计整体管理3风险应对措施风

1 / 151
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功