《软件开发的项目管理 上.ppt》由会员分享,可在线阅读,更多相关《软件开发的项目管理 上.ppt(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、软件开发的项目管理微软 操作系统部署团队项目经理 栾跃Bill Luan Bill LuanProgram Manager Program ManagerWindows Deployment Windows DeploymentMicrosoft Corporation Microsoft Corporation(上)讲题目录w 引言:学习项目管理的重要性w 项目管理理论的介绍 w项目的领域知识w项目的流程和管理w 问答引言:学习项目管理的重要性w 软件开发的历史及其独特性w w软件开发是科学还是艺术?软件开发是科学还是艺术?w w软件开发是否仅靠天才编程序的人员?软件开发是否仅靠天才编程序的
2、人员?w 软件技术和市场的高速发展所带来的影响 w w软件复杂性的增长使得多人合作成为必须的软件复杂性的增长使得多人合作成为必须的 w w大型系统对领域知识的要求引发团队式开发模式大型系统对领域知识的要求引发团队式开发模式 w w商业的模式要求开发过程必须能重复商业的模式要求开发过程必须能重复 w w市场的迅猛发展逼迫各企业利用各种水平的开发市场的迅猛发展逼迫各企业利用各种水平的开发人员人员 w所有这些因素促使软件和信息行业w 放弃对少数天才的依赖和寄托 w 放弃对软件开发是神秘艺术的理论的追随w 注重于推广和执行一套可重复的开发流程作业、及相应的规章制度w 注重于使用专业的项目管理人才进行管
3、理w 注重于开发团队的培养和建设,及对开发人员的训练和调动积极性 引言:学习项目管理的重要性w 提高软件开发成功效率的关键 w 把软件开发和其它工程项目一样对待w 注意软件开发流程的规律和特性 w 免除随机性和任意性、建立运作的重复性w 运用项目管理的理论和知识w 运用项目管理人员进行专人管理w 注重整个组织的效率和员工的培养 引言:学习项目管理的重要性w缺乏完善的项目管理会带来的结果 u u 开发项目拖延-无法按时完成交货 u u 开发出的产品或系统无法满足客户所有要求u u 开发的结果有很多质量问题而导致客户不满u u 虽然产品做出来了,但是整个项目严重超支、甚至造成公司赔钱u u 由于计
4、划安排的错失造成完成日的延迟,导致用要求团队成员用加班加点的方法来设法补救延迟的交货日引言:学习项目管理的重要性w项目的成功是企业成功的基础u u软件项目发生差错的机率比其它项目更大u u没有任何一个企业可以承受和容忍连续发生的开发项目失败的恶性结果u u掌握好有效的项目管理的本领、培养一批能管理大型复杂的开发项目的管理骨干,是任何一个企业领导班子必须追逐的目标u u归根到底,这是一个高科技企业赖以生存的重要因素和本领!引言:学习项目管理的重要性讲题目录w 引言:学习项目管理的重要性w 项目管理理论的介绍 w项目的领域知识w项目的流程和管理w 问答项目的定义 项目管理理论的介绍一个项目指的是一
5、个有目的、有计划、有始有终的、按照预先设定好的进程和步骤渐进的、为完成特定任务而进行的工作和活动。一个项目需要特定的人力、物力、时间、和费用的安排与分配。一个项目的结果有特定需要满足的功能和质量的要求。软件开发项目的定义一个软件开发项目指的是一个有具体的市场需要和客户要求为目的的、有开发计划、有始有终的、按照预先设定好的开发进程和步骤渐进的、为完成一个软件产品或系统的制造而进行的工作和活动。一个软件开发项目需要特定的人力、物力、时间、和费用的安排与分配。软件开发项目的结果需要有特定需要满足的运行、使用功能、及质量的要求。项目管理理论的介绍项目管理理论的介绍项目管理的历史简介 u u 古人建造的
6、各种大型工程 u u 现代项目管理历史大约可分四个阶段:u u十九世纪的早期十九世纪的早期-现代化工业管理的萌芽,u u二十世纪中期之前的发展二十世纪中期之前的发展-将生产的劳动分成具将生产的劳动分成具体的细节部分来提高效率的理论体的细节部分来提高效率的理论 u u二十世纪中期以后二十世纪中期以后-PERTPERT图表;图表;企业的运作像一个人体的有机机制和运作系统的理论的理论 u u二十世纪末至今:二十世纪末至今:项目管理的实践加进了使用项目管理的实践加进了使用计算机和作为管理工具的实践计算机和作为管理工具的实践u u Project Management Institute Project
7、 Management Institute(PMI)(PMI),PMBOK PMBOK Guide Guide 项目管理的定义w PMI 对项目管理的定义作了如下的解释:Project management is the application of knowledge,Project management is the application of knowledge,skills,tools,and techniques to project activities in skills,tools,and techniques to project activities in order t
8、o meet project requirement order to meet project requirement(1)项目管理是为了完成一个项目的需求和目的,将所项目管理是为了完成一个项目的需求和目的,将所相应的知识、技术、工具、及技巧应用到该项目的相应的知识、技术、工具、及技巧应用到该项目的具体事务中去的工作具体事务中去的工作1 PMI:PMBOK Guide 2000 项目管理理论的介绍软件开发项目管理的定义项目管理是为了完成一个项目的需求和目的所进行的管理工作。它应由专门的项目管理人员来负责,使用必要的知识、技术、工具等将项目管理的九个领域的知识对整个项目的五个阶段的流程运作进行
9、管理来达到项目的最终目的。项目管理人员不仅要完成项目预定的范围、时间、费用、和质量的目标,他们还必须建立并充分利用与五个流程相对应的规章制度来促进项目的顺利进展、满足所有项目参与者的期望和他们的工作要求。项目管理理论的介绍项目管理的九个领域性知识u u项目综合的管理项目综合的管理(Project Integration Management)(Project Integration Management)u u项目范围的管理项目范围的管理(Scope Management)(Scope Management)u u项目时间的管理项目时间的管理(Time Management)(Time Man
10、agement)u u项目费用的管理项目费用的管理(Cost Management)(Cost Management)u u项目质量的管理项目质量的管理(Quality Management)(Quality Management)u u项目人才资源的管理项目人才资源的管理(Human Resource Management)(Human Resource Management)u u项目信息交流的管理项目信息交流的管理(Communication Management)(Communication Management)u u项目风险的管理项目风险的管理(Risk Management)(R
11、isk Management)u u项目外包的管理项目外包的管理(Procurement Management)(Procurement Management)参见 Schwalbe,Project Management 2002 项目管理理论的介绍项目管理的领域性知识的关系时间管理人才资源管理 风险管理 招标赢标管理 交流管理费用管理范围管理质量管理综合管理 项目管理理论的介绍项目的范围管理u u项目的范围(Scope Scope):为完成特定的任务或指标要做的所有工作 u u项目的起动管理:项目的起动管理:撰写项目撰写项目意向总结意向总结(Project Charter)u u 确定用户要
12、求,制定功能范围,评估项目的资源和时间的需 确定用户要求,制定功能范围,评估项目的资源和时间的需要 要u u项目目标和范围的规划及审核:项目目标和范围的规划及审核:需求管理需求管理-制定产品功制定产品功能范围,撰写功能总结和能范围,撰写功能总结和设计规范书设计规范书u u 确定软件设计的需求:使用者需求,功能需求,系统需求,确定软件设计的需求:使用者需求,功能需求,系统需求,性能需求,质量需求,及开发局限 性能需求,质量需求,及开发局限u u项目范围变化的控制管理项目范围变化的控制管理:制定项目目标改变的要求制定项目目标改变的要求进行管理和控制的运作规章制度,又叫项目的进行管理和控制的运作规章
13、制度,又叫项目的更改控制更改控制(Change Control Change Control)项目管理理论的介绍项目意向总结的模版(1)(1)项目管理理论的介绍章节 章节 段落 段落 概述的内容 概述的内容前言梗概 前言梗概l l 文件的目的 文件的目的 l l 软件产品或系统的介绍 软件产品或系统的介绍l l 概述所需要开发的软件,它所提供 概述所需要开发的软件,它所提供的服务价值 的服务价值 软件的概述 软件的概述l l 阐述软件的种类 阐述软件的种类l l 标示项目的种类 标示项目的种类l l 阐述软件的应用范围 阐述软件的应用范围 l l 是软件横向产品还是纵向系统?是软件横向产品还是
14、纵向系统?l l 是全新开发还是增加功能?是全新开发还是增加功能?l l 应用的目的和解决的问题 应用的目的和解决的问题其它参考文件 其它参考文件l l 其它有关的项目文件 其它有关的项目文件 l l 列出文件的名称、版本、发行日期、列出文件的名称、版本、发行日期、作者、取得方法等 作者、取得方法等 用户 用户l l 预期的使用客户 预期的使用客户l l 用户所面对的问题 用户所面对的问题l l 用户的特征 用户的特征 l l 用户的关键期望 用户的关键期望 l l 用户的鉴别 用户的鉴别 谁、种类 谁、种类l l 软件所能和不能解决的问题 软件所能和不能解决的问题 l l 使用者的技术程度、
15、培训需要、操 使用者的技术程度、培训需要、操作责任 作责任l l 用户对软件功能和性能的期望 用户对软件功能和性能的期望运行环境 运行环境 l l 运行的特点 运行的特点l l 运行的环境局限性 运行的环境局限性l l 软件在运用中的使用人数、周期 软件在运用中的使用人数、周期l l 任何运行环境的特别要求 任何运行环境的特别要求项目意向总结的模版(2)(2)项目管理理论的介绍章节 章节 段落 段落 概述的内容 概述的内容竞争者分析 竞争者分析l l 现有产品的分析 现有产品的分析l l 现有或可能的竞争者 现有或可能的竞争者l l 用户认可的其它问题解 用户认可的其它问题解决手段 决手段 l
16、 l 现有产品的能力和局限的分析 现有产品的能力和局限的分析l l 竞争产品的能力和局限的总结、进 竞争产品的能力和局限的总结、进入现有市场的门槛(如经济、技术 入现有市场的门槛(如经济、技术难度)难度)开发的产品或 开发的产品或系统的概述 系统的概述 l l 软件的体系构架 软件的体系构架l l 与其它外部系统的连接 与其它外部系统的连接l l 产品的市场位置 产品的市场位置l l 软件的能力 软件的能力 提供的益处与能力 提供的益处与能力 相对应的功能 相对应的功能 l l 叙述总体构架及各分部结构 叙述总体构架及各分部结构 l l 软件是独立的还是系统的一部分 软件是独立的还是系统的一部
17、分l l 各接口的要求 各接口的要求 l l 叙述产品的市场位置 叙述产品的市场位置 为谁造、谁会用、产品的种类、为 为谁造、谁会用、产品的种类、为用户或市场带来的好处 用户或市场带来的好处假设和依赖项 假设和依赖项 l l 假设和依赖 假设和依赖l l 假设改变对项目的影响 假设改变对项目的影响l l 各种对技术、资源、市场的假设 各种对技术、资源、市场的假设l l 对各种外部技术的依赖 对各种外部技术的依赖风险 风险 l l 对风险的分析和总结 对风险的分析和总结 l l 可能出现的风险 可能出现的风险l l 对应措施和手段 对应措施和手段 软件项目需求管理的指南u 功能需求总结是受多方面
18、因素影响的项目管理理论的介绍软件设计规范书撰写的指南uu设计规范书(Design Specification)(Design Specification)是什么?u u 设计构划书是描写软件产品或系统具体功能特性和设计方案的文件u u 它是整个产品或系统的蓝图-开发设计和测试计划都以次为基础进一步撰写u u 它由设计项目经理负责撰写,组织核审,并根据开发过程中的由编程设计改动作随时的订正,使文件中的设计与具体的编程随时保证同步.软件开发项目管理的指南软件设计规范书撰写的纲领模版u u 项目梗概或总结 项目梗概或总结u u 版本修改历史 版本修改历史u u 项目的目的、理由、负责人、开发资源、客
19、户、外围支援团队、其它文件,项目的目的、理由、负责人、开发资源、客户、外围支援团队、其它文件,u u 风险总结、依赖因素 风险总结、依赖因素(外部团队、技术 外部团队、技术)u u 开发计划 开发计划u u 具体项目工作的时间表、资源安排、合格的规格的衡量标准、所期望的外部 具体项目工作的时间表、资源安排、合格的规格的衡量标准、所期望的外部团队或其它依赖因素的完成时间表 团队或其它依赖因素的完成时间表 u u 用户使用方案总结 用户使用方案总结u u 重要的应用使用方案的描述 重要的应用使用方案的描述u u 功能需求总结 功能需求总结 u u 商务需求、商务需求、使用者需求、使用者需求、系统需
20、求、性能需求 系统需求、性能需求、质量需求、非功能需求、开发局限、质量需求、非功能需求、开发局限 u u 具体功能设计 具体功能设计u u 使用界面的设计、各输入输出控制键的使用方法和反馈行为的描述、测试要求 使用界面的设计、各输入输出控制键的使用方法和反馈行为的描述、测试要求u u 未解决的设计问题 未解决的设计问题软件开发项目管理的指南软件开发项目管理的指南软件设计规范书示例-用图示来解释设计及使用 软件开发项目管理的指南软件设计规范书示例-用图示来解释设计及使用 软件开发项目管理的指南微软的软件开发的更改控制管理流程微软的软件开发的更改控制管理流程 项目的时间管理u u项目的时间管理指的
21、是为保证一个项目能按时完成的有项目的时间管理指的是为保证一个项目能按时完成的有关运作规章制度及措施关运作规章制度及措施 u u 决定和安排工作的顺序:决定和安排工作的顺序:制定项目具体工作的先后顺序 制定项目具体工作的先后顺序 u u 制定时间表:制定时间表:对具体工作的时间的估算 对具体工作的时间的估算u u 对时间表改动的控制管理:对时间表改动的控制管理:制定时间表控制的规章制度 制定时间表控制的规章制度u u时间管理的技巧和指南时间管理的技巧和指南u u逐渐建立开发历史的档案逐渐建立开发历史的档案(Benchmark method Benchmark method)u u让开发团队的成员
22、亲自作开发周期和时间的估计让开发团队的成员亲自作开发周期和时间的估计u u将各个工作分成短期性的分支性的工作将各个工作分成短期性的分支性的工作 u u采用概率值采用概率值(Stochastic Approach Stochastic Approach)作作估算估算 d=(a+4m+b)/6 d=(a+4m+b)/6(a-(a-最佳 最佳,m,m 最可能 最可能,b,b 最坏 最坏)项目管理理论的介绍项目的费用管理u u项目的费用管理(Cost Management Cost Management)指的是如何做到在既定的开支预算之内完成一个项目的任务 u u资源的分配和计划安排资源的分配和计划安
23、排 u u对每一个具体的工作做出资源的分配和计划安排,对每一个具体的工作做出资源的分配和计划安排,包括多少人来做、用什么设备和材料来完成包括多少人来做、用什么设备和材料来完成 u u费用的估算和开支预算费用的估算和开支预算 u u人力费用人力费用=项目累积时间项目累积时间 x x 每天的人工费用每天的人工费用 u u总费用总费用=人力费用人力费用+设备费用设备费用+运行费用运行费用 u u开支的控制管理开支的控制管理 u u制定怎样对可能出现的费用的改变和超支进行管理制定怎样对可能出现的费用的改变和超支进行管理和控制的运作规章制度和控制的运作规章制度 项目管理理论的介绍项目的质量管理u u项目
24、的质量管理(Quality Control Quality Control Management Management)指的是如何保证项目结果的质量u u开发过程的监督开发过程的监督:执行监督和审核制度及流程管理执行监督和审核制度及流程管理 u u注意质量标准的互相对立和制约因素:注意质量标准的互相对立和制约因素:如对稳定性的如对稳定性的要求影响到效率性、安全性影响到可测性,等等要求影响到效率性、安全性影响到可测性,等等u u测试计划的制定和执行测试计划的制定和执行:每一个开发的功能要有一套每一个开发的功能要有一套测试方案。测试计划测试方案。测试计划(Test Plan(Test Plan 或
25、或 Quality Quality Assurance Assurance Plan,QA Plan)Plan,QA Plan)由测试团队来制定和执行由测试团队来制定和执行u u产品的最终的质量保证:产品的最终的质量保证:事先制定产品合格的衡量标事先制定产品合格的衡量标准准(Exit Criteria)(Exit Criteria)项目管理理论的介绍项目管理的领域性知识的关系时间管理人才资源管理 风险管理 招标赢标管理 交流管理费用管理范围管理质量管理综合管理 项目管理理论的介绍项目的人才资源管理u u项目的人才资源管理(People&People&Team Team Management M
26、anagement)指的是开发团队的建设和管理 u u对优秀人才的吸引和聘用对优秀人才的吸引和聘用 u u怎样去吸引优秀的人才、怎样用一套面试的方法在怎样去吸引优秀的人才、怎样用一套面试的方法在众多的应征者中挑出你所需要的人才众多的应征者中挑出你所需要的人才 u u对团队成员的培育对团队成员的培育 u u培养和训练、及不断地为你的团队成员创造一个他培养和训练、及不断地为你的团队成员创造一个他们能不断学习和长进的环境和条件们能不断学习和长进的环境和条件 u u建立高效率的开发组织建立高效率的开发组织u u建立一套完整的开发操作规程建立一套完整的开发操作规程、鼓励团队文化、鼓励团队文化项目管理理论的介绍