软件项目开发管理(北京东方瑞威科技发展有限公司).ppt

上传人:土8路 文档编号:11849989 上传时间:2021-09-26 格式:PPT 页数:72 大小:2.38MB
返回 下载 相关 举报
软件项目开发管理(北京东方瑞威科技发展有限公司).ppt_第1页
第1页 / 共72页
软件项目开发管理(北京东方瑞威科技发展有限公司).ppt_第2页
第2页 / 共72页
软件项目开发管理(北京东方瑞威科技发展有限公司).ppt_第3页
第3页 / 共72页
软件项目开发管理(北京东方瑞威科技发展有限公司).ppt_第4页
第4页 / 共72页
软件项目开发管理(北京东方瑞威科技发展有限公司).ppt_第5页
第5页 / 共72页
点击查看更多>>
资源描述

《软件项目开发管理(北京东方瑞威科技发展有限公司).ppt》由会员分享,可在线阅读,更多相关《软件项目开发管理(北京东方瑞威科技发展有限公司).ppt(72页珍藏版)》请在三一文库上搜索。

1、软件项目开发管理(北京东方瑞威科技发展有限公司),陈 志 成 2007.03.24,计算机软件培训讲座,讲座内容,一、项目管理相关概念 二、软件项目管理系统 三、项目管理层次结构 四、研发部的建设方面,一、项目管理的相关概念,1.1 什么是项目?,根据美国项目管理协会(PMI)的定义:项目是为完成某一独特的产品或服务所做的一次性努力。从根本上说,项目就是一系列的相关工作。 项目管理是20世纪40年代以后迅速发展起来的一门科学,是现代管理学中的一个重要分支。 中国项目管理研究委员会对项目的定义是:项目是一个特殊的将被完成的有限任务。它是在一定时间内,满足一系列特定目标的多项相关工作的总称。根据这

2、个定义,项目实际包含3层含义: (1) 项目是一项有待完成的任务,有特定的环境和要求; (2) 在一定的组织机构内,利用有限资源(人力、物力、财力等),在规定的时间内(指项目有明确的开始时间和结束时间)为特定客户完成特定目标的阶段性任务; (3) 任务要满足一定性能、质量、数量、技术指标等要求。,项目的基本特征:,项目的独特性。 项目的一次性。 项目的组织性。 项目的生命期。 项目的资源消耗性。 项目的目标冲突性。 项目后果的不确定性。,1.2 什么是项目管理?,按PMI的定义:项目管理就是“在项目活动中运用一系列的知识、技能、工具和技术,以满足或超过相关利益者对项目的要求”。 中国项目管理研

3、究委员会对项目管理总结为:“项目管理”一词具有两种不同的含义,其一是指一种管理活动;其二是指一种管理学科,前者是一种客观的实践活动,后者是前者的理论总结;前者以后者为指导,后者以前者为基础。 项目管理贯穿整个项目的生命期,是对项目的全过程管理。,项目管理的特点:,项目管理的对象是项目。 系统工程思想贯穿项目管理的全过程。 项目管理的组织:具有一定的特殊性。 项目管理的体制是基于团队管理的个人负责制,项目经理是整个项目组中协调、控制的关键。 项目管理的要点是创造和保持一个使项目顺利进行的环境,使置身于这个环境的人们能在集体中协调工作以完成预定的目标。 项目管理的方法、工具和技术手段具有先进性。,

4、1.3 项目管理的基本内容,PMI编写的项目管理知识体系将项目管理划分为9个知识领域:范围管理、时间管理、成本管理、质量管理、人力资源管理、沟通管理、采购管理、风险管理和综合管理。 而中国项目管理研究委员会则将项目管理的内容概括为2个层次、4个阶段、5个过程、9大知识领域、42个要素及多个主体。,项目管理基本内容,项目管理的基本内容,1. 项目综合管理项目 其包括3个基本的子过程:制订项目计划;项目计划执行;综合变更控制。 2项目范围管理 PMBOK将其分成5个阶段:启动;范围计划;范围界定;范围核实;范围变更控制。 3项目时间管理 PMBOK提出,项目时间管理由下述5项任务组成:活动定义;活

5、动排序;活动时间估计;项目进度编制;项目进度控制。 4项目成本管理 包括以下4个过程:制订资源计划;成本估计;成本预算;成本控制。 5项目质量管理 主要包括以下4个过程:质量规划;质量控制;质量保证;全面质量管理。,项目管理的基本内容,6项目人力资源管理 包括如下几个主要的过程:人力资源规划; 招聘与解聘; 筛选; 定向; 培训; 绩效评估; 职业发展; 团队建设。 7项目风险管理 PMBOK将其归纳为4个主要过程:风险识别;风险估计;风险应对计划;风险控制。 8项目沟通管理 包括如下一些基本的过程:编制沟通计划;信息传递;绩效报告;管理收尾。 9项目采购管理 主要包括:编制采购计划;编制询价

6、计划;询价;选择供应商;合同管理;合同收尾。,1.4 项目管理的成功因素,范围(Scope) 时间(Time) 成本(Cost) 质量(Quality),1.5 软件项目管理的特点:,软件项目将限制在以软件开发、集成和实施为主要目的的项目范围内。 软件项目具有自己非常明显的特点:阶段性(紧迫性)、独特性和不确定性。 软件项目管理和其他项目管理相比,具有很大的独特性: 生产无形的产品生产无形的产品 过程没有明显的划分 大都是“一次性”的人力消耗型项目,1.6 软件项目管理的主要活动,软件项目管理主要的活动包括: l 编写项目建议书 l项目成本的度量 l项目计划和进度安排 l项目监控和复审 l人员

7、选择和评估 l项目报告的准备和发布,软件项目开发阶段,1.7 软件项目的组织结构,软件项目的组织结构 项目经理 产品项目组 主程序员组 程序员的工作效率,软件项目的组织结构,1.8 程序员的工作效率,项目经理的基本职责可以归纳为领导项目的计划、组织和控制工作,以实现项目的目标,即项目经理领导项目团队完成项目目标,项目经理需要协调各个团队成员的活动,使这些成员成为一个和谐的整体,履行各自的工作。 在软件项目中对工作效率的度量主要是采取间接测量的方法。几种常用的间接测量方法有: l每人月代码行(LOC) l 每人月编的目标指令(OI) l 每人月写的文档页数(POD) l 每人月测试和执行的错误数

8、(T&E),1.9 软件项目开发周期,总开发时间包括分析和设计时间、编码时间、测试时间和编写文档的时间,其中编码时间只是其中的一部分,关系如图。,1.10 软件项目开发模型,瀑布模型 原型模型 螺旋模型,软件项目开发模型,(1) 瀑布模型: 是美国Winston Royce向IEEE WESCON(Royce, Winston 1970)提交的一篇名为管理大规模软件系统的开发的论文中首次提出的。 由于这种方法是从一个阶段成瀑布流入下一个阶段,所以这个模型就称为“瀑布模型”。 瀑布模型有很多的变化,包括以下的阶段: 需求分析与定义, 系统设计与软件设计, 系统实施与单元测试, 系统集成与系统测试

9、, 系统运行与系统维护。,瀑布模型:,软件项目开发模型,(2) 原型模型(Prototype): l直观、形象,更多地遵循了人们认识事物的规律,因而更容易被人们接受。 l采用模拟的手段,缩短了用户和系统分析、设计人员之间的距离。 l在整个系统开发过程中反馈是及时的,标准是统一的,可及时地暴露问题,确保系统实现的正确性。 l充分利用了新一代的软件工具,使得系统开发和运行的效率都大大提高。,原型模型的基本过程,软件项目开发模型:(3) 螺旋模型,二、软件项目管理系统,2.1 项目管理系统的必要性,(1) 项目管理系统用于进行工作的派分,执行情况的跟踪,效果的监控,对项目的整个实施过程的进行管理。执

10、行中可以及时报告工作的进展情况和帮助公司的管理和决策人员对资源进行合理分配。 (2) 通过对软件工程项目的管理,可以避免软件公司因为人员的流动对公司造成的巨大损失。同时因为管理系统记录了项目的详细过程信息,也为项目以后的升级和完善提供了宝贵的可供查询的第一手资料。 (3) 软件项目管理系统的价值体现在: 增加项目进度可控性,降低项目风险 提供绩效考核和项目任务分派的依据 以电子PM协助人工PM,(注:PM指项目管理) 公司领导层对所有项目情况可即时掌控 领先的配置管理,提高软件质量,项目管理系统的介绍,声明: 目前公司软件存在部分问题是由于技术原因导致的,但是也有部分问题是由于软件管理、版本混

11、乱引起的。 以我开发项目的经历为例进行说明,采用的项目管理模式基本上类似与微软的模式,但没有他们那样强大。 介绍项目管理系统,并不意味着大家一定也要开发这样一个系统,根据公司情况进行辨证吸收、适当借鉴、灵活运用到管理中去。 由于人工管理的“灵活性、难于统计”,所以利用管理系统来进行管理更为客观、重要的便于统计、查询进展状态。,2.2 软件项目管理系统界面,软件项目的自动日测试报表,重点项目需要建设网站,2.3 项目管理系统的功能特征,预警功能系统监控 系统每日自动进行预警试算,及时发现项目执行过程中的问题,加强项目执行过程的监控。 预警项的值用户可以定制,具体内容的内容包括: 任务进度比时间进

12、度慢 任务超时 添加记录不及时 审核处理时间超期 工作饱和度超差 工作确认不及时 任务超过开始时间未执行 任务分解工作分解,责任到人,项目管理系统的功能特征,(2) 项目人员组织结构灵活的人力资源配置 兼容职能型人力资源结构和项目型人力资源结构特征,符合矩阵型人员组织结构特征。 (3) 互审机制共同认可 项目和任务都有两个重要的角色:负责角色和管理角色 项目中:项目主管(负责角色),直属领导(管理角色) 任务中:任务负责人(负责角色),任务管理者(管理角色) 系统中的所有工作的分配,执行过程的变更和最后完成,都需要两个角色(执行角色和管理角色)互相审核,双方同意。,项目管理系统的功能特征,(4

13、) 与CVS有机结合与源代码管理无缝结合 记录用户Checkin到CVS源代码文件,可以查看这些文件的历史,下载,并可以对比不同版本文件的差别。 (5) 项目文档管理 项目和任务的管理重视文档的管理,文档作为工作的输入,并要求输出文档(完成的要求)。并可以进行文档查询和输出文档的汇总。 (6) 关键路径计算标识项目实施过程中的风险 计划的关键路径在执行过程中会发生变化,可能一个很小的任务不在关键路径上,但在实施过程中,此任务严重滞后,就可能变成关键路径。本系统在项目的执行过程,动态绘出项目的关键路径,提示项目主管注意关键路径上的任务。,项目管理系统的功能特征,(7) 模板功能借鉴专家知识,简化

14、任务分解 项目模板,一个可以直接复制的任务分解结构图,可以: 标准化项目过程执行 借鉴专家经验,为任务分解提供参考,为项目划分提供指导 授权功能临时转交自己负责的工作 通过功能将自己负责或者管理的任务临时转给其它人。对于临时请假和出差的用户非常方便,避免了一些工作因为本人不在而导致不能及时处理。,项目管理系统的功能特征,(8) 项目试算功能可以提前预知变化对项目实施产生的影响 根据用户对任务(可以多个)几个参数值的变更,计算出此变更对整个项目的影响。 根据计划开始时间,计划完成时间,每日投入,完成进度,当前时间动态计算给出此次更改对项目和其它任务产生的影响。 (9) 与Email系统结合并记录

15、用户操作日志 系统的每个操作会实时发送Email通告相关人员,同时将用户的操作记录保存成日志。此功能的使用还可以灵活配置。,三、项目管理的层次结构,3.1 项目的体系结构,项目的体系结构为树型结构,包括 项目、阶段、任务 三层: 第一层:项目(信息类别包括:基本,文档,人员,预警) 第二层:阶段(或模块) (隶属于项目) 有时序关系的称为“阶段”,如是功能结构上的划分,称为“模块”。阶段和模块同属于一个层次,本文暂时以阶段为例进行说明。 第三层:任务(隶属于阶段或模块) 其中:任务层的任务可以无限层次划分。,各层次的概念,(1) 项目概念 项目是项目管理系统中最大的管理单元,一般是具有特定目的

16、的工程,主要指一个成型(整体)的软件产品。 (2) 阶段概念 阶段体现了我们在做一个项目的时候里程碑的概念。阶段必须在项目下,由项目主管负责创建,项目较大的项目一般有多个阶段,个别小项目可以没有阶段。 模块属性 模块是按照软件产品的结构、功能模块对项目进行细分,以便按照模块化的思想设计和生产软件产品。模块应该是有完整界面(接口)、提供一组完整,并且相关的功能的程序。每个模块都会从属于相应的项目。 (3) 任务概念 任务是项目系统最基本的工作单位和执行单位,每个人的工作是通过他本人负责的任务来体现的。,项目的层次结构,人员结构,项目的人员结构如下图所示,主要包括:项目主管,直属领导,相关领导,多

17、个工作组(组长,组员),文档结构,项目的文档分三个部分: (1) 设计文档:关于项目的设计与实现思路方法、详细过程。 (2) 参考文档:同类项目的已有参考文献。 (3) 验收文档:项目的完成情况验收情况 其中,设计文档和参考文档作为项目的输入信息(做什么,如何做),验收文档为项目的输出,是必须提交文档。,项目预警,每个项目都有自己的预警配置,配置项目包括: 任务进度比时间进度慢 任务超时 添加记录不及时 审核处理时间超期 任务超过开始时间未执行 当系统执行过程中发生了进度等偏差会及时通报给相关人员,预警方式采用的是项目线和人事线双层预警,如下图所示,当满足某个条件就会预警并且会逐步升级。,项目

18、预警,3.2 项目的属性,项目的执行流程,3.3 阶段的属性,模块的属性,阶段的执行流程,3.4 任务的属性,任务的执行流程,3.5 项目管理系统页面:项目添加,项目管理系统页面:项目查询,项目管理系统页面:任务查询,项目管理系统页面:项目文档查询,3.6 项目管理系统的配置管理,权限配置 在项目管理过程中,我们要突出两个方面的权限管理: (1) 不同角色的人员具有不同权限。 (2) 对任何人员,在他的权利之下,提供必要的自定义、可配置选项。 对于项目信息的变更事件,相关人员可以配置是否保存日志和发送邮件,如果选择,则当有相关事件发生时,系统会自动发送邮件到相关人员。 预警设置 在项目管理过程

19、中,一个重要的功能是项目预警,用户可以进行相关配置。 (1) 您可以关闭或开启预警开关。 (2) 系统可以自动,用户也可以设置参数后进行手动预警。 (3) 有预警信息时,系统会向用户发送预警信息。,项目管理系统的配置管理:事件配置,项目管理系统的配置管理:预警参数,3.7 记录、记录分类,记录是软件开发过程中的重要环节,记录分为三种类别: Checkin记录、BugFix记录、一般记录。 (1) Checkin记录 用于对于源代码的Checkin修改做记录,并自动发送邮件给相关人员。 (2) BugFix记录 用于对软件程序中的Bug修改做记录,并自动发送邮件给相关人员。 (3) 一般记录 一

20、般记录包括:普通记录、会议记录、设计报告记录。 一般记录的格式可以只是文本,也可以包含图表,链接,图片等。 不同类别的记录有着专门的格式,其内容包括相关的人员、事件(操作)、时间、地点等。,3.8 周报告,周报告主要用于工作者在每周的最后一个工作日提交本周的工作情况,包括工作内容、成果和下周工作安排等。 周报告包括以下属性:,四、研发部的建设方面,4.1 研发部的组织结构,研发部:这里指工程研发部中的研发分部,为方便运用原研发部名称。 就目前而言,研发部约8人,为提高研发能力,建议招34人,稳定到12人左右。 分成四个小组,每组23人,四个小组分别为: T1,第一小组:技术支持与客户服务小组,

21、简称 支持组; T2,第二小组:新技术与新产品开发小组,简称 开发组; T3,第三小组:已有软件的实施维护小组,简称 维护组; T4,第四小组:软件测试与质量管理小组,简称 测试组; 各小组重点突出、责任明确、统计清晰,实行组长负责制。 分工与协作并不矛盾,小组之间、成员之间需要相互协作,关键是依照流程规范工作。,4.1 研发部的组织结构,4.2 部门管理与员工提升,由于信息技术的发展十分迅速,研发人员需要实时学习以提高自身能力,同时提升公司的软件研发能力和产品竞争力。 研发部门需要建立相应的管理机制和员工学习激励机制。计划从如下几个方面来考虑: 建立软件项目管理系统 建立周报告和周例会机制

22、建立每两周一次的开发人员的学习提升讲座 建立绩效评估机制 建立与公司配套的其它管理体制(如新员工培训、提供学习资料等),4.2 部门管理与员工提升,4.3 建立完善的版本管理机制,在软件部门建立完善的软件版本管理机制,具体工作包含: (1) 采用CVS或VSS等工具进行版本管理; (2) 对现有人员手头上的各版本进行清理、归档,统一定为1.0版本, 保存到服务器上; (3) 在内部建立客户服务资料,建立软件的BUG问题跟踪、修复机制; (4) 对今后的版本统一定为2.0,在新的平台下进行统一规划设计、 开发、测试。,4.4 建立周报告和周例会机制,“周报告”是指: 每周末下班前,每人都写个小结

23、,不要求很多,主要是总结本周的工作情况,并写个下周的工作计划,记录到项目管理系统中,系统自动把周报告通过Email发送给项目经理及相关领导。 “周例会”是指: 在每下周一要组织召开例会,大家相互介绍各自的工作情况,并针对碰到的软件或硬件的问题、方案、进展、计划等进行讨论,一般1小时。个别情况下讨论时间可长可短。周例会的内容也记录到项目管理系统中。,4.5 建立每两周一次的开发人员的学习提升讲座,每两周指定一个人员去了解、学习与轨道衡技术、软件开发技术相关的最新技术、工具、方法、思想等,然后在讲座时给大家介绍。 根据目前我了解的情况来看,大家做事都很不错,但是对一些新技术的发展情况了解不多,长此

24、下去会影响公司的开发进度和软件质量。在遇到问题时解决思路不宽阔,以为某些问题只能如何如何解决,事实上可能会有其它更好的解决方案。 当然,具体什么部门采取什么形式的学习培训可以有所不同,对于开发人员,我的个人经验两周一次讲座较好,这绝对不是我是从学校当老师出来的缘故,而是不少公司的经验总结。,4.6 建立绩效评估机制,任何公司、公司的任何部门,都应该有其相应的绩效评估考核机制,对于规模较大的公司而言这更为重要。我刚来时就看见研发部有“先进集体的流动红旗” ,这就很好,大家需要激励机制,尤其是年轻人。 对于研发部内部而言,我们也要建立这样的机制,定期评选优秀员工,不定期奖励做出重要贡献(短期内解决

25、重大问题、突破关键技术、或完成重要任务)的突出人才。 关于研发部的具体考评和奖励指标,需要大家协商拟定。,4.7 软件开发的规范管理,软件开发是一项实践性很强的工程,它不仅需要开发人员掌握相关的技术知识,同时需要依照一定的开发流程来进行。技术知识保障软件的功能性、可扩展性;开发流程保障软件的可靠性、稳定性。 目前涉及如下几个方面: 并行开发与源代码管理的环境建设,搭建CVS服务器 建立软件项目的需求分析与审评机制 建立设计文档评审机制 建立软件开发过程的代码质量管理机制 建立代码测试机制 通过ISO9000质量认证,以上这些规范公司都已经有相应的文档,我们希望在实际开发过程中真正应用起来。,小结:,项目管理的相关概念 软件项目的层次结构 软件项目管理系统 研发部的建设情况 重要概念: 项目、阶段、任务、管理系统、预警、记录、周报告,谢谢大家! Q & A ?,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1