系统架构师之——开发管理

开发任何一个系统都有时间与资源的成本限制,要最大效益就必须开发管理,控制成本控制风险保证质量,且贯穿整个项目生命周期。本文将分享项目生命周期中如何进行开发管理提供参考学习。

-概念阶段:需求收集-项目策划-风险评估等

-开发阶段:人员构成-技术路线-任务分解-工作计划-风险控制-质量保证等

-实施阶段:工作任务分解-组织协调-监督-指导-控制等

-结束阶段:财务清算-文档总结-评审验收-交付培训等

系统架构师之——开发管理


而开发管理涉及信息系统开发各个方面,主要有:

  1. 项目管理相关的范围管理-时间管理-成本管理
  2. 软件的文档管理-配置管理
  3. 软件的需求管理
  4. 软件开发质量与风险-软件质量属性
  5. 软件运行与评价
  6. 软件过程改进
  7. 人力资源管理
系统架构师之——开发管理


不管你是做Java后台开发还是Web前端或者是Android/IOS移动app开发,任何一个项目都要进行开发管理。不管采用什么开发过程模式或者什么架构什么设计模式什么算法,都需要进行软件开发管理质量保证时间成本管理,以及风险把控。也为软考的同学复习提供参考,

一 项目范围管理

1-范围:

-产品范围:功能需求

-项目范围:系统交付必须的内容

系统架构师之——开发管理


2-检验衡量标准:

  • -项目管理计划
  • -项目范围说明书
  • -WBS(工作分解结构)

3-计划

  • -如何从项目初步范围说明书来编写详细的范围说明书
  • -如何进行更加详细项目范围说明书编制WBS,如何核定编制的WBS
  • -如何核定和验收项目所完成的可交付成果
  • -如何进行变更请求的批准

4-定义

范围定义可以增加项目时间-费用-资源估算的准确度。

  • -范围边界:该做什么,不该做什么
  • -可交付成果:罗列清单

5-WBS创建

WBS是面向可交付物的项目元素的层次分解,分解后项目所有人对其达成共识才能进行时间和成本的估算。对项目整体或主要可交付成果分解成容易管理/方便控制的若干哥子项目/工作包,并继续分解。

系统架构师之——开发管理


系统架构师之——开发管理


创建分层:

  • 管理层:描述与目的
  • 技术层:描述与目的

常用工具:Microsoft Project

系统架构师之——开发管理


如下案例:

系统架构师之——开发管理


6-范围变更

-变更影响项目变化因素,保持有利方面发展

-判断项目变化范围是否已经发生

-变更变化发生后采取何种措施处理

二 项目成本管理

1-成本估算:时间/资源估算

  • 自顶向下的估算法
  • 自底向上的估算法
  • 差别估算法
系统架构师之——开发管理


2-成本预算:成本控制

预算步骤:

  • 分摊项目总成本到WBS各个工作包中,为每一个工作包建立总预算成本
  • 将每一个工作包分配得到的成本再加二次分配到工作包所包含的各项活动上
  • 确定各项成本预算支出时间计划,以及每一个时间点对应的积累预算成本,指定项目成本预算计划

直接成本间接成本:

  • 非直接成本:租金/保险/管理费/工具设备/第三方工具等证书授权费用
  • 隐没成本:即原型试错成本
  • 学习成本:新技术技能要求学习成本/资料/培训等
  • 项目完成时限:时限越短成本越高/加班赶项目/风险
  • 质量要求:每一个项质量要求带来额外的成本
  • 保留预留: 预留非人力因素等起其他情况操作空间成本
系统架构师之——开发管理


可参考文章:https://blog.csdn.net/zhangbijun1230/article/details/79928831

零基准预算:不以过去的项目成本作为参考基准,而是从新根据项目的规模/性质/工期要求计算。

3-挣值分析:偏差分析法

测量进度和成本,估算和确定变更程度和范围,并以预算和费用衡量项目进度情况。

系统架构师之——开发管理


三 项目时间管理

涵盖项目整个过程每一个环节的时间管理。

主要内容包括:

  • 活动定义:WBS规定可交付或者半成品产生的必须要进行的活动进行定义
  • 活动排序:确定各个活动之间的依赖
  • 活动历时估算:根据项目范围和资源进行设定历时输入的过程
  • 进度计划编制:编制表
  • 进度控制:对整个过程进行控制,保证进度
系统架构师之——开发管理


1-活动排序方法

  • 前导图法PrecedenceDiagrammingMethod ,PDM
系统架构师之——开发管理


  • 箭线图法 Arrow Diagramming Method ,ADM
系统架构师之——开发管理


  • 确定依赖关系:强(紧)制性依赖关系/自由处理依赖关系/外部依赖关系
系统架构师之——开发管理


2-活动历时估算

  • 软件项目的工作量计算:人天工时计算
系统架构师之——开发管理

https://www.cnblogs.com/lcchuguo/p/5325304.html

  • 德尔非法 Delphi

(反馈匿名函询法,在对所要预测的问题征得专家的意见之后,进行整理、归纳、统计,再匿名反馈给各专家,再次征求意见,再集中,再反馈,直至得到稳定的意见)

系统架构师之——开发管理


  • 类比估算法(主要是类比类似系统估算代码量行数/工作量)
  • 功能点估计法

3-关键路径法:最长路径

系统架构师之——开发管理


系统架构师之——开发管理


4-计划评审技术 Plan Evaluation and Review Technique PERT技术

PERT图构成如下:

系统架构师之——开发管理


案例:

系统架构师之——开发管理


5-甘特图和时标网络图

系统架构师之——开发管理

甘特图

系统架构师之——开发管理

时标网络图

6-进度控制

确保项目工期不变保证项目质量要进行有效对策进行进度控制,主要方法如下

  • 分析进度偏差影响:

-分析进度偏差活动是否为关键活动

-分析进度偏差是否大于总时差

-分析进度偏差是否大于自由时差

  • 项目进度计划的调整

-关键活动调整:关键活动进度比较计划进度提前的调整/关键活动的实际进度比较计划进度落后的调整

-非关键活动的调整:

-增减工作项目

-资源调整

四 配置管理

CMMI定义:配置管理目的在于运用配置标识/配置控制/配置状态/配置审计建立和维护产品的完整性。这部分单独出去就是配置管理工程师的内容。

1-主要内容:

  • 制定有效的配置管理计划
  • 配置项的标识
  • 建立配置库与工作空间
  • 分支管理
  • 版本管理
  • 基线管理
  • 变更管理
  • 配置审计
  • 构建管理
  • 发布管理
  • 缺陷管理

2-过程

  • 建立配置变更控制委员会
  • SCM库的建立和使用(VSS/SVN)
  • 配置状态报告
  • 评审、审计和发布过程
系统架构师之——开发管理

http://www.uml.org.cn/course-scm/pzgltixiysj.asp

五 质量管理

1-什么是项目质量管理

系统架构师之——开发管理


2-项目质量管理七个基本原理

分别为系统原理、PDCA循环原理、全面质量管理原理、质量控制原理、质量保证原理、合格控制原理和监督原理。(详细可见思维导图)

系统架构师之——开发管理


3-质量管理工具

质量管理工具图表主要:

统计分析法、数据分层法、散布图、帕累托图、因果分析图、直方图和控制图

系统架构师之——开发管理


Edraw Project这款专业的项目管理工具。

六 风险管理

1-内容

系统架构师之——开发管理


  • 风险识别:风险识别包括确定风险的来源,风险产生的条件,描述其风险特征和确定哪些风险事件有可能影响本项目。
  • 风险量化:涉及对风险及风险的相互作用的评估,是衡量风险概率和风险对项目目标影响程度的过程。
  • 风险应对计划制定:针对风险量化的结果,为降低项目风险的负面效应制定风险应对策略和技术手段的过程。
  • 风险监控:涉及整个项目管理过程中的风险进行应对。

2-步骤

系统架构师之——开发管理


系统架构师之——开发管理

https://www.cnblogs.com/wintersun/p/5468004.html

七 软件运行管理与评价

系统评价

运行管理

八 软件过程改进

CMM/CMMI是衡量企业软件过程能力的国际标准,它对软件过程改进有很多有益的指导.对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述

-软件过程能力成熟度模型CMM

系统架构师之——开发管理


-能力成熟度模型集成CMMI:连续式和阶段式两种

系统架构师之——开发管理

连续式

系统架构师之——开发管理

阶段式

- CMM/CMMI/SPCA实施的基本流程如下:

基础培训-->差距分析-->文件评审-->项目试点-->制度化-->预评估-->最终评估

其中制度化过程的时间一般不低于6个月。

九 总结

开发管理范围很多,基本整个项目中涉及到软件开发的过程内容的管理知识点。从项目管理范围确定的管理,到项目时间/成本管理,文档源码版本控制管理,配置管理,软件的质量风险属性,运行评价与改进等等方面。


您可能还会对下面的文章感兴趣: