|
你是否曾经参与过范围或需求定义糟糕的项目?如果一个项目已经有大量的技术债务或者有你以前从未使用过的技术怎么办?如何处理团队、平台、时区、甚或是上述所有方面的依赖关系?作为一名敏捷教练,我会经常遇到所有这些类型的挑战。现代软件开发的现实是我们每天都会面对这些挑战,而及时降低风险的技巧使我们仍然可以以一种及时且可持续的方式为用户创造最大的价值。亲爱的读者,我听到了你们的问题,我们如何才能实现那个目标呢?我没有银弹,但我确实有一种系统方法,可以帮助你们更及时地处理风险。training.mypm.net
风险和敏捷项目管理论坛
为了能够准确地计划我们的工作,并能够在一个合理的时间段内交付工作,对于敏捷计划和评估(关于这点,任何类型的项目皆是如此),我们有多个类型的风险必须了解。根据我的观察,在任意一项工作中,最常见的风险类型通常可以归结为以下几类:项目管理者联盟
需求风险:例如,故事定义糟糕,工作范围/故事很大(通常,任何一个用户故事都有大量的验收标准),或者对客户价值/优先顺序缺少了解;pmp.mypm.net
实现风险:例如,使用新的或不熟悉的技术,处理遗留代码库,缺少流程/自动化测试,或者其它技术债务;项目管理论坛
依赖风险:例如,任何跨团队/产品/平台的依赖关系,跨(多个)时区工作,或者任何外部依赖关系,如客户、合作伙伴或者外包开发。项目管理者联盟
你说的好极了,现在我们有了一些常见的风险模式,但我们能用那些信息做什么呢?我们对风险有了很好的理解,但如果我们不能及早识别风险,然后落实某种规避计划,那么我们最终的状况将和现在一样保持老样子。接下来,我们需要落实一些方法,帮助我们在“发布计划(release planning)”过程中及早识别风险。training.mypm.net
发布计划club.mypm.net
发布计划图——复制许可来自© 2011-2014 Scaled Agile, Inc. All rights reservedblog.mypm.net
计划多个迭代的概念并不复杂。大规模敏捷框架已经针对(但未提交)多迭代为我们了解工作设计了一个很棒的可视化系统,并且在凸显更高级别的工作风险方面做的不错。这个迭代映射的输出是未来五个迭代的工作的一个粗略的计划,该计划基于先前的速度和团队能力将故事映射到迭代,让我们对未来的迭代输出和可能获得的故事有一个不错的构想。blog.mypm.net
需求实现依赖(RID)风险项目管理者联盟
项目管理者联盟
在这个迭代映射的过程中,我们可以推敲目标故事(在逻辑上最近开始的),识别需求风险、实现风险和依赖风险(RID)的风险级别,对于任意一个故事,均简单描述一下我们是否面临着或高、或中、或低的风险。这有两个影响:首先,它会影响评估,因为风险更大的故事自然会被估计得更大(高风险会降低产出);其次,我们了解了风险级别后就可以设法降低风险。bbs.mypm.net
在发布层面,我们可以基于识别出的风险类型——需求、实现或依赖——做许多事情:项目管理者联盟
针对需求风险,我们也许可以将故事分解成多个部分,保证工作优先级有良好的定义,而且这个优先级应该在整个过程中不断的进行完善(例如,使用MoSCoW系统,故事映射,或者获取一个功能优先级),并设法保证我们正在处理的用户故事定义良好——它们描述向谁交付价值,交付什么价值以及我们为什么想要交付那种价值了吗?它们是符合INVEST模型的好的用户故事吗?解决这些问题有助于消除需求风险。项目管理者联盟
针对实现风险,我们需要了解现有问题:我们正在处理大量的技术债务吗?如果是,在开始另外一项工作之前,我们要努力减少债务吗(在这种情况下,技术债务故事将在我们的待办事项列表上进一步上移)?对于新技术,我们需要引入“探究故事(spike story)”以便理解如何进行并做出最佳决策吗(在这种情况下,我们可以增加探究故事,并将实现风险高的故事向后推,直到风险降低)?项目经理博客
针对依赖风险,我们需要了解依赖的类型和产生的原因。为了降低依赖风险,可以使用另外一种方式划分工作吗?可以使有依赖关系的团队更高效地合作吗——例如,留出专门的时间用于团队合作?我们需要将某个故事进一步推迟,以便其前继故事能够得到专心处理并在我们开始工作之前完成吗?如果我们在等待合作伙伴或客户,我们如何保证能及时获得我们需要的东西?我们越早提出这些潜在的障碍,就越可能获得一个令人满意的解决方案。我们需要确保我们与合作伙伴和客户的合作尽可能的高效。项目管理者联盟
在发布计划阶段识别出所有这些风险可以为我们提供更长远的眼光,我们可以据此调整我们的计划,并引入降低风险的办法。然而,我们的工作性质不是静态的,需求自然会随着时间发展变化。在发布计划层面上做的这些工作是其中的一部分,但我们还需要比这个更经常地考虑风险。在迭代计划阶段考虑就太晚了,因为在那个阶段,我们实际上已经投入到工作中去(没有时间去降低风险了)。那么让我们进入待办事项梳理会议。www.mypm.net
项目管理者联盟
待办事项梳理项目管理者联盟
在迭代计划阶段,有几个我在敏捷团队中经常遇到的问题:PgMp.mypm.net
故事定义糟糕(尤其是验收标准)bbs.mypm.net
故事有太多或太复杂的依赖关系项目经理博客
故事过大项目管理者联盟
故事难度增加(引入新技术或新增团队成员)项目管理者联盟文章
|