随着组织中标准信息系统开发过程的成熟,项目时间和费用在减少,同时生产率和质量在提高。梅隆大学开发出能力成熟度模型CMM
l 第一级:初始级,混乱状态,
l 第二级:可重复级:组织已建立了项目管理过程和事件来跟踪项目费用、进度和功能。这一级的重点是项目管理
l 第三级:已定义级:组织开发了一个标准的系统开发过程。所有项目都用这个开发过程开发和维护。所有项目都使用标准化的过程,开发过程是稳定、可预测和可重复的。
l 第四级:已管理级:组织建立了可度量的质量和生存率目标。开发过程和产品质量信息收集和存储在数据库中,并且组织根据收集的数据努力调高项目管理水平。
l 第五级:优化级:根据第四级建立的度量和数据分析,标准化的系统开发过程被连续的监督和改进。组织实施制度化的持续系统开发过程改进措施。
大部分系统开发过程源自一个自然的系统生命周期,系统生命周期只是自然存在的。生命周期的两个阶段,注意两个关键事件出发了两个阶段之间的转换:
n 当系统从开发阶段循环到运行和支持阶段时,必然发生一次转换
n 在某个时刻出现报废,系统将从运行阶段循环到重新开发。
系统开发方法“执行”系统生命周期的开发阶段。
原理1:让系统用户参与
系统用户的参与对于成功的系统开发是必需的。系统设计,构造人员必须抽出时间同所有者和用户交流,坚持请他们参与项目,并对可能影响他们的决策寻求所有关联人员的支持。
人们往往抵制变化,所以信息技术经常被看作是一种威胁。克服这种威胁的最好方法,就是与所有者和用户经常全面的交流。
原理2:使用一套问题解决步骤
一般的问题解决步骤如下:
1. 研究并理解问题,问题的上下文和问题的影响
2. 定义方案必须满足的需求
3. 确定满足需求的候选方案,并选择最佳方案
4. 设计和实现选出的方案
5. 观察并评估该方案的影响,相应地细化该方案
原理3:确立开发阶段和开发活动
FAST方法的阶段 |
等价的通用阶段 |
范围定义 |
项目启动 |
问题分析 |
项目启动和系统分析 |
需求分析 |
系统分析 |
逻辑设计 |
系统分析 |
决策分析 |
系统分析到设计阶段转换阶段 |
物理设计和集成 |
系统设计 |
构造设计和测试 |
系统设计和系统实现 |
安装和分析 |
系统实现 |
原理4:在开发过程中记录文档
为了促进不断变化的关联人员之间的有效交流,文档必须随同整个系统开发工作同时展开
原理5:建立标准
建立一个企业信息技术架构并推动项目和团队执行此架构意义重大
原理6:管理过程和项目
过程管理确保一个组织选定的过程在所有项目中得到一直的运用。过程管理还定义和改进选定的过程
项目管理确保以最小的开销、在规定的时间内、以可接受的质量开发信息系统。
过程管理和项目管理受到质量管理的需求影响。过程中的质量标准确保了每个阶段的活动和交付物对高质量的信息系统的开发做出贡献。
原理7:将信息系统作为重要的投资看待
信息系统被是投资,所以系统开发项目经常由企业规划所驱动。信息系统斩落规划由企业战略规划驱动,企业战略规划够花出整个企业的发展路线。
原理8:不必害怕取消或返工
原理9:分而治之
为了更容易地解决问题并构件更大的系统,我们将一个系统分解成子系统和组件,在系统分析中,我们称为分解。简化问题解决的过程。通过将系统的不同部分委托给不同的关联人员,这种分而治之的方法对沟通和项目管理也是一种友谊的补充。
原理10:设计系统时应考虑到增长和变化
企业在不断变化,业务需求在变,业务的优先次序在变。相应地,支持业务的信息系统也必须不断的变化。好的方法应该接受变化的现实。
所有系统都随着时间不可避免地出现衰退现象。系统实现后,就进入了生命周期运行和支持阶段。在这个阶段,分析员将遇到修改系统的需求,进行修改以支持用户需求。
大部分项目的推动力院子问题、机会和知识(简称问题)。因此,问题解决包括了解决问题,探索机会和实现指示。
潜在问题的种类太多,通过PIECES问题分类框架解决。
FAST项目阶段
1. 范围定义阶段
首先,它回答一个问题:这个项目值得考虑吗?。其次它确定项目的范围,目标约束和限制条件以及所需的项目参与者、预算和进度。
最终最重要的发布物是“工作陈述”,工作陈述是开发信息系统的合约和协议,它合并了问题陈述、范围陈述以及进度和预算,提供给所有将参与该项目的各方。
2. 问题分析阶段
问题分析阶段研究现有系统,分析和发现问题,促使项目团队更深入的理解英发该项目的问题,并回答一个重要问题:解决这些问题的收益是否超过构建系统的开销?
问题分析阶段的前提条件是范围定义阶段定义和批准的“范围和问题陈述”,发布物是一组“系统改进目标”,来自对业务问题的全面理解。这些目标不是定义输入,输入和过程,而是定义业务评价标准,新系统将按照这个标准进行评价。
3. 需求分析阶段
新系统应该为用户提供什么功能?必须收集什么数据?存储什么数据?期望达到什么样的性能等级?注意,也就是要求做出关于系统必须做什么的决策,“需求分析阶段”就是要定义业务需求,并且为他们排序。简单的说,分析员同用户接触,找出用户需要什么,或者他们想从系统中得到什么?
来自问题分析阶段的“系统改进目标”是需求分析阶段的前提,交付物是“业务需求陈述”。
通常需求也必须排列优先级,有两个作用:
l 如果项目时间要求变得紧迫,需求优先级可被用来重新确定项目范围
l 优先级经常用来定义设计和构造系统的迭代层次,以形成最终产品的分级发布物。
4. 逻辑设计阶段
业务需求通常是口头表达的。系统分析员要把这些话语转换成系统模型。以验证需求的完整性和一致性。系统建模印证了一个永恒的概念:一幅图胜过千言万语。
此阶段将业务需求转换成系统模型。逻辑设计意味着与技术无关。即模型图鼓励与任何可能的技术方案展示了整个系统。
此阶段交付物:逻辑设计模型和规格说明书
5. 决策分析阶段
当获得业务需求和逻辑系统模型后,通常有大量的可选方案用来设计满足这些需求的新系统。
此阶段的目的是:
l 确定候选技术方案
l 分析这些方案的可行性
l 推荐一个候选系统作为目标方案进行设计。
此阶段的交付物是:系统方案建议
6. 物理设计和集成阶段
此阶段的目的是将业务需求陈述转变成用于知道系统构造的“物理设计说明”。也就是说,物理设计解决如何将技术应用与新系统中。
此阶段的交付物是:物理设计模型和规格说明
7. 构造和测试阶段
此阶段的目的是:
l 创建并测试一个实现业务需求和设计说明的系统
l 实现新系统和现有系统之间的接口。
8. 安装和发布阶段
9. 运行和维护阶段
一旦系统投入运行,就需要对其生命周期的剩余阶段提供不断的系统支持:
l 辅助用户使用
l 修正软件BUG
l 恢复系统(安全方面)
l 调整系统适应新需求
也就是说未开始项目就提前介入组织中进行提前的了解和准备
l 过程管理定义了每个项目使用的方法---可以理解成盖楼的方法,来构建系统
l 项目管理则是把管理方法应用单个项目时的实例
瀑布开发或迭代开发