{项目管理项目报告}软件项目管理第七章

上传人:精****库 文档编号:141420052 上传时间:2020-08-07 格式:PPTX 页数:47 大小:571.96KB
返回 下载 相关 举报
{项目管理项目报告}软件项目管理第七章_第1页
第1页 / 共47页
{项目管理项目报告}软件项目管理第七章_第2页
第2页 / 共47页
{项目管理项目报告}软件项目管理第七章_第3页
第3页 / 共47页
{项目管理项目报告}软件项目管理第七章_第4页
第4页 / 共47页
{项目管理项目报告}软件项目管理第七章_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《{项目管理项目报告}软件项目管理第七章》由会员分享,可在线阅读,更多相关《{项目管理项目报告}软件项目管理第七章(47页珍藏版)》请在金锄头文库上搜索。

1、7.1 人力资源管理 7.2 软件资源管理 7.3 硬件资源管理 7.4 案例故事解析 7.5 小结,第7章 软件项目资源管理,7.1 人力资源管理,7.1.1 人力资源管理概念 7.1.2 人力资源分析与策划 7.1.3 人力资源的获取 7.1.4 团队组织和分工 7.1.5 团队建设 7.1.6 人力资源评估 7.1.7 案例:诺基亚如何建设优秀团队,一般来说,人力资源管理是一项复杂的工作,其具有的内容是由下列若干相互联系的任务所组成。 (1)分析人力资源需求、规划人力资源配备情况 (2)获取人力资源信息、招聘员工、确定劳资关系 (3)聘任员工、任用员工 (4)制定报酬和福利制度。,7.1

2、.1 人力资源管理概念,软件项目人力资源管理的主要内容在于人力资源规划和分析。 人在软件项目中既是成本,又是资本。一般来说,人力成本占软件项目成本构成的主要部分。这就要求我们从成本角度去衡量人力资源,尽量使人力资源的投入最小、产出最大。 由于软件开发人员的个人素质与差异很大,因此对软件开发人员的选择、分工十分关键。 软件人员的合理选择及分工,充分发挥每个人的特长和经验显然是十分重要的。 因为软件产品不易理解、不易维护,因此软件人员的组织方式十分关键。 一个重要的原则是,软件开发人员的组织结构与软件项目开发模式和软件产品的结构相对应,这样可以达到软件开发的方法、工具、与人的统一,从而降低管理系统

3、的复杂性,有利于软件开发过程的管理与质量控制。,7.1.1 人力资源管理概念,7.1.1 人力资源管理概念,图7.1 人力资源管理工作的主要内容,7.1.1 人力资源管理概念,图7.2 人力资源规划的过程,7.1.2 人力资源分析与策划,7.1.2 人力资源分析与策划,制定软件项目的人力计划,主要基于工作量和进度预估。一般来讲,工作量与项目总时间的比值就是理论上所需要的人力数,但选取和分配人力有许多值得研究的问题。 人员进度权衡定律 Brooks定律 Norden-Rayleigh曲线,人员进度权衡定律 估算软件开发工作量时得出的公式:,其中,E是以人年为单位的工作量,S是以LOC为单位的源代

4、码行数,C是技术因子,t是以年为单位的耗费时间(直到产品交付所用的时间)。 软件项目的工作量(E)与交付时间(t)的4次方成反比,软件开发过程中人员与时间的折衷是十分重要的问题。,7.1.2 人力资源分析与策划,Brooks定律 向一个已经拖延的项目追加新的开发人员,可能会使这个项目完成得更晚。 时间与人员不能线性互换的原则。,7.1.2 人力资源分析与策划,Norden-Rayleigh曲线 图7.3 用作人力计划的Norden-Rayleigh曲线 开始阶段人力过剩,造成浪费( ); 到开发后期需要人力时,又显得人手不足(); 以后再来补偿,已为时过晚(),甚至可能如Brooks定律所指出

5、的,会导致越帮越忙的结果。,7.1.2 人力资源分析与策划,在制定人力资源计划时,就要在基本按照上述曲线配备人力的同时,尽量使某个阶段的人力稳定,确保整个项目期人员的波动不要太大。这一目标被称为“人力资源计划的平衡” 例子P203-204,7.1.2 人力资源分析与策划,7.1.3 人力资源的获取,人力资源获取的3种渠道: 组织内部选拔 招聘 熟人介绍 项目经理的必备素质: 良好的交流沟通能力 良好的文档的能力 解决冲突的能力和项目实践经验,7.1.4人员的组织与分工,软件团队中的角色 一个富有工作效率的软件项目团队应包含负责各种业务的人员。每位成员扮演一个或多个角色。 常见的一些项目人员承担

6、的岗位包括:分析师、策划师、数据库管理员、设计师、操作/支持工程师、程序员、项目经理、项目赞助者、质量保证工程师、需求分析师、主题专家(用户)、测试人员。,开发人员的组织 项目团队的组织可采取垂直方案、水平方案或是混合方案。 按垂直方案组织的团队,其特点是成员由多面组成,每个成员都充当多个角色。 按水平方案组织的团队,则其成员由各方面的专家组成,每个成员充当一到两个角色。 以混合方案组织的团队既包括多面手,又包括专家。,7.1.4人员的组织与分工,水平团队方案 水平团队由专家组成。此类团队同时处理多个用例,每个成员都从事用例中有关其自身的方面。 优点: (1)能高质量完成项目各个方面(需求、设

7、计等)的工作。 (2)一些外部小组,如用户或操作人员,只需要与了解他们确切要求的 一小部分专家进行交互。 缺点: (1)专家们通常无法意识到其他专业的重要性,导致项目的各个方面之间缺乏联系; (2)“后端”人员所需的信息可能无法又“前端”人员来收集; (3)由于专家们的优先权、看法和需求互不相同,所以项目管理更为困难,7.1.4人员的组织与分工,水平团队方案 成功的关键因素: (1)团队成员之间需要有良好的沟通,这样他们才能彼此了解各自的职责; (2)需要制度专家们必须遵循的工作流程和质量标准,从而提高移交给其他专家的效率。 一个较为极端的水平团队的组织形式是所谓基于“主程序员”开发方式,其在

8、开发小组有且仅有一个技术核心,就是主程序员。 在这组织方式里,主程序员负责规划、协调和审查小组的全部技术活动;其他人员,包括程序员、后备工程师等,都是主程序员的助手。 这一方式的成败主要取决于主程序员的技术和管理水平,7.1.4人员的组织与分工,垂直团队方案 垂直团队方案,其组织形式是建立软件民主开发小组。这种组织结构是无核心的,每个人都充当开发的多面手。强调组内成员人人平等,组内问题均由集体讨论决定。 优点: (1)有利于集思广益,组内成员互相取长补短,开发人员能够掌握更广泛的技能; (2)以单个用例为基础实现平滑的端到端开发。 缺点: (1)多面手通常是一些更价很高并且很难找到的顾问; (

9、2)多面手通常不具备快速解决问题所需要的特定技术专长; (3)主题专家可能不得不和若干开发人员小组一起工作,从而增加了他们的负担; (4)所有多面手水平各不相同。,7.1.4人员的组织与分工,垂直团队方案 成功的关键因素: (1)每个成员都按照一套共同的标准与准则工作; (2)开发人员之间需要进行良好的沟通,以避免公共功能由不同的组来实现; (3)公共和达成共识的体系结构需要尽早在项目中确立。,7.1.2人员的组织与分工,混合型团队方案 混合方案团队由专家和多面手共同组成。 优点: (1)外部小组只需要与一小部分专家进行交互; (2)专家们可集中精力从事他们所擅长的工作; (3)各个用例的实现

10、都保持一致。 缺点: (1)拥有前两种方案的缺点; (2)多面手仍然很难找到; (3)专家们仍然不能认识到其他专家的工作并且无法很好地协作,尽管这应该由多面手来调节; (4)项目管理仍然很困难。,7.1.4人员的组织与分工,混合方案团队的成功关键因素: (1)项目团队成员需要良好的沟通; (2)需要确定公共体系结构; (3)必须适当地定义公共流程、标准和准则。 衡量项目成功与否的一个重要因素是项目结束后团队的士气。,7.1.4人员的组织与分工,7.1.4人员的组织与分工,服务保障人员配备 软件项目或软件开发小组可以配置若干个秘书、软件工具员、测试员、编辑和律师等服务保障人民。其主要职责: 负责

11、维护和软件配置中的文档。源代码、数据及所依附的各种磁介质; 规范并收集软件开发过程中的数据;规范并收集可重用软件,对它们分类并提供检索机制; 协助软件开发小组准备文档,对项目中的各种参数,如代码行、成本、工作进度等,进行估算; 参与小组的管理、协调和软件配置的评估。,7.1.4人员的组织与分工,各阶段人员需求 软件项目的计划与分析阶段;此时只需要少数人,主要是系统分析员、从事软件系统论证和概要设计的软件高级工程师和项目高级管理人员; 项目概要设计:此时要增加一部分高级程序员; 详细设计:此时要增加软件工程师和程序员; 编码和测试阶段:此时还要增加程序员、软件测试员。 软件开发过程中,人员的选择

12、、分配和组织是涉及软件开发效率、软件开发进度、软件开发过程管理和软件产品质量的重大问题,必须引起项目负责人的高度重视。,7.1.4人员的组织与分工,7.1.5 团队建设,团队建设贯穿于整个项目周期 团队建设不仅指团队的组建还包括团队的管理。 团队建设的目的就是为了提高团队的效率实现项目目标。 优秀的项目经理。,7.1.6 人力资源评估,绩效考核: 项目绩效 个人绩效 激励 正激励 负激励,7.1.7 案例:诺基亚如何建设优秀团队,提倡平等,开放沟通 鼓励创新 借企业文化塑造团队精神 没有完美的个人,只有完美的团队,7.2 软件资源管理,7.2.1 软件资源基本概念 7.2.2 软件资源的服用方

13、式 7.2.3 软件复用的粒度 7.2.4 可复用软件资源的管理 7.2.5 CASE工具及其管理,7.2.1 软件资源基本概念,可复用软件资源:这些软件资源不仅包括源代码,还包括软件开发方法、需求规格说明、设计结构、开发工具与支撑环境、测试分析数据和维护信息等。,7.2.2软件资源的复用方式,实践已经证明,软件复用技术不仅可以提高软件生产率和软件质量,而且也是降低开发成本、缩短开发周期的重要途径。,软件资源的复用方式 (1)源代码的复用 属最低级复用。这种复用方式将一直存在。但是它的缺点也很明显,一是程序员需要花费大量的精力读懂源代码;二是程序员经常会在复用过程中因不适当地更改源代码而导致错

14、误的结果。 (2)目标代码级复用 通常以函数库的方式来体现。 这种形式的复用可能会受限于所用语言,软件复用的灵活性将降低。目标代码级复用最根本的缺点是无法和数据结合在一起。 (3)设计结果复用 这种形式是对某个应用系统的设计模型(即求解域模型)的复用。 (4)分析结果复用 当用户需求未改变,而系统体系结构发生根本改变时,可以复用系统的分析模型。,7.2.2软件资源的复用方式,(5)类模块复用 类库与库函数有本质区别,主要表现在: 独立性强 高度可塑性 接口清晰、简明。类具有封装性,软件开发人员勿需了解类的实现细节,只需清楚类提供的对外接口,就可复用类提供的功能(方法)。 根据类的特性,类模块复

15、用又可进一步分为以下三种方式:实例复用、继承复用、多态复用。,7.2.2软件资源的复用方式,软件复用的粒度 (1)小粒度复用 小粒度复用即小规模复用。 源代码复用和目标代码复用属于小粒度复用。 (2)中粒度复用 中粒度复用即中等规模复用。按复用粒度的大小,又分为两种:微体系结构的复用和宏体系结构的复用。,7.2.3 软件复用的粒度,(3)大粒度复用 大粒度复用即大规模复用,复用对象是独立开发的应用程序或子系统。在服用过程中,它们不能作任何修改和扩充。 类模块复用和构件技术属于大粒度复用。 为提高软件生产率和软件质量,需要把重用价值的软件模块或控件收集起来,再把相关的资料组织在一起,标注说明,建

16、立索引,从而建立可复用的软件部件库。 目前流行的软件复用思想正是如此,其具体方法是通过利用现有的构件技术建立可复用的软件构件库。,7.2.3 软件复用的粒度,7.2.4 可复用软件资源的管理,在课本第6.5节介绍过了构件,现在从软件资源管理的角度讲解构件库的管理 构件资源的分类 构件资源的分类是以构件分类体系为依据对构件进行的一种预处理。 在分类体系中,可按构件的标准、使用范围、系统类型、应用领域、应用场合、功能和粒度都属性对构件进行划分。,构件库的检索 系统开发人员根据自己的需要从构件库中查找与之匹配的构件的过程,称之为可复用构件的检索。 检索的一半步骤如图7.8所示:,图7.8 构件检索模型,7.2.4 可复用软件资源的管理,7.2.5 CASE工具及其管理,CASE工具 “CASE”的意思就是计算机辅助软件工程。CASE作为软件开发自动化支持的代名词,目前已被软件工程界普遍接受。 CASE工具是

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号