0
点赞
收藏
分享

微信扫一扫

[项目管理-1]:软硬件项目管理 - 总体概述、框架、实践活动、常见工具、软件研发过程、软件开发周期模型

作者主页(文火冰糖的硅基工坊)​

目录

​​前言:​​

​​第1章 项目集成与整体管理​​

​​1.1 项目管理是企业经营的一部分​​

​​1.1.1 项目是组织战略的一部分​​

​​1.1.2 项目是组织的一种经营活动​​

​​1.1.3 大规模、复杂性项目的特点:​​

​​1.1.4 项目管理是矩阵管理的一个维度​​

​​1.1.5 项目实施是组织内的生产活动​​

​​1.1.6 DevOps移动通信软件研发过程​​

​​1.1.7 云原生软件研发过程​​

​​1.1.9 PID闭环控制​​

​​1.2 项目管理知识体系​​

​​1.2.1 管理框架示意图​​

​​1.2.2 项目管理架构​​

​​1.2.3 五大过程组​​

​​1.2.4 10大知识领域​​

​​ 1.2.5 常见模板表格​​

​​1.2.6 项目管理模块关系图​​

​​1.2.7 变更管理​​

​​1.3  常见软件开发周期模型​​

​​1.3.1 瀑布模型​​

​​1.3.2 V模型​​

​​1.3.3 快速原型模型​​

​​1.3.4 增量模型​​

​​1.3.5 螺旋模型(敏捷模型)​​

​​1.3.6 喷泉模型​​

​​1.3.7 并行迭代开发​​

前言:

项目是公司赖以生存的物质基础的创造手段,项目用于研发产品,对项目的有效管理能够极大的提升项目的生产的效率、及时解决项目实施中遇到的问题。项目管理是一门专门的学科,本文不把打算从理论上探讨项目管理的理论,本系列从实际操作的层面阐述项目管理日常的内容、方法和工具。

第1章 项目集成与整体管理

1.1 项目管理是企业经营的一部分

1.1.1 项目是组织战略的一部分

所有的项目,首先都是为了实时组织战略、战术的一种手段和方法。项目必须为组织的战略服务。

组织的目标是:

(1)解决社会、客户问题

(2)为社会、客户创造价值

(3)从而为组织创造利润。

因此,一个项目也必须问答如下的问题:

(1)第一:解决了社会、客户什么样的问题?

(2)第二:为社会、客户创造了什么样的价值?

(3)最后:为组织创造多少利润?

1.1.2 项目是组织的一种经营活动

在任何一家公司,项目管理不是孤立的存在的,它是组织众多经营活动中的一个活动,它需要与其他活动互动,最终确保相关管理的正常实施。

既然是组织类的活动,就意味着

(1)项目与依附于组织内的各种资源

(2)项目与依附于组织内的各种部门

(3)项目与依附于组织内的各种流程

1.1.3 大规模、复杂性项目的特点:

(1)产品的复杂性:

  • 硬件功能模块规模大,硬件功能模块之间的交互复杂
  • 软件功能模块规模大,软硬件功能模块之间的交互复杂
  • 软硬件的交互复杂
  • 产品开发中使用到的工具复杂
  • 产品开发中需要的知识技能复杂

(2)版本的复杂性

  • 同时有多个软件版本同时开发
  • 软件版本发布多样

(3)组织的复杂性

  • 多个不同技能的团队
  • 团队的地理位置分布很广
  • 团队的工作时间分布很广

(4)人员的复杂性

  • 人的国界多样
  • 人的文化多样
  • 人的性格多样
  • 参与项目的规模庞大,少则上千人,多则上万人

(5)流程的复杂性

  • 软件开发的流程复杂
  • 软件管理流程复杂

(6)外部环境的复杂性

  • 组织内的跨省、跨国界
  • 组织内的跨时区

1.1.4 项目管理是矩阵管理的一个维度

[项目管理-1]:软硬件项目管理 - 总体概述、框架、实践活动、常见工具、软件研发过程、软件开发周期模型_瀑布模型

[项目管理-1]:软硬件项目管理 - 总体概述、框架、实践活动、常见工具、软件研发过程、软件开发周期模型_项目实施_02

在上图中:

(1)横轴:是部门(开发、测试、财务、生产、人事等),每个业务部门管理一些公共的资源

  • 人:人员(开发、测试、市场、销售、行政)
  • 机:机器
  • 物:物料
  • 法:方法、流程
  • 财:钱财
  • 环:环境

(2)纵轴:是项目,项目A, B, C等等,

  • 项目有自己的直接负责人(项目经理)
  • 项目有自己的各种资源(其他生产资源)
  • 项目有自己的生命周期(生产周期)
  • 项目有自己的实施过程(生产过程)
  • 项目有自己的实施流程(生产流程)

《项目管理》理论和方法,主要是针对这部分的。

现代项目管理由原先的纯粹的人和事的管理转向借助自动化工具、人工智能等辅助技术实现人机协同的项目管理!

(3)配合

项目管理人员需要资源管理部门(部门经理)密切配合。

1.1.5 项目实施是组织内的生产活动

项目实施的本质是:利用一切可用的资源进行进行的一种有组织、有计划生产活动

如下是一种常见的实践步骤:

[项目管理-1]:软硬件项目管理 - 总体概述、框架、实践活动、常见工具、软件研发过程、软件开发周期模型_总框架_03

(1)明确各种生产活动中各项工作能够有机地协调和配合集成管理):集成、总体

(2)明确利益受影响的干系人以及他们的期望与职责干系人管理) :  为谁的期望做?

(3)明确要做的事、各项生产活动、以及它们的依赖关系(范围管理):做什么?

(4)明确各项生产活动所需的时间资源的要求时间管理):什么时间做?

(5)明确各项生产活动所需要的人力资源的要求人力资源管理):什么人来做?

(6)  明确各项生产活动中不同角色的人如何进行有效的沟通、交流沟通管理):如何沟通?

(7)明确各项生产活动所需要的原材料资源的要求采购管理):需要什么物?

(8)  明确各项生产活动所需要的资金资源的要求成本管理):需要花多少钱?

(9)明确各种生产活动中可能会出现的对项目有重大影响的风险风险管理):有什么风险?

(10)如何确保生产过程以及生产出来的产品是可靠的、符合最终客户的质量要求:怎么保证质量

上述是一个项目实施的完整过程和完整的内容,通过上述10大过程并行实施,可以确保项目完全、可靠的完成最终的目标。

1.1.6 DevOps移动通信软件研发过程

[云原生专题-64]:核心概念 - 云原生技术助力5G RAN步入”云”霄 - 对云原生的理解_文火冰糖的硅基工坊的博客

[项目管理-1]:软硬件项目管理 - 总体概述、框架、实践活动、常见工具、软件研发过程、软件开发周期模型_项目实施_04

备注:

Devops软件的项目管理,都是围绕上述的软件开发过程进行的。

1.1.7 云原生软件研发过程

[云原生专题-2]:总体-实战案例架构与实战学习路径_文火冰糖的硅基工坊的博客

[项目管理-1]:软硬件项目管理 - 总体概述、框架、实践活动、常见工具、软件研发过程、软件开发周期模型_总框架_05

备注:

云原生软件的项目管理,都是围绕上述的软件开发过程进行的。

1.1.8 闭环的项目架构(PDCA + PID闭环控制算法)

[项目管理-1]:软硬件项目管理 - 总体概述、框架、实践活动、常见工具、软件研发过程、软件开发周期模型_项目管理_06

  • 计划
  • 执行
  • 监控
  • 反馈

1.1.9 PID闭环控制

[项目管理-1]:软硬件项目管理 - 总体概述、框架、实践活动、常见工具、软件研发过程、软件开发周期模型_瀑布模型_07

[项目管理-1]:软硬件项目管理 - 总体概述、框架、实践活动、常见工具、软件研发过程、软件开发周期模型_总框架_08

[项目管理-1]:软硬件项目管理 - 总体概述、框架、实践活动、常见工具、软件研发过程、软件开发周期模型_项目管理_09

1.2 项目管理知识体系

1.2.1 管理框架示意图

[项目管理-1]:软硬件项目管理 - 总体概述、框架、实践活动、常见工具、软件研发过程、软件开发周期模型_总框架_10

1.2.2 项目管理架构

[项目管理-1]:软硬件项目管理 - 总体概述、框架、实践活动、常见工具、软件研发过程、软件开发周期模型_总框架_11

1.2.3 五大过程组

[项目管理-1]:软硬件项目管理 - 总体概述、框架、实践活动、常见工具、软件研发过程、软件开发周期模型_总框架_12

  • 项目启动
  • 项目规划
  • 项目执行
  • 项目监控
  • 项目收尾

1.2.4 10大知识领域

[项目管理-1]:软硬件项目管理 - 总体概述、框架、实践活动、常见工具、软件研发过程、软件开发周期模型_总框架_13

 1.2.5 常见模板表格

[项目管理-1]:软硬件项目管理 - 总体概述、框架、实践活动、常见工具、软件研发过程、软件开发周期模型_项目管理_14

1.2.6 项目管理模块关系图

[项目管理-1]:软硬件项目管理 - 总体概述、框架、实践活动、常见工具、软件研发过程、软件开发周期模型_瀑布模型_15

1.2.7 变更管理

变更管理(Change Management)是指项目组织为适应项目运行过程中与项目相关的各种因素的变化,保证项目目标的实现而对项目计划进行相应的部分变更或全部变更,并按变更后的要求组织项目实施的过程。变更管理即Management of change(MOC):有变更的需求就要有变更的控制和管理。

变更管理是​​项目管理​​中的最重要过程之一,主要任务是分析变更的必要性。

[项目管理-1]:软硬件项目管理 - 总体概述、框架、实践活动、常见工具、软件研发过程、软件开发周期模型_项目实施_16

变更发生在项目的不同阶段,不同层次。

变更在项目执行中是非常常见的现象,变更中最重要的几个注意点包括:

(1)变更必须通知到相关的干系人,并得到相关人的一致同意才能实施,项目经理或项目组成员不能自行决定。

(2)变更必须按照流程来执行,确保相关的人和事都能够得到合理的处理。

(3)变更要尽可能早发生,避免到了项目验收阶段再进行变更 ,越靠后的变更,重新纠偏的成本越高。

1.3  常见软件开发周期模型

1.3.1 瀑布模型

原始的瀑布模型:

是将软件生存周期中的各个活动规定为依线性顺序连接的若干阶段的模型,包括需求分析、设计、编码、测试、运行和维护。

它规定了由前至后、相互衔接的固定次序,如同瀑布流水逐级下落。

[项目管理-1]:软硬件项目管理 - 总体概述、框架、实践活动、常见工具、软件研发过程、软件开发周期模型_瀑布模型_17

  • 阶段间具有顺序性和依赖性

具体指的是必须等前一阶段的工作完成才能开始后一阶段的工作,
前一阶段的输出文档就是后一阶段的输入文档,因此只有前一阶段的输出文档正确,后一阶段的工作才能获得正确的结果

  • 推迟实现的观点

瀑布模型的编码之前设置了系统分析和系统设计的各个阶段,分析与设计阶段的基本任务规定,这两个阶段主要考虑目标系统的路基模型,不涉及软件的物理实现,清楚地区分逻辑设计与物理设计,尽可能推迟程序的物理实现

  • 质量保证的观点

每个阶段必须完成规定的文档;每个阶段结束前都要对所完成的文档进行评审
 

实际中的瀑布模型带有反馈

在实际的软件项目中存在着许多不稳定因素,例如,开发中的工作疏漏或通信误解;在项目实施中途,用户可能会提出一些新的要求;开发者也可能在设计中遇到某些未曾预料的实际困难,希望在需求中有所权衡等。为了解决这些问题,考虑到许多实际项目中阶段之间有通信的需要使瀑布模型带有信息反馈环,能够逐级地将后续阶段的意见返回,并在问题解决之后,再逐级地将修正结果下传。

[项目管理-1]:软硬件项目管理 - 总体概述、框架、实践活动、常见工具、软件研发过程、软件开发周期模型_总框架_18

1.3.2 V模型

[项目管理-1]:软硬件项目管理 - 总体概述、框架、实践活动、常见工具、软件研发过程、软件开发周期模型_项目实施_19

[项目管理-1]:软硬件项目管理 - 总体概述、框架、实践活动、常见工具、软件研发过程、软件开发周期模型_项目管理_20

1.3.3 快速原型模型

快速原型模型是不带反馈环的,软件产品的开发基本上是线性顺序进行的,快速原型地本质是快速,原型的用户是获知用户的真正需求。

[项目管理-1]:软硬件项目管理 - 总体概述、框架、实践活动、常见工具、软件研发过程、软件开发周期模型_项目实施_21

1.3.4 增量模型

增量模型也称渐增模型。使用增量模型开发软件时,把软件产品作为一系列的增量构件来设计、编码、集成和测试。每个构件由多个相互作用的模块构成,并且能够完成特定的功能。
增量模型与瀑布模型,快速原型模型想反,它分批地逐步向用户提交产品,整个软件产品被分解为许多个增量构件。

[项目管理-1]:软硬件项目管理 - 总体概述、框架、实践活动、常见工具、软件研发过程、软件开发周期模型_瀑布模型_22

1.3.5 螺旋模型(敏捷模型)

螺旋模型很像我们高中时候学习的四象限它分为制定计划,风险分析,实施工程和客户评估阶段,整个螺旋模型由风险驱动,强调可选方案和约束条件从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。
螺旋模型在每个阶段之前及经常发生的循环之前,都必须要进行风险评估。

在实践中,螺旋法技术和流程变得更为简单。

迭代方法体系更倾向于按照开发/设计人员的方式工作,而不是项目经理的方式。

[项目管理-1]:软硬件项目管理 - 总体概述、框架、实践活动、常见工具、软件研发过程、软件开发周期模型_项目管理_23

  • 设计上灵活, 可以在项目的各个阶段进行变更
  • 以小的分段来构建大型系统,使成本计算变得简单容易。
  • 客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。
  • 随着项目推进,客户始终掌握项目的最新信息 , 从而他或她能够和管理层有效地交互。
  • 客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品。

1.3.6 喷泉模型

喷泉模型主要适用于利用面向对象技术的软件开发项目,可弥补瀑布模型不支持软件重用和多项开发活动集成的不足,可使开发过程具有迭代性和无间隙性。

[项目管理-1]:软硬件项目管理 - 总体概述、框架、实践活动、常见工具、软件研发过程、软件开发周期模型_总框架_24

  • 开发过程中的各个阶段相互重叠,反映了软件过程并行性的特点
  • 以分析为基础,资源消耗呈塔形,在分析阶段消耗资源最多
  • 强调增量开发,依据分析一点、设计一点的原则,并不要求一个阶段的彻底完成,整个过程一个迭代的逐步提炼的过程
  • 是对象驱动的过程,对象是活动作用的主体,也是项目管理的基本内容
  • 实现中由于活动不同,可分为系统实现和对象实现,这既反映了全系统的开发过程,也反映了对象族的开发和重用过程

1.3.7 并行迭代开发

[项目管理-1]:软硬件项目管理 - 总体概述、框架、实践活动、常见工具、软件研发过程、软件开发周期模型_项目实施_25

举报

相关推荐

0 条评论