项目管理概念3

上传人:F****n 文档编号:95526644 上传时间:2019-08-20 格式:PPT 页数:53 大小:210.50KB
返回 下载 相关 举报
项目管理概念3_第1页
第1页 / 共53页
项目管理概念3_第2页
第2页 / 共53页
项目管理概念3_第3页
第3页 / 共53页
项目管理概念3_第4页
第4页 / 共53页
项目管理概念3_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《项目管理概念3》由会员分享,可在线阅读,更多相关《项目管理概念3(53页珍藏版)》请在金锄头文库上搜索。

1、软件工程,第18章 项目管理概念,主要内容,管理涉及的范围 人员 产品 过程 项目 W5HH原则 关键实践 小结,项目管理,项目管理涉及对人员、过程和在软件从初始的概念演化为可运行的实现的过程中发生的事件的计划和监控。 在软件项目中,每个人或多或少都做着“管理”的工作。但是,管理活动的范围各不相同。软件工程师管理他的日常活动,计划和监控技术任务。项目经理计划和监控软件工程师团队的工作。高级管理者协调业务和软件专业人员之间的关系。,项目管理,理解4P人员、产品、过程和项目。必须将人员组织起来以有效地完成软件工作。必须和客户及其他共利益者很好地沟通,以便了解产品的范围和需求;必须选择适合于人员和产

2、品的过程;必须估算完成工作任务的工作量和工作时间,从而制定项目计划,包括:定义工作产品、建立质量检查点以及确定一些机制监控计划所规定的工作。,项目管理,在管理活动开始时,必须首先制定项目计划。该计划定义将要进行的过程和任务,安排工作人员,确定评估风险、控制变更和评价质量的机制。 在按时并在预算内交付高质量的产品之前,你不可能完全肯定项目计划是正确的。不过,作为项目经理,鼓励软件人员协同工作形成一支高效的团队,并将他们的注意力集中到客户需求和产品质量上,这肯定是正确的。,项目管理,我拜访了很多商业公司好的和不好的,我又观察了很多数据处理管理者的业绩好的和不好的,我又观察了很多数据处理管理者的业绩

3、好的和不好的。我常常恐惧地看到,这些管理者徒劳地与恶梦般的项目斗争着,在根本不可能完成的最后期限的压力下苦苦挣扎,或者是在交付了用户极为不满意的系统之后,又继续花费大量的时间去维护它。PAG85,管理涉及的范围,有效的软件项目管理集中于四个P上,即人员、产品、过程和项目。它们的顺序不是任意的,任何管理者如果忘记了软件工程工作是人的智力密集的劳动,他就永远不可能在项目管理上取得成功;任何管理者如果在项目开发早期没有鼓励共利益者之间的广泛交流,他就冒着为错误的问题构造了“良好的”解决方案的风险;对过程不在意的管理者可能冒着把有效的技术方法和工具插入到真空中的风险;没有建立可靠的项目计划就开始工作的

4、管理者将危及产品的成功。,人员,SEI专门开发了一个人员管理能力成熟度模型(PM-CMM),旨在“通过吸引、培养、激励、部署和聘用那些改进软件组织软件开发能力所需要的人才,提高软件组织承担日益复杂的应用问题的能力”。 人员管理成熟度模型中针对软件人员定义了以下的关键实践区域:招募、选择、业绩管理、培训、报酬、个人事业发展、组织和工作设计以及团队精神或企业文化培养。在人员管理上达到较高成熟度的组织,更有可能完成有效的软件工程实践。,产品,在制定项目计划之前,应该首先确定产品的目标和范围,考虑可选的解决方案,识别技术和管理上的限制。如果没有这些信息,就不可能进行合理的成本估算,也不可能进行有效的风

5、险评估和适当的项目任务划分,更不可能制定可管理的项目进度计划来给出意义明确的项目进展标志。,产品,软件开发者和客户必须一同定义产品的目标和范围。在很多情况下,这项活动是作为系统工程或业务过程工程的一部分开始的,并一直持续到作为软件需求工程的第一步。确定产品的目标只是标识出产品的总体目标,而不用考虑这些目标如何实现。而确定产品的范围,要标识出产品的主要数据、功能和行为特性,而且更为重要的是,应以量化的方式界定这些特性。,产品,了解了产品的目标和范围之后,就要开始考虑备选的解决方案了。虽然这一步并不讨论细节,但可以使管理者和参与开发的人员根据给定的约束条件选择“最好”的方案,其中,约束条件包括产品

6、交付的期限、预算的限制、可用的人员、技术接口以及其他各种因素。,过程,软件过程提供了一个框架,在该框架下可以制定软件开发的综合计划。一小部分框架活动适用于所有软件项目,不用考虑其规模和复杂性。多种不同的任务集合每一种集合都由任务、里程碑、工作产品以及质量保证点组成使得框架活动适合于不同软件项目的特性和项目团队的需求。最后是普适性活动如软件质量保证、软件配置管理和测量,这些活动覆盖了过程模型。普适性活动独立于任何一个框架活动,且贯穿于整个过程之中。,项目,实施有计划的、可控制的软件项目的主要理由是:这是我们知道的管理复杂事物的唯一方法。产业数据表明26%的软件项目彻底失败,46%的项目成本和进度

7、超出预定。虽然软件项目的成功率已有所提高,但项目的失败率仍然高于它的应有值。 为了避免项目失败,软件项目经理和开发产品的软件工程师必须留意一些常见的警告信号,了解实施成功的项目管理的关键因素,还要确定计划和监控项目的一目了然的方法。,人员,所有的人,从高级工程副总裁到最低层的开发人员,常常认为人员是不成问题的。虽然管理者常常表态说人员是最重要的,但有时他们言行并不一致。 以下将分析参与软件过程的人员,并且研究组织人员的方式,以实现有效的软件工程。,共利益者,参与软件过程的共利益者可以分为以下五类: 高级管理者负责定义业务问题,这些问题往往对项目产生很大影响。 项目(技术)管理者必须计划、激励、

8、组织和控制软件开发人员。 开发人员拥有开发产品或应用软件所需技能的人员。 客户详细描述待开发软件需求的人员以及关心项目成败的其他共利益者。 最终用户一旦软件发布成为产品,最终用户就是直接与软件进行交互的人。 项目团队必须以能够最大限度地发挥每个人的技术和能力的方式进行组织,这是团队负责人的任务。,团队负责人,项目管理是人员密集型的活动,胜任开发的人却常常有可能是拙劣的团队负责人,他们完全不具备管理人员的技能。 WEI86提出了领导能力的MOI模型: 激励:鼓励技术人员发挥其最大才能的一种能力。 组织:形成能够将最初概念转换成最终产品的现有过程(或创造新的过程)的能力。 思想或创新:即使必须在特

9、定软件产品或应用的约束下工作,也能鼓励人们去创造并让人感到有创造性的一种能力。 成功的项目负责人应采用一种解决问题的管理风格。即,软件项目经理应该注重理解要解决的问题、把握住涌现的各种意见、同时让项目团队的每一个人知道质量很重要,不能妥协。,团队负责人,关于一个具有实战能力的项目经理应该具有什么特点,另一种观点则强调了以下四种关键品质: 解决问题。具有实战能力的软件项目经理能够准确地诊断出最为密切相关的技术问题和组织问题;能够系统地制定解决方案,适当地激励其他开发人员来实现该方案;有把在过去项目中学到的经验应用到新环境中;如果最初的解决方案没有结果,能够灵活地改变方向。 管理者的特性。优秀的项

10、目经理必须能够掌管整个项目。必要的时候要有信心进行项目控制,同时还要允许优秀的技术人员能够按照他们的本意行事。 成就。为了优化项目团队的生产效率,项目经理必须奖励那些工作积极主动并且做出成绩的人,并通过自己的行为表明出现可控风险并不会受到惩罚。 影响和队伍建设。具有实战能力的项目经理必须能够“理解”人。他必须能理解语言和非语言的信号,并对发出这些信号的人的要求做出反应。项目经理必须能在高压力的环境下保持良好的控制能力。,软件团队,几乎可以说有多少开发软件的组织,就有多少种软件开发人员组织结构。组织结构不能轻易改变。至于组织改变所产生的实际和行政上的影响,并不在软件项目经理的责任范围内。但是,软

11、件项目中所直接涉及的人员的组织,则是项目经理的职责。,软件团队,MAN81提出了规划软件工程团队结构时应考虑的七个项目因素: 待解决问题的难度。 开发程序的规模,以代码行或者功能点来度量。 团队成员需要共同工作的时间。 能够对问题做模块化划分的程度。 待开发系统的质量要求和可靠性要求。 交付日期的严格程度。 项目所需要的友好交流的程度。,软件团队,CON93提出了软件工程团队的四种“组织范型”: 封闭式范型。按照传统的权利层次来组织团队。 随机式范型。松散地组织团队,团队工作依赖于团队成员个人的主动性。 开放式范型。试图以一种既具有封闭式范型的控制性,又包含随机式范型的创新性的方式来组织团队。

12、 同步式范型。依赖于问题的自然划分,组织团队成员各自解决问题的一部分,他们之间没有什么主动的交流。,软件团队,从历史的角度看,最早的软件团队组织是封闭式范型结构,最初称之为主程序员团队。团队的核心成员包括:一个高级工程师(“主程序员”),负责计划、协调和评审团队的所有技术活动;技术人员,进行分析和开发活动;一个后备工程师,支持高级工程师的活动,并可以在项目进行过程中以最小的代价接替高级工程师的工作。 主程序员可以有多人配合他的工作,包括一个或多个专家、支持人员和软件资料员。,软件团队,CON93提出的随机式范型是主程序员团队结构的一个变种,主张建立具有独立创新性的团队,其工作方式可恰当地称为创

13、新的无政府状态。尽管自由的软件工作方式是有吸引力的,但在绩效良好的团队中必须将创新能力作为软件工程组织的中心目标。,软件团队,为了建成一支绩效良好的团队: 团队成员必须相互信任。 团队成员的技能分布必须适合于要解决的问题。 如果要保持团队的凝聚力,必须将坚持个人己见的人员排除于团队之外。 无论什么类型的团队,每一个项目经理的目标都是帮助建立一支有凝聚力的团队。 同一般的团队相比,有凝聚力的团队成员具有更高的生产率和更大的动力。他们拥有共同的目标和共同的文化,而且在很多情况下,“精英意识”使得他们独一无二。,软件团队,但是,并非所有的团队都具有凝聚力。事实上,很多团队都受害于JAC98称之为“团

14、队毒性”的东西。JAC98定义了5个“培育潜在含毒团队环境”的因素:(1)狂乱的工作氛围;(2)引起团队成员间产生磨擦的重大挫折;(3)“碎片式的或协调很差”的软件过程;(4)在软件团队中没有清晰的角色定义;(5)“接连不断地重蹈覆辙”。,软件团队,为了避免狂乱的工作环境,项目经理应该确保团队可以获取完成工作所需的所有信息;而且,主要目标一旦确定下来,除非绝对必要,否则不应该修改。如果给予软件团队尽可能多的决策权,就能使团队避免挫败和压力。通过理解将要开发的产品和完成工作的人员,以及允许团队选择自己的过程模型,可以避免选择不适当的软件过程。团队本身应该建立自己的责任机制,并规定一系列当团队成员

15、未能完成任务时的纠正方法。最后,避免失败的关键是建立基于团队的信息反馈方法和解决问题的技术。,敏捷团队,小型的充满活力的团队,也称为敏捷团队,采纳了很多成功的软件项目团队的特性,同时又避免了很多产生问题的毒素。同时,敏捷方法学强调团队成员的个人能力与团队协作精神相结合,这是团队成功的关键因素。 在软件项目中,为了充分发挥每个成员的能力,并培养有效的合作,敏捷团队是自组织的。自组织团队不必保持单一的团队结构,而是采用随机、开放、同步式的范型。,敏捷团队,很多敏捷过程模型给予敏捷团队相当大的自主权进行项目管理,可以因工作需要做出技术决定。将计划制定工作压缩到最低程度,并且允许团队选择自己适用的手段

16、,只受业务需求和组织标准的限制。在项目进行过程中,自组织团队关注的是在特定的时间点使项目获益最大的个人能力。为了做到这一点,敏捷团队可以召开简短的日常团队会对当天必须完成的工作进行调整以使其同步进行。 基于在团队会中取得的信息,团队能使他们所采用的手段不断适应持续增加的工作。当每一天过去的时候,连续的自组织和协作使团队朝着软件逐步增长的完工的方向发展。,协调和通信问题,使软件项目陷入困境的原因很多。许多开发项目规模很大,导致复杂性高、混乱、难以协调团队成员间的关系。不确定性是经常存在的,它会引起困扰项目团队的一连串的变更。互操作性已经成为许多系统的关键特性。新的软件必须与已有的软件通信,并遵从系统或产品所施加的预定义约束。,协调和通信问题,现代软件的这些特征规模、不确定性和互操作性确实都是存在的。为了有效地处理这些问题,软件工程团队必须建立切实可行的方法来协调工作人员之间的关系。为了做到这一点,需要建立团队成员之间以及多个团队之间的正式的和非正式的交流机制。,产品,从软件工程项目一开始,软件项目

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

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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