软件项目管理期末复习

软件项目管理

  • 选择题 30分 极个别是多选 课堂概念 PPT
  • 论述题×3 12分 1.2题对基本概念的掌握,平时作业 基本理论、方法、工具
  • 分析题 16分 进度管理、进度控制、绘制图形(网络图、前道、图计算)着重: 进度管理、进度控制:WBS分解、网络图;绘制网络图,剪线图,潜道图,计算时间,分析题
  • 大题×2 42分 对项目案例仔细阅读,IT项目案例原题,重点看前面:时间管理……(集成)、基层管理、范围、时间、成本

项目管理总体有五个过程:启动过程、计划过程、实施过程、执行过程、收尾过程。

包含了九大领域的知识:范围管理、时间管理、成本管理、质量管理、风险管理、人力资源管理、沟通管理、采购管理、系统管理的方法与工具。

PPT

1 认识我们的时代

世界本质是信息.

信息技术定义:是人类认识世界改造世界相互沟通支撑技术,包括信息描述、传播与存储的技术。

智能社会特征:生产力大范围智能化、社会关系运行智能化、3D表达成为主流

2 软件本质、应用领域与地位

软件的本质:现代计算机的基础原理是“存储程序控制运行”,软件是人类处理问题步骤的代码化

信息与通信技术(ICT)系统的本质:是用电、光器件构建的ICT系统仿真和重构现实世界的信息获取、传输、存储、计算与运用,,闭环的ICT系统对信息的处理与人对信息的处理一样,包括感知系统、传输系统、存储与计算系统、知识系统。

信息技术经历数字化、信息化、互联化,今天是智能化

ICT推动社会实现虚拟世界与物联世界全面融合

3 软件与软件项目管理

软件的分类:底层类(操作系统、数据库)、工具类、信息类、智能类(人工智能、区块链)

软件有三种主要建造模型:

  • 线性(瀑布)模型:一般性的软件开发过程(可定量管理)
  • 原型模型:创新性项目;技术攻关;快速验证。
  • 增量模型:软件产品。(可定量管理)

软件构建的方法:面向过程的设计(单机时代)、面向对象的设计(软件工程时代)、面向服务的设计(互联网时代)

软件架构:为了实现某个业界标准或完成特定基本任务的软件组件规范,也指为了实现某个软件组件规范时,提供规范所要求之基础功能的软件产品。

  • 分层架构(layered architecture)是最常见的软件架构,也是事实上的标准架构。
  • 事件驱动架构(event-driven architecture)就是通过事件进行通信的软件架构。
  • 微核架构(microkernel architecture)又称为"插件架构",指的是软件的内核相对较小, 主要功能和业务逻辑都通过插件实现。
  • 微服务架构(microservices architecture)是服务导向架构的升级。 每一个服务就是一个独立的部署单元。这些单元都是分布式的,互相解耦,通过远程通信协议(比如REST、SOAP)联系。
  • 云结构(cloud architecture)主要解决扩展性和并发的问题,是最容易扩展的架构。这个模式主要分成两部分:处理单元和虚拟中间件。

4 管理的基本原理

管理的地位:管理在组织的层级中起到承上启下的作用。为服务于目标,指导实施

管理基本概念与观点:

  • 法约尔(现代管理理论之父):管理是由计划、组织、指挥、协调及控制等职能要素组成的活动过程。
  • 管理是通过计划工作、组织工作、领导工作和控制工作的诸过程来协调所有的资源,以便达到既定的目标。
  • 管理是在某一组织中,为完成目标而从事的对人与物质资源的协调活动。

管理的过程:分析(目标、路径、资源)、计划(任务、时间、资源)、实施控制(检查、控制)、总结检查

5 项目与项目原理

组织流程是业务管理的基础。组织实现分工,流程串联分工,分工组合业务。

为什么需要组织:实现个人无法完成的任务、专业分工实现效率最大化

为什么需要流程:流程决定业务效率与业务的实现、专业分工需要链接才可形成业务

项目产生的根本原因是:创造性任务、临时性任务,其业务目标、内容、流程、资源均具有不确定性。

项目的定义:

  • 项目是一种旨在创造某种独特产品或服务的临时性努力。
  • 项目是一些独特的、复杂的和相关的活动组成的一个序列,它有一个必须在特定时间内、在预算内及根据规范完成的目标

项目管理的定义:是通过项目经理和项目组织的努力,运用系统理论和方法对项目及其资源进行计划、组织、协调、控制, 旨在实现项目的特定目标的管理方法体系。

6 项目过程与管理

项目管理的核心内容:项目范围管理、项目时间管理、项目成本管理

项目的基本目标:在规定的时间内,在规定的经费预算内,保证项目 任务符合质量地完成。

项目管理关键内容之间的关系

  • 项目范围增加,导致成本增加,甚至时间的延长;项目经费减少,导致项目范围的削减或技术质量的降低,或时间的延长;时间的减少, 导致成本的增加,范围的削减或技术质量的降低。
  • 项目范围、项目进度、项目成本是相互影响、相互制约的,任何一项 的异动,均可能对其它管理项造成影响。
  • 项目经理在进行项目管理时即要做到做要每个单项管理,又要做到综合平衡。

7 项目的启动与组织

立项申请

可行性研究是重要组成部分

组建项目组

组织设计原理:

  • 组织设计的目的是解决劳动分工的问题。
  • 组织设计的任务是提供组织结构图和编制职务说明书。
  • 组织设计要点:职务设计与分析、部门划分、 结构的调整与平衡
  • 组织设计的原则:因事设职与因人设职相结、权责对等原则、命令统一原则

项目的组织模式:

  • 职能式组织结构:具有明确的等级体系;按专业划分部门;部门执行项目仅限于专业与职能范围;项目成员对部门经理负责。
  • 项目式组织结构:项目成员被划归项目部;组织资源大多用于项目工作中;项目经理具有充分的自主独立性及权威,项目成员对项目经理负责。
  • 矩阵式组织结构:同时具有职能式与项目式组织的特点;按与职能式或项目式组织的接近程度分弱矩阵、强矩阵与平衡式矩阵。
  • 混合式组织方式:采用多类项目组织方式

软件项目的组织一般采用项目式或矩阵式组织

项目赞助人的职责:通常对项目提供资金和支持职责;项目经理的责任:对项目赞助人负责;项目成员的职责:对项目经理负责

项目策划/任务书

要素:

  • 描述:项目背景与目的、项目目标
  • 里程碑
  • 评价标准:项目成功标准的度量或验收规程
  • 假设与约束条件
  • 利益干系人

项目开工会

8 软件项目范围管理

项目范围管理的三大工作:项目范围的识别、项目范围的安排、项目范围的控制

软件产品结构是用户需求的概览,需求分析是软件产品范围核定的主要方法

需求规格书的主要内容:功能要求、性能要求、运行环境要求。决定了产品范围

项目范围:交付具有规定特征和功能的产品或服务所必须完成的工作。

WBS分解原则

  • 可执行原则:项目被划分成了可以执行的任务,并且这些的任务要得到项目组成员认同
  • 全覆盖原则:WBS是完成一个想要做的所有工作的层次结构图,不是产品的结构图;
  • 80小时原则:最底层的工作包应该在80个小时内完成,否则要细分

软件项目的费用核心是人工成本

9 软件项目时间管理

项目时间管理的三大工作:项目活动的时间分析、项目时间的计划、项目进度的控制

时间管理的五个主要过程:活动定义、活动顺序、活动时间估算、制定进度计划、控制项目进度计划的变化

活动(工作项):项目过程中的工作单元。一个活动通常需要资源,活 动通常细分为单个任务。

事件:当满足一定条件的时间点,如一个或多个活动的开始或完成。

项目活动图是项目活动及其逻辑关系(依赖关系)的图解表示。

箭线图(箭头表示活动,结点表示事件),用于计算关键路径(路径上的是关键事件、关键活动)

  • 正推法计算项目活动最早开始时间、最早完成时间
  • 逆推法计算项目活动的最迟开始时间与最迟完成时间

进度控制:跟踪项目实施动态,检查计划执行情况,并及时基于计划进行控制是项目管理中的重要内容。

image-20240623094840445

10 软件项目成本(财务)管理

项目成本管理的三大工作:项目成本分析与估算、项目成本计划(财务预算)、项目成本控制

成本管理与范围界定:项目范围是项目成本估算的依据,项目成本估算反作用于项 目范围

项目成本估算方法:类比估算、参数估算、自下而上估算、三点估算

财务管理工具:

  • 资产负债表:表示企业在一定日期(通常为各会计期末)的财务状况(即资产、负债和业主权益的状况)的主要会计报表
  • 现金流量表:在一固定期间(通常是每月或每季)内,一家机构的现金(包含银行存款)的增减变动情形。
  • 利润表:利润表是反映企业在一定会计期间经营成果的报表。
  • 会计科目表:是指按照经济业务的内容和经济管理的要求,对会计要素的具体内容进行分类核算的会计科目所构成的集合。

项目成本控制:各种能够引起项目成本变化因素的控制(事前控制),项目实施过程的成本控制(事中控制)和项目实际成本变动的控制(事后控制)三个方面。控制关键是项目不确定性成本的控制。项目不确定性成本控制的根本任务是识别和消除不确定性事件,从而避免不确定性成本发生。

11 软件项目计划管理

工作分解结构

分解原则:完全穷尽、彼此独立

最低层的特征:清晰的任务、清晰的责任人、可估算的工作量和工期、活动长度小于两周(90小时)

活动排序

按照工作的客观规律排序、按照项目目标的要求排序、按照轻重缓急排序、根据项目本身的内在关系来排序

资源工期成本估算

  • 三点估算法:采用乐观、悲观和最可能的三点工期估算法,并进行平均值标准差值等有关计算来确定工期的方法。工期=(a+4b+c)/6
  • 自下而上估计方法、专家判断法、类比估计法、参数成本法

进度计划

  • 关键路径法、甘特图

风险沟通计划

风险计划:识别风险、评估风险等级(发生可能性×风险影响,得到综合评价)、制定风险响应计划(规避、转移、减轻、接受)

沟通计划:就是在适当的时间将适当的信息通过适当的渠道发送给适当的利益干系人,并确保利益干系人正确理解

项目计划

计划阶段关键点:1. 明确项目范围 2. 全面的风险识别 3. 各关键干系人的识别与沟通计划

12 软件项目质量管理

质量定义:使实体具备满足明确或隐含需求能力的各项特征之总和

项目质量管理:保证项目能满足原先规定的各项要求所需要的过程。

项目质量管理的三个过程:

  • 质量计划编制:确定每个独特项目的质量 标准,把质量规划到项目的产品和管理项目所涉及 的过程之中。输出是:项目周期的各种检查表。
  • 质量保证:一个项目相关的质量标准有关的所有资源与活动。
  • 质量控制:监视项目的具体结果,确定其是否符合相关的质量标准,并判断如何杜绝造成不合格结果的根源。质量控制应贯穿于项目的始终。

质量控制工具:帕累托图、6σ标准、测试(单元/综合/系统/用户验收测试)

ISO9000:是一个组织中质量的规划、控制和归档等三部分构成的连续循环。ISO9000提供了一个组织满足其质量认证标准的最低要求。有五个标准构成。

CMM

CMM( Capability Maturity Model)软件能力成熟度模型,是一套系统、规范的对软件生产过程进行管理的模型。

CMM可以指导软件机构如何控制软件产品的开发和维护过程,以及如何向成熟的软件工程体系演化,并形成一套良性循环的管理文化:确定级别、了解改进因素、聚焦关键目标。CMM强调连续的软件过程改进。

基本内容:机构和资源的管理、软件工程过程及其管理、工具和技术

  • 初始级:一片混沌
  • 可重复级:定义管理的基本过程。一个按计划执行的且阶段可控的软件开发过程
  • 定义级:定义执行的步骤标准。定义级是标准一致的软件过程。
  • 管理级:设定定量的质量目标。管理级是可度量的、可预测的软件过程
  • 优化级:持续优化级。优化级是能持续改善的软件过程

每一级包含多个KPA,每个KPA包含若干KP

关键过程域KPA(Key Process Areas):一组相关联的活动;通过执行这些活动可以实现既定的过程能力。

关键实施KP(Key Practices):使关键过程域得以有效实现和制度化的最大的基础设施和活动。

13 软件项目的实施、监控与收尾

实施、监控阶段任务

  • 沟通
  • 项目监控:应用项目进度计划表、建立项目基线、召集会议、观察/检查、跟踪行动计划、定期反馈及报告(进展报告(甘特图、里程碑趋势图)、状态报告、阶段结束/月度评估报告)
  • 变更管理:提交变更申请、申请影响分析、评审分析结果、批准变更、实施变更,并跟踪和发布状态

项目收尾

  • 评估与验收:财务、时间、质量、人力资源、环境、项目计划、项目控制
  • 项目总结:总结会、总结表
  • 文件归档:归档各阶段(启动、计划、实施控制、收尾)的图、文档、报告

IT项目管理案例分析

1 项目整体管理案例

  1. 描述合同生效后进行的项目计划编制的工作。
    • (1)项目总计划(包括范围计划、工作范围定义、活动定义、资源需求、资源计划、活动排序、费 用估算、进度计划以及费用计划)。
    • (2)项目辅助计划(质量计划、沟通计划、人力资源计划、风险计划、采购计划等)。
  2. 独自修改了xxx,xx默许了他的操作,处理方式是否正确?该如何处理?
    • 不应该默许他的操作,且修改后的东西没有经过评审。
    • 项目中缺乏变更控制的体系,需要建立……。建议:建立……体系、流程、委员会
  3. 作为xx项目负责人,如何启动项目
    • (1)识别项目的需求。 (2)解决方案的确定。 (3)对项目进行可行性分析。 (4)项目立项。 (5)项目章程的确定。
  4. 进度控制中的重点是什么?
    • 重点是把握好关键路 径上的任务
  5. 甘特图与网络图的区别?
    • 甘特图直观、简单、容易制作,便于理解,一般适用比较简单的小型项目,可用于WBS的任何层次、进度控制、资源优化、编制资源和费用计划。但是不能系统地表达一个项目所包含的各项工作之间的复杂关系,难以进行定量的计算和分析,以及计划的优化等。
    • 采用网络图进行进度控制,能够清晰地展现现在和将来完成的工程内容、各工作单元间的关系,并且可以预先确定各任务的时差。了解关键作业或某一环节的进度的变化对后续工程和总工期的影响度,便于及时地采取措施或对进度进行调整。
  6. 要求提前完工,如何处理?
    • 项目的质量、进度、成本相关联,因此,在进度控制和成本管理上考虑:调整进度计划,在关键路径上加班,缩短关键路径的长度。
  7. 项目管理部门究竟有没有存在的价值,试说明原因。
    • 从提高软件企业项目管理能力角度而言,项目管理部门可以帮助企业在组织层面上对那些孤立 的、无关联的项目进行统筹和管理,从而提高整个组织的项目管理能力,有力地支撑组织战略目标 的实现。
  8. 项目开发中的质量管理主要包括哪些内容?
    • (1)决策阶段 在广泛搜集资料、调查研究的基础上研究、分析、‘比较,决定项目的可行性和最佳方案。
    • (2)项目实施前 ①对项目组的能力重新审查,如果发现实际情况有所变化,必须采取有效措施予以纠正。 ②对所有的合同和技术文件、报告进行详细的审阅。 ③审阅进度计划和实施方案。 ④对项目实施中将要采取的新技术、新软件进行审查。 ⑤对项目实施所需材料和设备的采购进行检查。 ⑥协助完善质量保证体系。 ⑦对各项目组负责人和主要人员进行进一步的审核。 ⑧根据项目计划制定与其对应的质量管理计划。 ⑨组织质量管理计划的评审,并形成评审报告。 ⑩准备好项目人员简历、质量管理表格。 ⑩准备好担保和保险工作。 ⑩签发动员预付款支付证书。 ⑩全面检查开工条件。
    • (3)项目实施中 ①参与项目的阶段性评审。 ②参与项目阶段产品的审计。 ③对项目日常活动与规程的符合性进行检查。 ④对配置管理工作的检查和审计。 ⑤跟踪问题的解决情况。 ⑥收集新方法,提供过程改进的依据。
    • (4)项目完成后 ①监督检查项目测试情况。 ②协助项目组完成项目验收。 ③监督检查系统安装、试运行。 ④进行项目实施后审计。 ⑤总结项目实施的经验和教训。
  9. 可行性研究的步骤是什么?
    • 可行性研究的步骤包括:①确定项目规模和目标;②研究正在运行的系统;③建立新系统的逻辑模型;④导出和评价各种方案;⑤推荐可行性方案;⑥编写可行性研究报告;⑦递交可行性研究报告。
  10. 可行性研究报告主要包含什么内容?
    • (1)引言。 (2)可行性研究的前提。 (3)对现有系统的分析。 (4)所建议的系统。 (5)可选择的其他系统方案。 (6)投资及效益分析。 (7)社会因素方面的可行性。 (8)结论。

2 项目范围管理案例

  1. 最初设计的缺陷,不能满足最终用户的要求,项目失败的问题?
    • 没有挖掘到系统的全部隐性需求,缺乏精确的范围定义。xx对系统范围控制不足。
    • 在发生需求变更时需要进行有效的需求控制
  2. 项目范围管理的工作要点。
    • (1)范围管理计划。 (2)范围定义。 (3)工作分解。 (4)范围确认。 (5)范围控制。

3 项目时间管理案例

时间管理

  1. 如果不加班,完成此项目的成本是多少?完成这一项目要花多长时间?
  2. 项目可以完成的最短时间量是多少?在最短时间内完成项目的成本是多少?
  3. 因为xxx,要赶工x天,采取什么行动,花费多少。
  • 活动编号和排序

  • 项目活动分析表。计算特定活动赶工一天的费用

  • 绘制网络图,计算关键路径

  • 项目赶工费用率表。

  • 选择赶工费用率最低的活动进行赶工。

image-20240623154233197

虚线表示虚活动,既不消耗时间,也不消耗资源

关键路径

  1. 给定基本活动,请画出项目进度计划中箭线图和前导图
  2. 本题中的关键路径有几条,并给出关键路径?
  3. 如果在任务B上迟滞了10天,对项目进度有何影响?如何处理这个问题?

前导图法:利用方框代表活动,并利用表示依赖关系的箭线将节点联系起来的网络图的方法。每个节点活动会有如下几个时间点:最早开始 时间(ES),最迟开始时间(LS),最早结束时间 (EF),最迟结束时间(LF)。

箭线图法:箭线图法是一种利用箭线代表活动,而在节点处将活动连接起来表示依赖关系的编制项目网络 图的方法。

image-20240623211646654

进度计划

  1. 在制订进度计划中有哪些错误?计算相关任务时间的六个基本参数?
  2. 项目经理于第12天检查时,任务D完成一半的工作任务,E 完成2天的工作,以最早时间参数为准判断D、E的进度是否正常?
  3. 由于D, E, I 使用同一台设备施工,以最早时间参数为准,计算设备在现场的闲置时间。
  4. H工作由于工程师的变更指令,持续时间延长为14天,计算工期延迟天数。
  • 错误一般是前置任务依赖缺失,增加虚线如图。工作分解结构表,花项目网络图。

  • 计算第一组参数:最早开始时间ES、最早完成时间EF 、自由时差FF。

    • 从起点看。某项工作有多项紧前工作时,其最早开始时间取多项紧前工作最早完成时间的最大值。EF=ES+任务时间。
  • 计算第二组参数:最迟开始时间LS、最迟完成时间LF、总时差TF (浮动时间)

    • 从终点起。保持工期不变的倒计时排序。某项工作有多项紧后工作时,其最迟完成时间取多项紧后工作最迟开始时间的最小值。

    自由时差(FF),是指在不影响所有紧后工作最早开始时间的情况下,可以延迟的时间。

    总时差(TF)是指在不影响后继活动最早开始时间的前提下,一项工作所拥有机动时间的极限值

    • ★ 自由时差=后继活动最早开始时间-本活动最早完成时间
    • ★ 总时差 = 本工作的最迟开始时间 - 本工作的最早开始时间
  • 闲置时间 = 最迟使用时间 - 最早使用时间 - 实际使用时间

image-20240623162733217

进度估计

  1. 想把此项目的进度缩 短两个月。在此假定前提下,系统的规模不能缩小,移交计划和工作,以及部件测试以后的工作不能缩短。此时应该采取什么措施
    • 给出关键路径。把P8提前到B3之后(④)开始(修改设计的网络图),然后提供理由:在概要设计完成后就完全可以着手制定移交计划。

4 项目成本管理案例

成本估算

  • 信息系统项目管理过程进行成本估算的基本方法。
    • 自顶向下估算方法:根据以往完成类似项目所消耗的总成本或工作量,来推算将要开发的信息系统的总成本或工作量。然后,按比例将它分配到各个开发任务单元中。
    • 自下而上估算方法:自下而上估算法是利用工作分解结构图,对各个具体工作包进行详细的成本估算,然后将结果累加起来得出项目总成本。
    • 参数估算方法:参数估算法是一种使用项目特性参数建立数据模型来估算成本的方法,是一种统计技术,如回归分析和学习曲线。
    • 专家估算法:专家给出系统的最小值ai、最可能值mi、最大值bi。计算每位专家的平均值Ei=(ai+4mi+bi)/6然后计算出期望值:E=El+E2+…En/n 。
    • 猜测法:估算每个任务的最大值max,最小值min,平均值avg,计算每个任务的估算值Ei=(max+4avg+min)/6,成本=直接成本(=El+E2+…+Ei … +E)+间接成本(+风险基金+税)
  • 表4-1采用了什么估算方法,表中估算成本A, B各为多少?
  • 成本估算过程中的主要困难和应该避免的常见错误。
    • (1)需求信息的复杂性。 (2)开发技术与工具的不断变化。 (3)缺乏类似的项目估算数据可供参考。 (4)缺乏专业和富有经验的人才。 (5)信息系统研发人员技术能力的差异。 (6)管理层的压力与误解。
    • 在对项目进行成本估算时,应该避免以下的常见错误: (1)草率的成本估算。 (2)在项目范围尚未确定时就进行成本估算。 (3)过于乐观或者保守的估算。

成本估算

  • 请计算表4-4中每项工作所需安排的人 力资源数量(按每天8小时工作制计算)。
  • 假设每种人力资源的小时成本如下:测试员30元/小时,程序员40元/小时,软件设计师60元/小时,系统分析师100元/小时。 请计算每项工作所需的总费用(每周按照 5 个工作日计算)。
  • 计算每项工作每周的平均费用(每周按照5个工作日计算)。

image-20240623171248362

成本控制

累积人力资源成本\(=\sum_i\) 模块工作量 i×完成率 i×平均人力周成本

根据各工程师的进度报告(进度百分比)来计算挣值,在软件开发中是不可行的,,各模块的进度百分比通常很难测量准确。

6 人力资源管理案例

  • 团队建设

    • 都是语文题,例:从中可以说明企业中的人力资源管理是一个有别于其他物质资源管理的管理科学。人力资源是 具有主观能动性的资源。这一资源的管理对人力资源的领导者提出了更高的要求。如何充分调动人 力资源的主观能动性,注意其时间性、连续性、创新性、再生性等,对于企业在激烈的竞争中保持 领先优势是至关重要的。
  • 项目团队:分析如何管理知识型员工

    • 与传统企业一般员工相比,知识员工在个人特质、心理需求及价值观念等方面有一些特殊性。 一是具有很强的独立性和自主性,注重自我引导和自我管理。二是忠诚度低,流动欲强。三是工作过程难以监控。因此,传统的管理规章、操作规程对知识员工没有很大的意义,甚至可能成为一种束缚。四是具有实现自我价值的强烈渴望。他们注重自身价值的实现,渴望看到工作的成果,注重他人、组织及社会的评价,强烈希望得到认可和尊重。五是个性突出,蔑视权势。他们大多个性突出,不愿随波逐流,趋炎附势,传统组织层级中的职位权威对他们往往不具有绝对的控制力和约束力。因此,沟通、重视、信任、承诺、支持、创新、学习、合作等成为知识员工的管理法则。
  • 人性观点