敏捷风险管理:识别和应对项目威胁与机会

项目风险是一种不确定的事件或条件,一旦发生,就会对项目目标造成积极或消极的影响。

现实中,风险可能是微妙而复杂的,缺少经验的人很难对其进行识别和管理。

敏捷风险管理是敏捷项目治理的基础。在敏捷环境下,敏捷风险管理可以理解为推动风险的可视化,确保与风险相关的集体所有权和问责制,并在以人为本原则建立的环境中为决策提供支持。

 风险识别与评估  

风险和后果经常被混淆。因此,风险的识别往往比人们想象的困难。

例如:

有一个将 Web 应用程序从物理基础架构迁移到虚拟基础架构的项目。项目面对的一个担忧是“该应用程序迁移后是否仍然能被访问?”                             大部分人认为 Web 应用程序的不可用性是一个项目风险,但这实际是迁移后的失败后果。真正存在的不确定风险是“什么导致了web应用程序不可访问?”    如:虚拟基础架构系统设置是否正确?或者 Web 应用能否通过域名系统 [DNS] 寻址?                           

风险和后果之间这种混淆不易被察觉,并对风险管理活动造成误导。对于围绕风险认识的微妙细节,敏捷团队的最好技巧之一是基于:

“是什么-为什么”实践                    

用小组头脑风暴会议,发现项目可能出现的风险问题,随后分析每件事情为什么可能会发生。是什么识别后果,为什么涉及风险。

在讨论为什么一个事情可能发生时,常常会听到关于不确定性的明确陈述见。例如:

迁移案例中,对 Web 应用程序不可访问(是什么)进行进一步分析,会发现各种各样的风险(为什么)。              如:虚拟服务器的配置或 DNS 条目的正确性。                

从中也能够识别有意义的对策,这种识别方法很简单,特别是对于团队而言。但是,举行这类讨论会时,不能专注于纯粹的消极事件(例如:什么可能出错)。而应该保持讨论的开放性,发现项目可利用机会。

风险应该被记录在风险登记簿中,与用户故事或其他敏捷项目任务用一致的方式进行维护。将风险登记簿放在所有团队成员能够访问的地方、并鼓励他们经常、提前提供风险反馈(如:更新、补充、修正)来实现风险管理

 风险类型  

软件开发分为开发人员、过程、产品和技术4个维度,互相联系和统一,共同决定了软件开发的速度和效率。

而项目风险对应这4个维度,分别存在4类风险

  • 人员风险

人员风险包括:沟通不畅,缺乏协作,人员变动,素质低下,矛盾和冲突,缺乏激励,士气低下,对业务不理解,缺乏优秀人才,缺乏客户介入等。

  • 技术风险

技术风险包括:伪敏捷,架构体系不稳定,设计不佳,缺乏技能,高估新技术等。

  • 产品风险

范围风险包括:功能不符,需求镀金,功能蔓延,质量低下,工期延误,成本超支,客户满意度低,低产品价值,低投资回报等。

  • 过程风险

过程风险包括:缺乏计划,迭代掌握不佳,评估和规划不合理,缺乏风险管理,缺乏质量保证措施等。

敏捷软件开发的风险处理方法  

敏捷软件开发过程中,主要从人、过程、产品和技术四个纬度进行的风险处理过程。

1. 人员风险

↘  敏捷软件开发管理通过频繁沟通、每日站立会议、反馈等方式解决沟通不畅,缺乏协作的问题;

↘  通过领导、结对编程、代码集体所有权等方式促进团队协作,也可以很好地应对人员离开带来的风险;

↘  通过频繁的产品发布提高人员成就感和士气;

↘  通过现场开发,降低缺乏客户介入的风险;

↘  通过敏捷开发团队注重培养,当敏捷团队中出现人员流动的情况下,就会有很多后备人才可以承担他留下的工作。用T字型人才以缓解人员风险。

T字型人才,指团队成员对开发过程的某一领域具备较深的造诣,在其他相关领域也具备一定能力。                           如:一个有经验的软件编码人员同时具有详细设计和测试的能力。  

2. 技术风险

敏捷软件开发通过迭代、测试套件、重构等方式适应变化和演进,避免了传统的开发方法在一开始就进行架构及设计,导致架构体系不稳定和设计不佳的风险。

对敏捷技能险,通过引入敏捷教练、结对编程、学习环的方式应对。

而非敏捷软件开发特有的普适性技术风险,可以通过组织和加强内部技术人员的培训和培养,引进能解决项目关键问题的优秀人才,防止优秀人才的流失等方式规避。

3. 产品风险

敏捷软件开发通过迭代、反馈、客户参与的方式解决“构建错误产品、功能蔓延、需求镀金、质量低下、客户满意度低”等风险。

通过综合考虑功能的价值和风险,按照“高风险高价值→低风险高价值→低风险低价值→高风险低价值”的顺序开发产品功能,渐次降低价值风险;

通过对净现值、内部收益率、回收期、贴现回收期等经济指标的综合分析,规避项目的投资回报风险。

4. 过程风险

进度风险的缓解方法包括:

  • 迭代计划会议:敏捷开发是多个迭代周期依次进行的,每个迭代周期时间都不长。因此,风险可以及时发现、及时处理。

而且,迭代周期内出现意外、变更或其它风险,也会在下个迭代处理。只要在迭代计划会议上定出合理的迭代计划,团队就可以按照开发节奏推进项目,避免被意外打乱计划。

  • 估算团队速率:团队速率影响迭代计划和版本计划的可行性。

敏捷迭代都要完成需求、设计、实现、测试活动,不同的是完成的需求不同;在经历1~2个迭代后,可以得到比较真实的团队速率。

  • 现场用户交流:软件开发人员和作为用户代表的产品经理实时进行交流,一起对需求进行细化,排定需求的优先级。

这样做很大程度避免了在开发过程中出现影响进度的需求变更。

  • 缺陷清除前移:敏捷的每个迭代都会进行测试活动,这样做可以有效减少项目后期遗留缺陷,进度更加可控。

功能和进度风险保护:

  • 设置功能缓冲区和进度缓冲区,从功能和进度两个方面保护项目免受不确定性的冲击。

  • 从3个方面对进度风险进行定量分析: 

a)  N=S/V,估算的项目总迭代数(S:项目的总故事点数,V:速率,基于历史数据计算的每一次迭代所能完成的故事点数)

b)  用正态分布N(μ,σ的平方),得到每一次迭代的平均故事点数X和标准差σ,计算μ=(S/N-X)/σ,并得出项目按时完成的概率 

c)  综合正态分布,PERT分布,三角分布进行蒙特卡罗模拟,得出模拟的结果并绘制累计完成的概率分布。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/698346.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot 项目启动时在 prepareContext 阶段做了哪些事?

概览 如果你对Spring Boot 启动流程还不甚了解,可阅读《Spring Boot 启动流程详解》这篇文章。如果你已了解,那就让我们直接看看prepareContext() 源码。 private void prepareContext(ConfigurableApplicationContext context, ConfigurableEnvironme…

Knife4j 全局鉴权需求 (在OpenAPI3规范中添加Authorization鉴权请求Header)

文章目录 引言I Knife4j 全局鉴权需求1.1 利用springdoc项目提供的customizer接口解决1.2 常见问题II 添加自定义Header参数(签名字段)see also引言 OpenAPI3规范对于Security的定义说明,主要分为两部分: 在compoents组件下定义Security的鉴权方案类型在接口级别的Operati…

工业机器人远程运维,增强智慧工厂运营管理

1、需求背景 随着工业自动化技术的普及和工业机器人应用的增加,制造业对于生产线稳定性和效率的要求不断提高。然而,传统的现场监控方式存在着地理位置限制、实时监控难度大以及诊断能力有限等问题,迫切需要一种更具灵活性和效率的监控方式。…

这可能是最清晰易懂的 G1 GC 资料

滑动验证页面 概述 G1 (Garbage-First) 于JDK 6u14版本发布,JDK 7u4版本发行时被正式推出,在JDK9时已经成了默认的垃圾回收器,算是CMS回收器的替代 方案(CMS在JDK9以后已经废弃) G1是一款分代的 (generational)&a…

AI漫画赛道,10分钟快速赚钱秘诀!

AI百宝箱-Chatgpt4.0、Midjourney绘画、人工智能绘画、AI换脸、AI图片放大、AI图片分析、AI图片融合https://h5.cxyhub.com/?invitationhmeEo7 先使用ChatGPT写小说 ComicAI 漫画小说生成网站 1. 创建小说漫画 2. 故事模板 3. 生成角色形…

基于spring boot+MySQL 小区物业管理系统-计算机毕设 附源码37236

spring boot 小区物业管理系统 摘 要 在网络信息的时代,众多的软件被开发出来,给用户带来了很大的选择余地,而且人们越来越追求更个性的需求。在这种时代背景下,小区物业只能以客户为导向,以产品的持续创新作为小区物…

音视频集式分布式拉流管理

一直以来,由于srs zlm等开源软件采用传统直播协议,即使后面实现了webrtc转发,由于信令交互较弱,使得传统的安防监控方案需要在公网云平台上部署大型流媒体服务器,而且节点资源不能统一管理调度,缺乏灵活性和…

问题:小石明知道上课玩手机会影响学习,但就是管不住自己。这说明小石缺乏()教育。 #职场发展#职场发展#经验分享

问题:小石明知道上课玩手机会影响学习,但就是管不住自己。这说明小石缺乏()教育。 A.道德情感 B.道德意志 C.道德行为 D.道德认识 参考答案如图所示

B-6 Web应用程序文件包含-Server2233(环境+解析)

B-6 Web应用程序文件包含 任务环境说明:服务器场景名称:Server2233(关闭链接) 通过扫

C++ | Leetcode C++题解之第143题重排链表

题目: 题解: class Solution { public:void reorderList(ListNode* head) {if (head nullptr) {return;}ListNode* mid middleNode(head);ListNode* l1 head;ListNode* l2 mid->next;mid->next nullptr;l2 reverseList(l2);mergeList(l1, l…

Apple WWDC24的18条总结:从GPT-4o开始集成ChatGPT

大家好,我是木易,一个持续关注AI领域的互联网技术产品经理,国内Top2本科,美国Top10 CS研究生,MBA。我坚信AI是普通人变强的“外挂”,所以创建了“AI信息Gap”这个公众号,专注于分享AI全维度知识,包括但不限于AI科普,AI工具测评,AI效率提升,AI行业洞察。关注我,AI之…

通过 CartPole 游戏详细说明 PPO 优化过程

CartPole 介绍 在一个光滑的轨道上有个推车,杆子垂直微置在推车上,随时有倒的风险。系统每次对推车施加向左或者向右的力,但我们的目标是让杆子保持直立。杆子保持直立的每个时间单位都会获得 1 的奖励。但是当杆子与垂直方向成 15 度以上的…

以太网基础知识(二)——PAM4NRZ

概念:PAM4(Pulse Amplitude Modulation 4)是用于将数字数据转换成模拟信号。在400G以太网中PAM4被用于将数字数据转换成光信号以便在光纤中传输。PAM4技术通过改变光信号的振幅和相位来表示4个不同的数字状态,每个状态代表2个比特…

46-4 等级保护 - 网络安全等级保护概述

一、网络安全等级保护概述 原文:没有网络安全就没有国家安全 二、网络安全法 - 安全立法 中华人民共和国主席令 第五十三号 《中华人民共和国网络安全法》已于2016年11月7日由中华人民共和国第十二届全国人民代表大会常务委员会第二十四次会议通过,并自2017年6月1日起正式…

问题:高炉风口前的燃烧带的边界是以()含量降为1%为界限标志的。 #媒体#媒体#笔记

问题:高炉风口前的燃烧带的边界是以()含量降为1%为界限标志的。 参考答案如图所示

RESTful API最佳实践:Python构建指南

目录 一、引言 二、RESTful API设计原则 三、Python构建RESTful API的技术栈 四、Flask构建RESTful API实践 安装Flask 定义路由和资源 处理HTTP方法 错误处理 数据验证和序列化 使用Flask扩展 五、最佳实践案例 七、结论 一、引言 在当今的软件开发领域&#…

C51学习归纳10 --- 单总线通信协议、DS18B20

通信协议是最重要的,我们之前学习了I2C通信协议,这一节我们学习一下新的通信协议,单总线通信。 一、开发板原理图 可以看出直接由P3_7口控制,但是遵循单总线协议。 单总线的电路要求 现在介绍单总线的通信协议细节: 1…

免费插件集-illustrator插件-Ai插件-文本属性批处理

文章目录 1.介绍2.安装3.通过窗口>扩展>知了插件4.功能解释5.总结 1.介绍 本文介绍一款免费插件,加强illustrator使用人员工作效率,进行文本属性批处理。首先从下载网址下载这款插件 https://download.csdn.net/download/m0_67316550/87890501&am…

【递归、搜索与回溯】综合练习 {回溯恢复现场;剪枝优化}

一、经验总结 在递归算法中某些变量需要在回溯到上一层递归后恢复现场(如递归路径),恢复现场的方法有: 全局变量手动恢复:如果该变量的类型为自定义类型(vector, string等)则推荐定义为全局变…

全彩LED显示屏可视角度分析

在当今数字化时代,全彩LED显示屏已成为公共场所、商业中心、体育赛事等场合传递信息与视觉震撼的重要媒介。然而,对于这些显示屏而言,一个关键的技术指标——可视角度,直接决定了观众能否从各个方位享受到一致且优质的视觉体验。本…