软件研发项目管理课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《软件研发项目管理课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 研发 项目 管理 课件
- 资源描述:
-
1、软件研发项目管理2013-2-20标题添加点击此处输入相关文本内容点击此处输入相关文本内容前言点击此处输入相关文本内容标题添加点击此处输入相关文本内容2研发项目管理基础1计划管理2需求管理3设计管理4开发管理5测试管理6目录配置管理7最佳实践83 基础管理 01 14总纲与规范六为法 需求必为准 团队必为本 计划必为纲 绩效必为证 质量必为出 变化必为形5总纲与规范七定法 兵马未动、合约先行(定需求)可行的做可行事(定技术方案)谋定而后动(定计划)专业的人做专业的事(定人员)沟通无止境、共识促发展(定共识)死亡之地不可不察也(定风险)应对随形、修道保法(定变更)6总纲与规范三出路 以正合(用人
2、之术,诸如选育用留)以曲制(规律之术,诸如过程方法)以奇胜(变化之术,诸如动静之理)7总纲与规范兵法 一曰道 目的 二曰天 制度 三曰地 需求 四曰将 专业角色 五曰法 过程8基础管理-过程管理过程的简单描述9基础管理-过程管理软件研发的分类和组成p软件基本过程:软件获取、供应、开发、运行和维护的过程,包括需求分析、软件设计、编码等过程。p软件支持过程:对软件主要过程提供支持的过程,包括文档编制过程、配置管理过程、质量保证过程、验证和确认过程(测试过程)、评审过程等。p软件组织过程:对软件主要过程和支持过程的组织保证过程,包括管理过程、基础设施过程、改进过程和培训过程。10基础管理-过程管理I
3、SO/IEC15504软件生存周期过程11基础管理-过程规范软件研发规范的建立p软件能力成熟度模型(CMM/CMMI)pIBM-Rtaional 统一过程(RUP)p极限编程(eXtreme Programming,XP)p微软软件框架(MSF)12基础管理-过程规范n瀑布模型n螺旋模型、增量模型、迭代模型nV模型 n并发过程模型n极限编程(XP)nIBM-Rational统一过程(RUP)软件研发模型13基础管理-过程规范不是好的东西都能用,适用的才是最好的!需要我们根据自己人员的水平、公司情况、业务状况综合确定适合自己的研发过程14基础管理14 计划管理 02 215计划管理软件研发的项目
4、管理有效的项目管理是在用来实现项目具体目标的规定时间内,对组织机构资源进行计划、引导和控制工作。项目管理知识指南16计划管理WBS:项目计划形成之前,最好先画WBS表(Work Breakdown Structure),主要原理是:将任务逐级分解直至个人,在矩阵中体现为:先确定横向有多少结点,再将每一结点任务逐渐细化直到个人,工作分解图(WBS)实际上就是将一个复杂的开发系统分层逐步细化为一个个工作任务单元,这样可以使我们将复杂、庞大的、不知如何下手的大系统划分成了一个个独立的我们能预测、计划和控制的单元,从而也就达到了对整个系统进行控制的目的。17WBS-工作分解结构1 项目范围规划 1.1
5、 确定项目范围 1.2 获得项目所需资金 1.3 定义预备资源 1.4 获得核心资源 1.5 项目范围规划完成2 分析/软件需求 2.1 行为需求分析 2.2 起草初步的软件规范 2.3 制定初步预算 2.4 工作组共同审阅软件规范/预算 2.5 根据反馈修改软件规范 2.6 确定交付期限 2.7 获得开展后续工作的批准(概念、期限和预算)2.8 获得所需资源 2.9 分析工作完成3 设计 3.1 审阅初步的软件规范 3.2 制定功能规范 3.3 根据功能规范开发原型 3.4 审阅功能规范 3.5 根据反馈修改功能规范 3.6 获得开展后续工作的批准 3.7 设计工作完成4 开发 4.1 审阅
6、功能规范 4.2 确定模块化/分层设计参数 4.3 分派任务给开发人员 4.4 编写代码 4.5 开发人员测试(初步调试)4.6 开发工作完毕 计划管理18计划管理创建WBS的基本法则l每个工作工作单元在WBS只能出现一次l概要任务是对其下所有任务的总结l每个WBS的条目都有单独的人员负责l与实际要做的工作情形保持一致l建立WBS时应让项目组员参予l每个WBS条目都应备案lWBS既要灵活又要不失控制19计划管理项目估算令人烦恼的项目估算:这个项目需要多长时间?这个模块大概多久完成?需要花费多少人力才能完成这个项目?项目的总成本大概为多少?20计划管理项目成本的组成1.项目成本的组成(1)直接成
7、本 人力成本 硬件设备 软件费用(2)间接成本 项目管理成本 一般管理成本21计划管理责任矩阵用距阵的形式列出对某项任务负责的人或资源。任务管理人员项目经理分析人员项目范围规划 1.1 确定项目范围A 1.2 获得项目所需资金A 1.3 定义预备资源A 1.4 获得核心资源A分析/软件需求 2.1 行为需求分析A 2.2 起草初步的软件规范A 2.3 制定初步预算A 2.4 工作组共同审阅软件规范/预算AP 2.5 根据反馈修改软件规范A 2.6 确定交付期限A 2.7 获得开展后续工作的批准AP 2.8 获得所需资源A22计划管理项目软硬件资源管理1.软件资源管理 操作系统 编译器 应用软件
8、 测试工具 2.硬件资源管理 服务器 PC 23计划管理10种常见的风险No.软件风险相应对策1人员不足录用优秀人才;人员应适应岗位需要;全面考虑团队建设;骨干人员工作要协调;实施培训;预先安排关键人员的使用计划2进度计划和预算不准确详细评估多种资源成本和进度;依成本进行设计;采用渐增式开发;软件复用;纯净需求3开发了错误的软件功能进行组织分析;实施任务分析;进行用户调查;开发原型;及早编制用户手册4开发了不适用的用户接口开发原型;制作脚本;作业分析;弄清了用户特征(功能性、风格、工作负荷)5只追求表面效果,需求中含有一些不必要的功能(镀金)纯净需求;开发原型;成本效益分析;依成本进行设计6需
9、求不断变更重大变更设限;信息隐蔽;渐进式开发7外供部件不足制定基准点;检验;参考基准检查;兼容性分析8外包任务问题参考基准检查;发包前审核;未发包合同;竞标设计或开发原型;建立团队9实时性能达不到要求模拟;制定基准;建模;开发原型;安装测量装置;调准10误解计算机科学能力技术分析;成本效益分析;开发原型;参考基准检查24计划管理项目跟踪和控制1.了解成员的工作情况2.调整工作安排,合理利用资源3.促进计划内容的完善4.促进项目经理对人员的认识5.促进对项目工作量的估计6.统计并了解项目总体进度7.有利于人员考核25计划管理现代软件研发项目管理路线图概览26计划管理项目预算与成本1、项目成本=直
10、接成本*2.5 直接成本为prj中的成本2、项目工期=基本工期+(悲观时间-乐观时间)/63、项目工期较长,可以分解为多个项目,每个项目不超过6个月,6个月内按两周做计划。4、任务分解一般两周:过粗不利分配工作,过细不利于人员的主动性.5、要识别任务关键路径,根据人员情况并行或串行。27计划管理WBS CHart28计划管理Chart EXPERT29计划管理关键路径实例-Microsoft project 30需求管理30 需求管理 03331需求管理软件研发的需求管理开发软件系统最为困难的部分就是准确说明开发什么。弗雷德里克布鲁克斯32需求管理软件需求工程 所有与需求直接相关的活动统称为需
11、求工程,需求工程分为了两个部分:需求开发和需求管理。其中,需求开发又分为了需求获取、需求分析、需求定义和需求验证4个部分,而需求管理则包含了变更控制、版本控制、需求跟踪和需求状态跟踪 软件需求包括三个不同的层次:业务需求、用户需求和功能需求(也包括非功能需求)。33需求管理软件需求工程l 业务需求(business requirement)反映了组织机构或客户对系统、产品的概括的目标要求,它在项目视图与范围文档中予以说明。主要的目的是对企业目前的业务流程进行评估,得出一个业务前景。业务需求的确定对后面的用户需求和功能需求起到了限制作用。l 用户需求(user requirement)文档描述了
12、用户使用系统而完成的任务的集合,用户需求在用户案例(user case)文档或方案脚本中予以说明。收集和分析用户需求是不容易的,因为很多需求是隐形的,很难获取,更难保证需求完整,而需求又是易变的,这就要求用户和开发人员进行充分地交流。l软件需求(fsoftware requirement)定义了开发人员必须实现的软件功能,它源于用户需求。功能需求是软件需求说明书中最重要的部分之一,它在开发、测试、质量保证、项目管理以及相关项目功能中都起了重要的作用。非功能需求描述了系统展现给用户的行为和执行的操作等,包括要遵从的业务规则、人机接口、安全性和可靠性等要求。34需求管理需求开发需求开发的目的是通过
13、调查与分析,获取用户需求并定义产品需求。获取数据分析、处理目标系统模型需求获取系统分析员从数据流和数据结构出发,找出系统各元素之间的联系、接口特征及设计限制、能否满足功能需求35需求管理需求获取的方法需求研讨会头脑风暴用例模型访谈角色扮演原型法36需求管理基于用例的需求获取执行者的识别l谁使用系统的主要功能?l谁将提供、使用和删除信息?l谁负责维护、管理并保持系统正常运行?l谁会对某一特定需求感兴趣?l系统的外部资源是什么?l系统需要和哪些外部系统交互?用例的识别l某个执行者要求系统为其提供什么功能?该执行者需要做哪些工作?l执行者需要阅读、创建、销毁、更新或存储系统中哪些(类)信息?l系统中
14、的事件一定要告之执行者吗?执行者需要告诉系统一些什么吗?那些系统内部的事件从功能的角度代表什么?l由于新功能的识别,执行者的日常工作被简化或效率提高了吗?l系统需要什么样的输入输出?输入在哪里?输出去往哪里?l该系统的当前情况存在哪些问题?37需求管理需求确认为什么需要需求评审?在哪个阶段发现成本率需求1设计3-6编码10功能测试15-40验收测试30-70发布之后40-1000修订一个缺陷的相关成本38基础管理需求跟踪需求的标识需求类型可以是:F=功能需求,D=数据需求,B=行为需求,I=接口需求;O=输出需求。例:需求标识为F03的需求表示编号为3的功能需求。39基础管理40设计管理40
15、设计管理 04 441设计管理架构开发方法42设计管理架构开发方法43设计管理架构开发方法44设计管理架构是软件的基石架构是软件的基础,一个良好的架构可以让软件有更长久的生命力,能发挥出更出色的性能;架构师要求对业务有深入的了解,这样才能让架构更符合软件的需要,更能发挥软件的特点。45设计管理46设计管理47设计管理48设计管理49开发管理 开发管理 05550开发管理1.开发开发的目的包括:对照开发子系统的分层结构定义代码结构;以构件(源文件、二进制文件、可执行文件以及其他文件等)的方式开发类和对象;对已开发的构件按单元来测试;将各开发员(或团队)完成的结果集成到可执行系统中。51开发管理2
16、.过程策略里程碑:最初操作性能最初操作性能里程碑确定产品是否已经可以部署到 Beta 测试环境。在最初操作性能里程碑,产品随时可以移交给产品化团队。此时,已开发了所有功能,并完成了所有 Alpha 测试(如果有测试)。除了软件之外,用户手册也已经完成,而且有对当前发布版的说明。评估标准该产品发布版是否足够稳定和成熟,可部署在用户群中?是否已准备好将产品发布到用户群?实际的资源耗费与计划的相比是否仍可以接受?如果项目无法达到该里程碑,产品化可能要推迟一个发布版。52开发管理最佳开发实践 新概念与最佳实践 可持续开发节奏 团队激励 障碍列表 持续集成 产品燃尽图 Sprint燃尽图53开发管理可持
17、续开发节奏的相关概念 可持续的开发节奏是一个开发团队可长期(可以认为是永久)保持的开发节奏 为了保持可持续的开发节奏,适当的休假可以让团队及时恢复精力。可持续的开发节奏并非禁止加班,但必须是偶然事件而非经常性事件54开发管理讨论 当项目进度对于完成当前的迭代目标面临压力时,作为Scrum Master,你会采取以下哪种方式?55开发管理Scrum Master要关注团队的健康 高强度的开发节奏如果超过了团队可承受的范围,必然影响团队的健康(包括心理和生理健康)。Scrum Master应该关注团队的健康状况。选择可持续的开发节奏,应该以团队能够感觉舒适地完成迭代目标为前提。56开发管理不可持续
18、开发节奏的影响57开发管理不可持续开发节奏的影响 Defect大量增加:持续加班状况下代码质量很难保证,必然导致defect数量增加。工作效率降低:研究表明,当人疲劳时工作效率将急剧下降。团队士气低下:长期的高强度工作必然使团队身心疲惫,士气低落。开始相互推诿责任:长期高负荷工作下,导致出现问题后开始相互埋怨。放弃探索最佳实践方法:磨刀不误砍柴工,最佳实践方法可以事半功倍。然而长期高强度工作会逐渐放弃花时间去“磨刀”。58开发管理障碍列表在敏捷项目管理中的意义 及时将团队的注意力引导向最重要的问题。集思广益。由团队成员一起讨论解决,而不是由传统意义上的项目经理独自来协调与分配。提高团队的自主性
19、。与风险管理结合,对即将或已经发生的风险采取积极的应对态度。59开发管理 团队激励60开发管理团队阶段回顾61开发管理什么是激励激励=活力+指引 +坚持62开发管理什么是团队讨论:一群个体与一个团队的区别 一群个体 避免交流与冲突 自我中心 低投入 被动工作 一个团队 彼此信任 有共同目标 开诚布公 互相帮助 有原则 有乐趣 团结 积极交流 倾向于解决问题63开发管理团队绩效曲线64开发管理开发 详细设计开发单元测试为专业开发开发时间 任务=2周=2月;这是一种健康节奏,不能经常加班。最佳开发实践 可持续开发节奏、团队激励、障碍列表、持续集成、产品燃尽图、Sprint燃尽图任务分配时间 分配任
20、务时按规划时间/1.2计算。如规划10天,10/1.2=8天,则安排8天完成,以保留时间贮备 在分配任务时1、以需求为主线(一个部分的需求、设计、开发、测试由一个人完成)2、以健康节奏(按120/100原则分配,具体因人而异3、任务分配在两周之内4、版本控制在两个月内5、行动之前落实承诺 开发主管在分配任务时1、选:胜任力2、定:定好目标,获得承诺3、育:培训4、用:定好绩效(工作节奏)5、留:奖惩(按绩效)总结65测试管理 测试管理 06666测试管理 测试测试的目的在于:核实对象之间的交互。核实软件的所有构件是否正确集成。核实所有需求是否已经正确实施。确定缺陷并确保在部署软件之前将缺陷解决
展开阅读全文