软件项目管理第一章---项目管理概念

软件项目管理复习专用

image-20221029084946656

项目管理概念

软件人员的职业规划

image-20221029085101980

一类是连续不断的、周而复始的活动,人们称之为运作,如企业日常的生产产品的活动。

另一类是临时性、一次性的活动,人们称之为项目。如企业的技术改造活动,一项环保工程的实施。

项目是为了创造一个唯一的产品或提供一个唯一的服务而进行的临时性的努力。

典型的例子

  • 建造一座大楼、一座工厂或一座水库
  • 举办各种类型的活动,如一次会议、一次旅行、一次晚宴、一次庆典和体育传播等
  • 新企业,新产品,新工程的建设和开发
  • 城市道路设施建设—厦门翔安隧道BRT
  • 某社区领导选举
  • 博导带领研究生解决某个研究课题
  • 新建网络系统或开发一套管理软件
  • 实施一种全新的经营程序或流程

下列选项中属于项目的是( )

A.上课

B.社区保安

C.野餐活动

D.每天的卫生保洁

image-20221029091754035

项目,由一组有起止日期的、相互协调的受控活动所组成的独特过程,该过程要达到符合包括时间、成本和资源的约束条件在内的规定要求的目标

image-20221029091906471

image-20221029092052968

实现项目目标的制约因素

工作范围、成本、进度计划、客户满意度

image-20221029092216716

项目的三重约束

时间功能费用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rPjgpChq-1667011895468)(C:\Users\xiaozhao\AppData\Roaming\Typora\typora-user-images\image-20221029093511511.pngimage-20221029093525883]

软件项目管理定义:软件项目管理是为了使软件能够按照预定的成本、进度、质量顺利完成而对成本、人员、进度、质量、风险等进行分析和管理的活动

项目管理三要素:时间 成本 质量

下列( )不属于项目管理的三维约束。

A.达到范围目标

B.达到时间目标

C.达到沟通目标

D.达到成本目标

image-20221029093843236

可以這樣描述,为了实现项目的目标,首先需要设定的项目工作和管理范围,即项目范围管理what to do

为了正确实施项目,需要对目标进行分解,对项目的时间、质量成本三大目标分解,即时间管理(when?)项目成本管理(how much?)、项目质量管理(how good?)

项目会过程中,需要投入足够的人力、物力资源,即项目的人力资源管理、项目采购管理

为了对项目团队中人员进行管理,让大家目标一致地完成项目,需要沟通,即沟通管理,集成管理协调各方面

5个标准化过程组

image-20221029094525494

项目管理五要素

  • 技术
  • 方法
  • 团队建设
  • 信息
  • 沟通

战术上的范围:三角形

质量、进度、成本

战略上的范围:人员 问题 过程

人是项目管理最宝贵的财富,软件行业更是这样。软件工程研究所专门开发了 人员管理能力成熟度模型PM-CMM关键实践域

使用人 必须下信任人,培养人,给他发展空间,让他看到希望,实现自身价值建立祥和、友善、互助、向上的文化氛围,技术保密、嫉妒是软件公司的大忌。

问题:项目经理的一个主要任务是发现并解决问题,明确项目的目的和范围,选择合适的解决方案,进行 成本估算和进度安排,评估风险。

在项目实施过程中会出现新问题,需要及时发现和解决

过程 :过程管理是项目管理的任务

不关注过程

image-20221029094855008

关注过程

image-20221029094904826

所谓过程 做事情的 一种固有方式,有经验的人对完成某件事的过程会很了解,他们知道会经历哪些步骤,每一个步骤完成什么事,需要什么样的资源,技术和工具。没有经验的人 就会无从下手

上图可以形象说明过程在软件开发中的地位 比如装修

关注产品上,不关注过程,不同的人采用不同过程,导致开发的产品质量不同,完全依赖个人的素质和能力

如果关注过程

不管谁来做 ,不管什么需求,采用统一开发过程,产品质量是一样的,可以不断提高过程质量来提供产品质量

产品的质量 依赖过程能力 而不是个人能力

  • 软件过程和软件开发流程不同
  • 软件过程不能只简单理解为软件开发流程,而是软件开发的最佳实践(流程、技术、产品、工具、角色、活动关系)是软件开发过程各方面的有机结合
  • 软件过程包括过程定义和过程改进

软件项目管理过程

image-20221029095250436

软件项目管理过程组

image-20221029095307362

商品采购项目管理

image-20221029095328323

软件项目管理活动

  • 定义项目范围
  • 分析风险
  • 确定资源
  • 资金和工作量预算
  • 制定时间计划

软件项目管理过程

项目初始—项目计划—项目执行控制—项目结束

项目初始:项目确立-》生存期

项目计划:范围计划–》成本计划–》进度计划–》质量计划–》配置管理计划–》人员与沟通计划–》风险计划–》合同计划–》集成计划

管理涉及的范围

高效的软件项目管理集中于4个p上:人员、产品、过程和项目

人员—一个成功项目最重要的因素

产品—建立的软件

过程—框架活动集合完成工作的软件工程任务

项目—所有需要做的工作,以使一个产品变成现实

顺序不是任意的

image-20221029100002739

人员

(1)利益相关者

参与软件过程的利益相关者可分为五类

高级管理者:负责定义业务问题,这些问题往往对项目产生很大影响

技术管理者:必须计划、激励、组织和控制开发技术人员

开发人员:拥有开发产品或应用软件所需技能的人员

客户:产品打开发软件需求的人员以及关心项目成败的其他利益相关者

最终用户:一旦软件发布成为产品,最终用户就是直接与软件进行交互的人

再来背诵一次:高级管理者、技术管理者、开发人员、客户、最终用户

为了获得高效率,软件团队必须最大限度发挥每个人的技术和能力,这就是团队负责人地任务

(2)团队负责人

image-20221029100640026

THE MOL MODEL领导能力

  • Motivation:激励,通过奖惩(恩威并施)孤立技术人员发挥其最大才能的一种能力
  • Organizition:组织,形成能够将最初概念转换成最终产品的现有过程的能力
  • Ideas or Innovation:思想或创新,必须在特定软件产品或应用系统的岳素霞工作,也能鼓励人们去创造并让人感到有创造新的一种能力

项目负责人的四个关键品质

  • 解决问题
  • 管理品质
  • 成就
  • 影响和团队建设

项目经理可使用的九条影响和能力

  1. 权利:发命令的正当登记权利
  2. 任务:感知到的项目经理影响员工后来工作分配的能力
  3. 预算:感知到的项目经理授权他人使用自由支配资金能力
  4. 提升:提拔员工的权利
  5. 资金:给员工涨工资和增加福利的权利
  6. 处罚:感知到的项目经理实施处罚的能力
  7. 工作挑战:根据员工完成一项特定任务的喜好来安排工作的能力
  8. 专门技术
  9. 友谊
选择软件项目团队时应该考虑以下7个因素
  • 待解决问题的难度
  • 开发程序的规模,以代码行或者功能点来度量
  • 团队成员需要共同工作的实践
  • 能够对问题做模块化划分的程度
  • 待开发系统的质量要求和可靠性要求
  • 交付日期的严格程度
  • 项目所需要的友好交流的程度
定义软件组织结构时,我们有哪些选择?
  • 开放式范性:试图以一种具有封闭式范性的控制性,又包含随机式范性的创新型的方式来组织团队
    • 集控制性和创新性于一体
    • 协调工作
    • 良好沟通
    • 根据团队整体意见决策
    • 适用于
      • 解决复杂问题
      • 效率相对其他方式较低

你被指派为大型软件产品公司项目经理。你的工作是管理该公司已被广泛使用的字处理软件的新版本开发。

因为必须获得新的收益,已经规定了紧迫的最后期限,并对外公布。

你会选择哪种团队结构?为什么?

你会选择哪种(些)软件过程模型?为什么?

考虑到时间压力和对工作的熟悉程度,开放式的团队结构可能是最好的(然后,封闭式的团队也可能很好地工作)这项工作的期限驱动性表明了增量过程模型

  • 同步式范式:依赖于问题的自然划分,组织团队成员各自解决问题的一部分,他们之间没有什么主动的交流
  • 封闭式范性:
    • 主程序团队,最早的软件团队组织
    • 适用范围:开发的软件与过去做过的产品相似,难以进行创新型工作

在一个信息系统组织中,你被指派为项目经理。你的工作是开发一个应用程序,该程序类似于你团队以前已经做过的项目,只是规模更大更复杂一些,需求已经由用户写成文档。

你会选择哪种团队结构?为什么?

你会选择哪种(些)软件过程模型?为什么?

封闭示范性很好,由于需求定义的很好,因此可以将需求划分并分配给子团队。项目的规模也有利于CD团队,由于没有讨论时间表,我们认为交货日期是合理的,因此可以使用线性顺序过程模型(以前做过的工作)然后,迭代模型(例如螺旋)也是一种很好的可能性

  • 随机性范式
    • 松散组织团队
    • 团队工作以来个人的主动性
    • 工作方式:创新的无政府状态
    • 适用范围
      • 当需要创新和技术突破时,有优势
      • 当需要有序执行才能完成工作,该结构陷入困境

你被指派为小型软件产品公司项目经理。你的工作是开发一个有突破性的产品,该产品结合虚拟现实的硬件和高超的软件。

因为家庭娱乐市场竞争激烈,完成这项工作的压力很大。

你会选择哪种团队结构?为什么?

你会选择哪种(些)软件过程模型?为什么?

考虑到模糊的需求和工作的实验性质,随机范式团队结构可能是唯一可行的选择。应该使用原型方法或进化过程模型

软件团队有哪4种组织结构,每种结构适用的场景

避免团队毒性

  • 狂乱的工作氛围使团队成员浪费精力,同时也使他们在工作中表现出毫无目的性。

  • 由个人、商业和技术因素引起的重大挫折导致团队成员间产生摩擦。

  • “碎片式的或协调很差”的软件过程、缺乏定义的或选择不合适的过程模型都会成为成功路上的路障。

  • 不清晰的角色定义导致缺乏责任,并相互指责。

  • “接连不断地重蹈覆辙” 使团队成员失去信心并降低斗志。

敏捷团队
  • 团队成员必须相互信任。

  • 团队成员的技能分布必须适合于要解决的问题。

  • 如果要保持团队的凝聚力,必须将坚持个人己见的人员排除于团队之外。

  • 团队是 “自组织的”

  • 自适应团队结构

  • 使用Constantine 提出的随机、开放和同步式的范型

  • 相当大的自主权

产品

产品范围

  • 项目环境:要开发的突然间如何适应于大型的系统、产品或业务环境,该环境下要施加什么约束
  • 信息目标:软件要产生那些客户可见的数据对象作为输出,需要什么数据对象作为输入?
  • 功能和性能:软件要执行什么功能才能将输入数据变换成输出数据?软件需要满足什么特殊的性能需求

软件项目范围在管理层和技术层都必须是无歧义的和可理解的

重要例题

希赛信息技术有限公司(CSAI原本是一家专注于企业信息化的公司,在电子政务如火如茶的时候,开始进军电子政务行业。在电子政务的市场中,接到的第一个项目是开发一套工商审批系统。由于电子政务保密要求,该系统涉及到两个互不联通的子网:政务内网和政务外网。政务内网中储存着全部信息,其中包括部分机密信息;政务外网可以对公众开放,开放的信息必须得到授权。系统要求在这两个子网中的合法用户都可以访问到被授权的信息,访问的信息必须是一致可靠,政务内网的信息可以发布到政务外网,政务外网的信息在经过审批后可以进入政务内网系统。

张工是该项目的项目经理,在捕获到这个需求后认为电子政务建设与企业信息化有很大的不同,有其自身的特殊性,若照搬企业信息化原有的经验和方案必定会遭到惨败。因此采用了严格瀑布模型,并专门招聘了熟悉网络互通互联的技术人员设计了解决方案,在经过严格评审后实施。在项目交付时,虽然系统完全满足了保密性的要求,但用户对系统用户界面提出了较大的异议,认为不符合政务信息系统的风格,操作也不够便捷,要求彻底更换。由于最初设计的缺陷,系统表现层和逻辑层紧密耦合,导致70%的代码重写,而第二版的用户界面仍不能满足最终用户的要求,最终又重写的部分代码才通过验收。由于系统的反复变更,项目组成员产生了强烈的挫折感,士气低落,项目工期也超出原计划的100%。

【问题1】

对张工的行为进行点评?(优点和不足)

【问题2】

请从项目范围管理的角度找出该项目实施过程中的主要管理问题?

【问题3】

请结合你本人实际项目经验,指出应如何避免类似问题?

【问题1】(10分)

(1)张工注意到了系统运行环境的特殊性,在良好设计和实现的情况下满足了用户的要求。(2分)

(2)张工忽略了系统用户的潜在要求,在用户界面和操作的风格上范围定义不清晰,造成系统交付时的重大变更。(2分)

(3)张工在第一次问题发生后仍没有对范围进行有效的管理,造成了系统第二次的变更。(2分)

(4)张工没有对用户界面是否能够满足要求的风险进行有效的管理,而是采用了对风险适应性较差的瀑布模型组织开发。(2分)

(5)张工没有对设计质量进行有效的控制,造成表现层中耦合了业务逻辑,增加了修改的代价。(2分)

【问题2】(9分)

(1)张工没有挖掘到系统的全部隐性需求,缺乏精确的范围定义。(3分)

(2)在发生第一次变更时,张工仍没有有效的范围管理,从而造成系统的二次变更。(3分)

(3)重复的系统变更说明张工对系统范围控制不足,导致一而再再而三的反复。(3分)

【问题3】(6分)

有效的范围管理包括了从范围定义到范围控制等多方面的工作,每一项工作都是重要的。对于本案例,要结合行业特点进行需求分析,挖掘系统潜在的需求,同时通过原型等方法来辅助需求的定义,避免范围定义不清晰的问题。

在发生需求变更时需要进行有效的需求控制,尽量在满足用户需求的前提下缩小需求范围,坚决避免需求的再次变更。

问题分解过程:

考虑这样一个项目,要开发一个新的字处理产品。该产品的独特功能包括:连续的语音和键盘输入,高级的“自动复制编辑”功能,页面布局功能,自动建立索引和目录功能。项目经理必须写出软件范围陈述来界定这些功能(以及其他功能:编辑、文件管理、文档生成等)

通过与客户和其他相关资料,发现“自动复制编辑功能”还具有以下功能:

拼写检查

语句文法检查

大型文档引用检查

大型文档中章节引用确认

如果继续分解对于指定计划更有利,则每个子功能还可继续分解。

过程Process

在项目计划建立前,必须选择一个过程模型以适合待开发的软件项目

过程分解举例采用通用过程框架

在communication沟通阶段

对于小的、简单地项目可以分解为如下工作任务

  • 列出需澄清的问题列表
  • 与客户见面说明需要澄清的问题
  • 共同制定范围陈述
  • 和所有人一起评审范围陈诉
  • 根据需要修改范围陈述

项目Project

项目正处于危险状态的信号 ,当……

  • 软件人员不了解客户的需求。

  • 产品范围定义很糟糕。

  • 没有很好地管理变更。

  • 所选的技术发生了变化。

  • 业务需求发生了变化 [或未能很好地定义]。

  • 截止日期是不切实际的。

  • 客户抵制。

  • 失去赞助 [或从来没有真正得到过赞助]。

  • 项目团队缺乏具有合适技能的人员。

  • 管理者 [和开发人员] 没有很好地利用已学到的最佳实践和经验。

  • 在正确的基础上开始工作。首先努力(非常努力) 地正确理解要解决的问题,然后为每个参与项目的人员设置现实的目标和期望。

  • 保持动力。为了维持动力,项目经理必须采取激励措施使人员变动量保持绝对最小,团队应该重视它完成的每项任务的质量,而高层管理应该尽可能不干涉团队的工作。

  • 跟踪进展。对于软件项目而言,当工作产品 (如模型、源代码、测试用例集) 正在产生或被认可 (通过技术评审) 时,跟踪项目进展要作为质量保证活动的一部分。

  • 做出英明的决策。 总体上,项目经理和软件团队的决策应该 “保持项目的简单性”。

  • 进行事后分析。 建立统一的机制,从每个项目中获取可学习的经验。

W5HH原則
  • 为什么要开发这个系统?

  • 将要做什么?

  • 什么时候做?

  • 由谁W来负责?

  • 他们的机构组织位于何处?

  • 如何完成技术工作和管理工作?

  • 每种资源需要多少 (例如,人、软件、工具、数据库)?

总结

四个P对软件项目管理有重大影响。

必须将人员组织成有效的团队

产品要求必须划分为其组成部分

该流程必须适合人员和产品

项目的组织方式必须使软件团队能够成功。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《软件项目管理案例教程第四版pdf》是一本非常实用的软件项目管理教程。本书以案例为基础,介绍了软件项目管理的全部过程,包括计划、需求分析、设计、实现、测试、部署等各个阶段,而每一阶段都有相应的实例进行演示。通过这些实例,读者可以深入了解软件项目管理的理论和实践,更好地把握软件项目管理的核心内容和要点。 此外,本书还提供了大量的实用工具和技术,如Gantt图、PERT图、WBS分解图、风险管理、质量保证等等,这些工具和技术能够有效地辅助软件项目管理人员进行管理和决策,提高软件项目的成功率。 总的来说,《软件项目管理案例教程第四版pdf》是一本内容全面、实用性强的软件项目管理教程,特别适合软件项目管理人员、软件开发工程师以及对软件项目管理感兴趣的人员阅读。通过本书的学习和实践,读者不仅可以提升软件项目管理的专业能力,还可以更好地理解软件开发的整个流程和软件产品的特点,从而更好地开展软件项目工作。 ### 回答2: 软件项目管理案例教程第四版是一本介绍软件项目管理案例的教程。这本教程通过多个案例来讲解软件项目管理的方法和技巧,涵盖了软件项目管理的方方面面,对于软件项目管理人员以及需要了解软件项目管理的人员来说都是非常有价值的资料。 该教程第四版的框架基本沿用了第三版的结构,不同的是在内容方面做了更新和补充。本书的主要特点之一是涵盖了多个实际案例,每个案例都是作者亲自参与过的,真实性和可操作性都非常强。 本书分为三个主要部分:基本概念和方法、软件项目管理技术和软件项目管理实践。在基本概念和方法部分,读者将了解软件项目的基本概念项目管理方法、项目规划等内容。在软件项目管理技术部分,主要是介绍了项目过程管理、风险管理、质量管理、信息管理等方面的内容。在软件项目管理实践部分,读者可以了解到典型软件项目的管理经验和案例分析。 该教程的目标读者主要是软件项目经理、软件开发工程师、软件质量工程师等软件开发人员。同时,对于学习软件项目管理的在校学生以及其他相关领域人士也是非常有帮助的。总之,本书全面、实用、可读性强,是软件项目管理领域的重要参考资料。 ### 回答3: 软件项目管理案例教程第四版pdf是一本介绍软件项目管理的教材,主要面向计算机专业的学生或从事软件项目管理工作的人员。本书包括18个案例,展示了不同类型软件项目的管理过程,解决方案,以及成功和失败的原因。 本书的第一章首先介绍了软件项目管理的基本理论,例如项目计划、进度管理、成本管理、质量管理、风险管理等等。其次,在随后的章节中,作者按照案例的类型,介绍了每个案例的具体背景、项目目标、关键问题、解决方案和总结。 在每个案例中,作者向读者展示了管理和协调整个软件团队。 例如,第三章中介绍的项目“Bunker Hill”,一个大型的银行信息系统,管理团队在项目规划时估计时间考虑过于乐观,缺乏足够的软件工程实践,导致项目最后失控。通过本案例,作者向读者展示了项目管理中的进度管理和资源分配,以及如何在项目中建立充分的软件工程实践,以确保项目成功。 总之,软件项目管理案例教程第四版pdf为读者提供了丰富的案例和经验,是管理软件项目的实用教材。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值