软件架构风险管理

  • 格式:pdf
  • 大小:354.83 KB
  • 文档页数:17

软件架构风险管理

󰂄如何识别软件架构的风险

󰂄如何规避软件架构风险

󰂄软件架构风险管理与控制

如何识别软件架构的风险

(1)需求的不断变化

(2)架构师对于技术理解不足

(3)缺乏对行业的研究

(4)经验不足

(5)创造性的架构比重比较重

(6)没有形成一套构架的规范

(7)架构可执行性差

如何规避软件架构风险

󰂄固化需求

󰂄完善的业务原型

󰂄完整架构规范

󰂄验证架构的可执行性

󰂄80%的经验架构+20%的创新架构

软件架构风险

管理与控制

风险管理过程

1.标识2.分析和优先级化

3.计划和调度

4.跟踪和报告5.控制6.学习

风险标识

风险标识(1)

󰂄目标󰂄为小组创建一个他们面临的风险的列表

󰂄输入

󰂄是一般和项目风险相关的可用的知识,包括业务、技术、组织和环境域

󰂄风险标识活动󰂄MSF风险管理准则强调风险标识在一个项目中要周期性实施。󰂄风险标识可以是进度驱动的,可以是里程碑驱动的,或事件驱动的。

风险标识(2)

󰂄结构化方法

󰂄风险分类󰂄风险陈述

……规章法律环境的……开发和测试环境保障性技术……决策使命和目标过程……最终用户客户人员项目风险源的高层分类

风险标识(3)

󰂄结构化方法

󰂄风险分类

󰂄风险陈述

风险标识(4)

󰂄输出

󰂄风险标识活动最基本的输出是对小组面临的风险的明确的、无二义的、达成共识的陈述,用风险列表的方式记录。󰂄MSF风险管理建议小组必须创建表格记录的风险陈述、根源和向下影响的信息

增加了附加的重复工作,产品交付延期小组之间沟通很困难开发组在两个地方:伦敦和洛杉机组织我们的产品将晚上市,竞争对手会抢占市场份额开发时间会延长我们的开发人员正在使用一种新的编程语言。技术变更降低了客户满意度我们交付时可能会有更多的缺陷开发角色和测试角色已被合并人员不充足下游影响结果条件根源

分析和确定风险优先级

󰂄风险优先级化确保小组首先处理最重要的项目风险。

分析和确定风险优先级(1)

󰂄目标󰂄首要目标是确定风险列表中各项的优先级,确定哪些是需要分配资源做计划的风险。󰂄输入󰂄切题的信息可来自组织风险政策和指南,行业风险数据库,模拟、分析模型,业务单位经理,领域专家等。󰂄风险分析活动󰂄风险分析最易使用的一个方法是:使用两个被广泛接受的风险成分,即概率(probability)和影响(impact),让小组对这两个风险成分达成共识的估计,这两个量可以被相乘来计算一个简单度量,即风险爆发(risk exposure)

分析和确定风险优先级(2)

󰂄风险概率

󰂄概率的三值表示法

󰂄概率的七值表示法3高84%68%-99%2中50%34%-67%1低17%1%-33%数值计分自然语言表述计算用概率值概率范围

7几乎确实93%87%-99%6很可能79%73%-86%5可能65%58%-72%450-5050%43%-57%3不可能35%29%-42%2低21%15%-28%1极不可能7%1%-14%数值计分自然语言表述计算用概率值概率范围

分析和确定风险优先级(3)

󰂄风险影响

󰂄金钱损失计分表

󰂄风险影响计分表$10 billion以上10$1 billion -$10 billion9$100 million -$1 billion8$10 million-$100 million7$1,000,000-$10 million6$100,000-$1,000,0005$10,000-$100,0004$1000-$10,0003$100-$10002低于$1001金钱损失计分

不能完成使命延期超过1个月大于10%或更多严重的(critical)对性能严重影响延期1个月少于10%高(high)对性能中等程度影响延期2周少于5%中等(Medium)对性能轻微影响延期1周少于1%低(low)技术的进度费用超出限度标准

分析和确定风险优先级(4)

󰂄风险爆发= 风险概率* 风险影响

󰂄风险概率和风险影响矩阵

321低= 1642中等= 2963高= 3高= 3中等= 2高= 1概率\影响

分析和确定风险优先级(5)

󰂄量化方法补充

󰂄风险有加权的优先级矩阵

0.8434300.334.98160.842022000.3337.640.33442000.8483.5960.5215000.5125.025概率控制可行性控制费用(千美元)需要时间(周)影响(千美元))概率排序值

分析和确定风险优先级(6)

󰂄输出

󰂄风险主列表

󰂄附加的分析方法

󰂄风险陈述表

󰂄最高风险列表

󰂄使风险无效

附:风险主列表

󰂄风险主列表

0.6230%某些产品功能特性将不能实现无书面的需求规格说明30.9245%交付时有更多缺陷新出编程语言没有标准22.4380%在年底失去资金长项目进度表1爆发影响概率结果条件优先级

附:风险主列表条目

可选捕获在特定时间框中实现风险控制的重要性实现的时间可选记录下背景信息以便捕获小组提出风险的意图上下文可选确保合适的影响估计对下游的影响可选指导有效的干涉计划根源要求描述更正措施应急计划和触发器要求描述预防措施缓解计划要求确保按照风险行动计划贯彻到底所有者要求行动优先级化优先级(等级)要求重要性的单项量度排序准则要求量化损失严重性或机会费用的规模影响要求量化发生的可能性概率要求明确描述一个风险风险陈述状态目的条目

附:风险陈述表格中的内容

一个风险标识符列表,小组用它来跟踪相互依赖的风险相关风险一段文字,包含附加的背景信息,用于帮助澄清风险状况风险上下文风险的整体威胁,是实际损失的可能性和潜在损失的规模量的平衡,小组使用风险爆发来估量风险并排序,爆发是风险概率与影响的乘积风险爆发如果风险实际发生,影响的规模量,这个量可以是金钱的损失量,或用1-10来表示的相对规模风险影响风险可能产生影响的类型的粗分类。风险影响分类一个概率大于零,小于100%,代表一个能导致损失的风险实际发生的可能性风险概率描述如果风险已经发生,将导致的损失的一段文字,它构成风险陈述的第二部分风险结果描述会导致损失的已有条件的一段文字。它构成风险陈述的第一部分风险条件风险来源领域的粗分类,用于当需要寻找重复发生的风险根源时,标识领域风险源小组用唯一的名字标识一个风险,用于风险报告和跟踪风险标识符意图条目

风险计划和调度

风险计划和调度(1)

󰂄目标

󰂄为风险分析所标识的最高风险的控制开发详细计划,并把它们集成到标准的项目管理过程中,以确保它们完成。

󰂄输入

󰂄包括风险主列表,最高风险列表,来自风险管理知识库中的信息,以及项目计划和进度表。

风险计划和调度(2)

󰂄计划活动

󰂄研究

󰂄接受

󰂄避免

󰂄转移

󰂄缓解

󰂄应急计划

风险计划和调度(3)

󰂄调度活动

󰂄小组应该认识到风险控制活动是项目有机成份,而不是自愿实施的额外活动。

󰂄输出

󰂄风险行动项

󰂄风险行动表

󰂄更新项目进度表和项目计划

风险跟踪和报告

风险跟踪和报告(1)

󰂄目标

󰂄监视风险行动计划的状态

󰂄监视与应急计划触发器相关的项目度量

󰂄提示应急计划已触发,启动应急计划

󰂄输入

󰂄风险行动表

󰂄相关项目的状态报告

󰂄跟踪活动

󰂄为每个风险创建特定风险状态报告

风险跟踪和报告(2)

󰂄风险状态报告

󰂄风险报告运行在两个层次上,一个层次是小组本身,另一个层次是向外部干系人报告。

󰂄输出

󰂄风险状态报告的目的是通告风险状态的变化,报告缓解计划的进展

风险控制

风险控制(1)

󰂄目标

󰂄成功执行为最高风险开发的应急计划

󰂄输入

󰂄风险行动表

󰂄控制活动

󰂄风险控制活动应利用标准的项目管理过程使启动、监视和评估能沿着计划好的行动路线进展

󰂄输出

󰂄输出是标准的项目状态报告,它记录了应急计划逐步完成的进展情况

从风险中学习

从风险中学习项目计划和进度

小组经验风险行动表格新风险修改后的风险分类应急计划缓解计划风险主列表

风险状态报告

风险知识库风险政策和指南风险政策和指南变更的建议

从风险中学习(2)

󰂄捕获风险学习󰂄风险分类记录学习的两个关键方面是:新风险;成功的缓解策略󰂄管理从风险中学习󰂄在特定的风险分类域必须有专人负责󰂄风险分类应平衡两个方面的需求:风险覆盖的全面性和复杂性及可用性。󰂄需要建立一个风险知识库来维护风险分类,定义,诊断准则,评分系统,以及捕获使用它们的小组经验反馈󰂄需要很好的管理风险审核过程,确保捕获所有的学习经验。

从风险中学习(3)

󰂄上下文相关的风险分类

󰂄对于特殊的、一再重复的项目上下文,要通过开发风险分类来求精风险标识

󰂄风险知识库

󰂄在管理风险知识中提高成熟度

󰂄最低层,没有知识库,在实施风险管理时从零开始。󰂄第二级将采用非形式的知识库󰂄第一级是为风险标识提供了一个更加结构化的方法。