「软件项目管理」项目初始——项目确立与生存期模型
Posted 星期一研究室
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了「软件项目管理」项目初始——项目确立与生存期模型相关的知识,希望对你有一定的参考价值。
「软件项目管理」项目初始阶段——项目确立与生存期模型
🛰️序言Preface
对于软件项目的初始阶段来说,首先需要进行项目确立与生存期模型的选择。那在下面的这篇文章中,将与大家一起来学习软件项目管理初始阶段时的两个过程。
叮,开始学习叭~🧐
🚀一、项目评估
1、评估内容
评估是立项的依据,从战略、操作性、计划、技术、社会可行性、市场可行性、经济可行性等方面进行评估,对整个项目的投资和效益进行分析。
2、净利润与投资回报率
- 净利润:总收入与总成本之差
- 投资回报率: (平均年利润/总投资)* 100%
3、举例阐述
例:4个项目的现金流预测如下表所示,请计算每个项目的净利润与投资回报率。
年\\项目 | 项目1 | 项目2 | 项目3 | 项目4 |
---|---|---|---|---|
0 | -10万 | -100万 | -10万 | -12万 |
1 | 1万 | 20万 | 3万 | 3万 |
2 | 1万 | 20万 | 3万 | 3万 |
3 | 1万 | 20万 | 3万 | 3万 |
4 | 2万 | 20万 | 3万 | 3万 |
5 | 10万 | 30万 | 3万 | 7.5万 |
净利润 | ||||
投资回报率 |
依据上面的数据,我们来看下各个项目的净利润和投资回报率。具体如下表:
项目1 | 项目2 | 项目3 | 项目4 | |
---|---|---|---|---|
净利润 | 5万 | 10万 | 5万 | 7.5万 |
投资回报率 | 10% | 2% | 10% | 12.5% |
以项目1为例子,我们来详细介绍下计算过程。具体如下:
净利润(项目1)= 总收入 - 总成本 = (1+1+1+2+10)- 10 = 5w
投资回报率(项目1) = (平均年利润/总投资)*100% = 总 利 润 / 年 份 总 投 资 \\frac{总利润/年份}{总投资} 总投资总利润/年份 = 5 / 5 10 \\frac{5/5}{10} 105/5 = 10%
🪐二、项目立项
1、立项流程
每一个项目在立项时都有一个完整的流程,如下图所示:
2、Make or Buy决策
对于一个大项目来说,我们要依据自身所拥有的成本来考虑是 Make
还是 Buy
,也就是说,要选择自己开发软件的策略还是选择购买软件公司产品的策略。Make or Buy 决策的流程如下:
3、Make or Buy决策实例
我们来举个例子学习一下。假设我们现在要开发一款软件,这款软件如果选择自己研发的话,需要花费💴25000美元的购买费,同时,每个月还要对研发的这个软件进行维护,费用是💴2500美元/月。
另外一种方法,如果选择购买软件公司产品的话,那么需要花费💴17000美元的购买费,同时,每个月还要对每个安装的软件进行维护,费用是💴2700美元/月。
如下图所示:
下面,我们来计算一下成本差异。如下图所示:
通过上图,我们可以了解到:制造上的差异是8000美元,服务上的差异是200美元。因此,自制方案可以承受的月份数是8000/200=40。
最终得出的解决方案是,如果软件的生存期在40个月以内,那么可以选择购买方案。如果软件的生存期超过40个月,那么选择自制方案。
🛸三、项目招投标
1、项目招投标过程
对于一个项目来说,往往有招投标过程。主要流程如下:
我们来梳理下甲方和乙方两者各自的区别:
甲方(需方) —— 提供需求方,一般是企业,作为客户。
乙方(供方) —— 满足需求方,一般是软件开发商。
2、项目招投标双方主要任务
甲方(需方) —— 招标书定义,供方选择,合同签署。
乙方(供方) —— 项目分析,竞标,合同签署。
🌠四、项目授权
1、项目章程(Project Charpter)
项目章程,也可以称为是授权书。它包含以下两个部分:
(1) 一份正式批准项目并且授权项目经理在项目活动中使用组织资源的文件。
(2) 确认项目存在的文件,包括对项目的确认、对项目经历的授权和项目目标的概述等。
2、项目经理的能力(PMI人才三角)
对于一个项目经理来说,需求具备以下三种能力:
- 领导力
- 技术项目管理
- 战略和上午管理
如下图所示:
五、生存期模型
1、分类
生存期的模型的分类有以下四种,分别是:
- 预测型 —— 需求固定,项目活动只执行一次,提交一次,目标是成本可管理。
- 迭代型 —— 需求变化,重复执行直到正确为止,提交一次,目标是得到正确的解决方案。
- 增量型 —— 需求变化,特定增量的活动只执行一次,频繁地小增量提交,以速度为目标。
- 敏捷型 —— 需求变化,重复执行知道正确为止,频繁地小增量提交,通过频繁提交和反馈来体现客户价值。
2、选择生存期的步骤
选择生存期模型的步骤如下:
①熟悉各种生存期模型→②评审、分析项目的特性→③选择适合项目的生存期模型→④表示生存期模型与项目不一致地方,并进行裁减。
下面将一一对以上分类中的这几种生存期模型进行解析。
🌌六、预测型生存期模型
预测型生存期模型包括瀑布模型和 V
模型,接下来我们来了解一下这两种模型各自的特征~
1、瀑布模型
(1)瀑布模型的项目流程
瀑布模型的项目流程如下图所示:
(2)适合瀑布模型的项目特征
适合瀑布模型的项目特征有以下三点,分别是需求、方案、类似项目。如下图所示:
2、V 模型
(1)V 模型的项目流程
V
模型的项目流程如下图所示:
(2)适合V 模型的项目特征
对于适合 V
模型的项目来说,其项目特征有以下三点,分别是需求、方案、类似项目。如下图所示:
🛩️七、迭代型生存期模型
1、迭代模型——原型
(1)原型模型的项目流程
原型迭代模型的i项目流程如下图所示:
(2)适合原型模型的项目特征
对于原型模型的项目来说,主要有两大特征,分别是:①需求不够明确;②希望减少项目需求的不确定性。如下图所示:
🛫八、增量型生存期模型
1、增量模型:Incremental Model
(1)增量模型的项目流程
增量模型的i项目流程如下图所示:
(2)适合原型模型的项目特征
对于增量模型的项目来说,主要有三大特征,分别是:①需求基本明确,但也有可能发生变化;②对于市场和用户把握需要逐步了解;③系统改造需要一步步实施。如下图所示:
🛬九、敏捷型生存期模型
1、定义
- 敏捷生存期模型是敏捷组织提出的一种灵活开发方法;
- 用于应对迅速变化需求的快速软件开发方法;
- 是一种迭代、循序渐进的开发方法。
2、敏捷宣言
敏捷宣言有以下四点,分别是:
- 个体和交互胜过过程和工具;
- 可以工作的软件胜过面面俱到的文档;
- 客户合作胜过合同谈判;
- 响应变化胜过遵循计划。
3、敏捷生存期模型的分类
敏捷生存期模型主要有以下5种类型:
- Scrum模型
- XP模型
- OpenUp
- 看板方法
- DevOps
下面将对这几种敏捷模型进行一一介绍。
4、Scrum模型
Scrum模型如下图所示:
5、XP模型
(1)定义
XP
(eXtreme Programming)极限编程模型是由 Kent Beck
提出的一套针对业务需求和软件开发实践的规则。它包含故事、 CRC
卡片、保持简洁和结对编程四个特征。
(2)极限编程方法的实施原则
极限编程方法有以下三种实施原则,具体为:
- 快速反馈(Rapid feedback)
- 假设简单(Assuming simplicity)
- 包容变化(Embracing change)
6、OpenUp模型
(1)OpenUp模型流程图
先来看 OpenUp
的模型流程图,具体如下:
(2)几个概念
对于 OpenUp
模型来说,有几个概念需要了解。具体如下:
- 项目干系人:以月为周期,通过项目计划获知产品的进展情况。
- 团队:以周为周期,完成迭代计划。
- 个人:以日为周期,完成工作细目。
7、看板方法
看板方法模型,使得项目管理实现最大的可视化,可以对研发的过程进行管理,记录下用户故事研发过程中的细节和历程。(将要做的,正在做的,已经完成的)
研发过程中的细节和历程如下图所示:
8、DevOps
DevOps
,即 Development & Operations
。该模型的特点是,促进开发、技术运营和质量保障部门之间的沟通、协作与整合。如下图所示:
⛱️十、结束语
在上面的这篇文章中,我们学习了在项目初始阶段时的两个过程,项目确立与生存期模型。生存期的内容细碎和繁琐,大家可以多学几遍慢慢消化。
到这里,关于项目确立与生存期模型的介绍就讲解完毕啦!希望大家对项目确立与生存期模型有一个基本的认识~
如果您觉得这篇文章有帮助到您的的话不妨点赞支持一下哟~~😉
🛵专栏直通车
以上是关于「软件项目管理」项目初始——项目确立与生存期模型的主要内容,如果未能解决你的问题,请参考以下文章
大数据技术之_16_Scala学习_11_客户信息管理系统+并发编程模型 Akka+Akka 网络编程-小黄鸡客服案例+Akka 网络编程-Spark Master Worker 进程通讯项目(示例代