DSDM-动态系统开发方法

动态系统开发方法(DSDM Dynamic Systems Development Method)是一种敏捷项目交付框架,最初用作软件开发方法于1994年首次发布,最初试图为快速应用程序开发(RAD)方法提供一些学科。后来的版本中,DSDM敏捷项目框架进行了修订,成为项目管理和解决方案交付的通用方法,而不是专门关注软件开发和代码创建,可以用于非IT项目。DSDM敏捷项目框架涵盖了整个项目生命周期中的广泛活动,包括很强的基础和治理理论,这使它与其他一些敏捷方法不同。DSDM敏捷项目框架是一种迭代和增量的方法,它包含了敏捷开发的原则,包括持续的用户/客户参与。

 

在20世纪90年代初,快速应用程序开发(RAD)在整个IT行业传播开来。软件应用程序的用户界面正在从旧的绿色屏幕转移到今天使用的图形用户界面。新的应用程序开发工具即将上市,例如PowerBuilder。这使开发人员能够更容易地与客户分享他们提出的解决方案——原型设计成为现实,经典的顺序(瀑布)开发方法的挫折感可以被搁置一边。

然而,RAD对于合适的流程没有达成一致的定义,许多组织都提出了自己的定义和方法。许多大公司对这些可能性非常感兴趣,但他们也对这种自由式开发流交付在质量水平产生质疑。

DSDM起源于巴特勒集团在伦敦组织的一次活动。参加会议的人都为英国航空公司、美国运通、甲骨文和Logica等蓝筹组织工作。联盟成立于1994年,由软件工程领域的供应商和专家组成,其目标是通过结合他们的最佳实践经验,“共同推动开发一个独立的RAD框架”。

2006年7月,DSDM公共版本4.2可供个人查看和使用;然而,任何转售DSDM的人必须仍然是非营利财团的成员。

2014年,DSDM手册在网上公开发布。此外,还可以下载DSDM的模板。

2016年10月,DSDM联盟更名为敏捷商业联盟(ABC)。敏捷商业联盟是一个非盈利、独立于供应商的组织,拥有并管理DSDM框架。

DSDM构建在常识以及实用主义之上,以确保敏捷价值观“个人和互动”优先于“过程和工具”得以贯彻。

常识:应用普通的自有才智,不依赖于专业知识以及训练地进行合理且适用的判断。

实用主义:行为或者规则是以事实为依据出发而不是理论或者某种教条。

进一步讨论之前,我们先需要理解项目管理过程中的各种因变量,即必须平衡管理过程中相互冲突的需求,最常见的四个需求是:时间、成本、范围和质量。在项目一开始就试图解决这四个问题是不现实的,因为这只会在一个完美的世界里起作用,业务需求永远不变,一切都提前得到充分准确的理解以及预测,问题永远不会发生。这种修复一切的愿望是许多项目失败的原因,由于缺乏足够的应急措施导致有缺陷的决策,而这些通常会最终影响项目的交付。

因此,在项目开始时,重要的是要问这样一个问题:“如果我们遇到了问题,我们应该保护(修复)什么?如果必要,我们可以协商(改变)什么?”

传统的管理项目方法中范围是固定的,而时间和成本可能会发生变化。如果项目偏离轨道,通常会增加更多的资源(这会改变成本)和/或延长交付日期(这会影响时间)。然而,为进度落后的项目添加资源往往会使项目交付更慢而且拉高了项目成本并且业务角度看,错过最后交付期限可能是灾难性的,而且往往会损害多方的信任度。在多重压力下,还可能未经深思熟虑地进行妥协妥协,比如减少了必要的质量控制步骤或减少了测试,质量也会成为一个变量。

DSDM管理项目方法在早期阶段结束时确定了时间、成本和质量,而应变措施通过改变要交付的功能的范围施以管理。当需要执行应变措施时,根据MoSCoW的优先级规则经过业务利益相关者的确认,推迟较低优先级需求的交付。只要遵循MoSCoW和时间的实践,DSDM项目就可以始终按时、按成本(按预算)交付可行的解决方案,即便是最差的情况也可以保证按MVP范围完成交付。

每个项目的质量水平取决于单个项目的实际要求所以并不是每个项目都要“最高质量”,只需要达到在对应项目开始时商定的质量标准即可。DSDM确定项目质量的方法之一是在开发开始前就单个需求的验收标准达成一致。开发的迭代和增量方法确保了更重要的需求被构建到一致明确的质量标准。只有在实现了这一点之后,才开始对后续的需求进行开发。这种演进式解决方案的增量交付确保在解决方案生产发布的当天,其已集成的部分合乎一致的质量标准

 

一、聚焦业务需求

项目期间做出的每一个决定都应该围绕项目目标来权衡,以确保在需要交付的时候交付业务所期望的内容

为了实现这一原则,DSDM团队需要

  • 了解真正的业务优先级
  • 建立有效的商业案例
  • 确保持续的业务和承诺
  • 保证交付最低可用子集

DSDM通过明确特定业务角色基础阶段定义的业务产品时间和MoSCoW等关键实践,使DSDM团队能够实现这一原则。

二、按时交付

按时交付解决方案是非常理想的项目结果,而且往往是最重要的成功因素。延迟交付通常会破坏项目的根本,尤其是在涉及市场机会或法规截止日期的情况下。

为了实现这一原则,DSDM团队需要:

  • 基于时间盒开展工作
  • 关注业务优先级
  • 持续守住截止日期
  • 通过可预测的交付建立信心

结合时和MoSCoW排序实践,使DSDM团队能够在调整功能的同时保护截止日期,并建立及时和可预测交付的声誉。基于时间盒技术在较短的时间周期内按时交付以及满足业务的期望,构成了通过及时交付增量来管控长期项目交付的基础。

三、团队协作

本着积极合作和守护承诺精神工作的团队将永远胜过只在松散关系中单打独斗的个体。协作鼓励团队增进理解、提升效能集体共有这使团队的集体表现超越了每个人单独能力的总和。

为了实现这一原则,DSDM团队需要:

  • 整个项目期间让正确的利益相关者在适当的时间参与
  • 鼓励业务代表积极参与
  • 确保团队的所有成员都按各自角色被充分授权
  • 建立团体文化

DSDM的商业远见者、商业大使和商业顾问角色将适当的主题专家带入项目,以便他们能够为解决方案做出贡献。解决方案开发团队将业务和技术角色聚集在一个团队中。团体文化体现在两方面,一是业务分析师引导团队就需求达成共识,另一方面是团队负责人负责促进所有解决方案开发团队成员之间的高水平协作。被有效引导的工作坊使利益相关者能够与项目团队的其他成员有效地分享他们的知识。

四、永不妥协的质量

在DSDM中,应在开始时就交付的质量水平达成一致。所有工作都应以达到这一质量水平为目标——不多也不少。所以,解决方案必须“足够好”。如果业务部门认同最小可用子集中的功能符合约定的验收标准,那么交付成果就应该刚刚好可以使用以满足

为了实现这一原则,DSDM团队需要:

  • 在开发开始之前,团队就质量水平达成一致
  • 确保质量不会成为一个变量
  • 尽早测试,持续测试,并测试到适当的水平
  • 通过持续的评审提高质量
  • 恰好满足的产品设,适当构建产品文档

确保测试正确地集成到迭代开发过程中,并在整个项目生命周期中进行定期审查,有助于DSDM团队构建高质量的解决方案,以证明解决方案的质量符合预期标准。

使用DSDM,一切都会尽早进行测试。MoSCoW和时间用于确保实施了合理的测试,并且没有引入不必要的风险。在IT项目中,通过确保在开发开始前了解解决方案的可验证性,使用测试驱动的开发技术也可以显著提高解决方案的质量。

五、在坚实的基础上增量地构建

DSDM主张首先了解要解决的业务问题的范围和可选解决方案,但不要过于详细以防止项目因过于详细的需求分析而瘫痪。一旦建立了坚实的开发基础,就以增量方式交付解决方案,以便在实际可行的情况下尽早地交付真正业务价值。增量交付增强了利益相关者的信心,是在后续的时间盒活动中获得反馈的基础,以最终达成业务价值尽早实现。

为了实现这一原则,DSDM团队需要:

  • 进行适当的分析和足够的前期设计,以构建坚实的基础
  • 正式重新评估优先级,非正式地根据每个交付增量评估项目可行性

DSDM团队通过在可行性分析和基础构建阶段提供坚实的知识基础,然后在增量开发阶段逐步构建解决方案来实现这一原则。

六、迭代式开发

DSDM结合迭代开发、频繁演示和全面审查来促成及时反馈。拥抱变更,并将其视为使团队能够交付准确的业务解决方案的产品演进过程的组成部分。迭代的概念是DSDM方法的核心。

为了实现这一原则,DSDM团队需要:

  • 在每次迭代中构建业务反馈
  • 认识到大多数产品需求细节不应过早出现
  • 拥抱变化
  • 使用迭代开发来鼓励创造力、试验学习
  • 变更是不可避免的;DSDM允许变更并利用其优势。

在时间和成本的限制下变更被以积极的态度处理,以制定最合适的解决方案。DSDM使用迭代和持续地审查来确保正在开发的内容是业务真正需要的。

七、持续地沟通与澄清

沟通不畅经常被认为是项目失败的最大单一原因DSDM实践是专门为提高团队和个人的沟通效率而设计的。

为了实现这一原则,DSDM团队需要:

  • 鼓励在所有层级进行非正式的面对面交流
  • 每天进行团队站立
  • 在适当的情况下与引导者一起组织工作坊
  • 使用可视化沟通实践,如建模和原型
  • 尽早并经常展示不断演进的解决方案
  • 保持文档精简和时效
  • 在整个项目的各个层面管理利益相关者的期望
  • 在所有沟通中始终保持真诚和透明

DSDM强调个体互动的价值,建模和原型制作使解决方案的早期实例可供仔细地审查。这些实践远比使用大型文本文档更有效,这些文档有时是出于实现项目业务目标以外的原因而编写的。

八、演示控制

在项目的全周期进行管控并且能够验证这一点是非常关键的。这只能通过检查即将完成工作的计划来实现,而这个计划要与确定的业务目标保持一致。并且团队在过程中要保持所有工作的透明。

为了实现这个原则,DSDM团队尤其是项目经理和团队负责人,需要“

  • 让所有人都能看到计划和进度
  • 通过关注产品交付而非已完成的活动来衡量进度
  • 积极主动管理
  • 根据业务目标评估继续投资项可行性
  • 使用适当的形式跟踪和报告项目进度

定义明确的时间盒、持续的审查点管理基础的准备和时间计划等实践都是为了帮助项目经理和项目团队的其他成员遵循这一原则而设计的

开发和交付的DSDM方法是迭代的和增量的,最重要的业务需求通常在早期得到解决,而不太重要的功能则在稍后交付。DSDM的迭代性质使业务代表能够在解决方案的演进过程中就能看到解决方案,并基于此提供反馈,使其可以在整个解决方案的开发过程中请求变更。与大多数敏捷方法不同,DSDM将项目管理和产品开发集成到一个过程中。

DSDM过程模型包含了一个有个主要阶段(项目预备期、可行性分析、基础构建迭代开部署以及后项目阶段)的框架,该框架显示了DSDM阶段及其相互关系。

项目预备期

在此阶段,组织确保启动了对的项目,并且这些项目基于清晰定义的目标被组建得当。

可行性分析阶段

可行性分析阶段主要旨在确定拟建项目从技术角度来看是否可行,以及从业务角度来看是否具有成本效益。

项目基础构建阶段

项目在此阶段被进一步推进,旨在从顶层视角理解业务的初衷、形成项目的潜在解决方案并对如何开发和交付解决方案进行初步管理。在此阶段要避免过于追求大而全,下沉到底层细节中,即便是大型复杂项目也要确保这个阶段在几周内就可以结束。和需求细节相关以及如何该解决方案这类工作是在迭代开发阶段才进行处理。

在项目实施一段时间以后有时会需要重新审视项目的基础,包括重新审视在项目初期确定的计划,例如在外部环境瞬息万变的情况下项目生命周期内为了响应变化而产生的变更,或者在部署在生产环境后发现的不符合预期的情况等。

对项目基础的更新和细化所需的时间比第一次做的时候要少很多,可以像组织一次工作坊一样。对于更小的项目,可行性分析和基础构建阶段甚至可以合并在一起。

这个阶段的目标是明确工作的范围以及交付方式(谁、何时、何地)。基础构建阶段也决定了项目的生命周期,确定了DSDM的过程该如何被实施以解决项目的特殊需求。

迭代交付阶段

项目基础已经构建,接下来就是在此阶段通过迭代交付的方式演进解决方案。需要解决方案交付团队应用包括迭代交付、时间盒、MoSCoW排序、建模技术和工作坊等实践以随着时间推移从技术视角以一个正确的方式交付符合业务需求的精准解决方案。

在时间盒内开展工作,解决方案交付团队创建解决方案的增量,迭代式地发掘底层需求细节以及持续测试以向前推进。

部署阶段

此阶段的目标是为不断演进的解决方案的投入运营使用构筑基线,包含了三个主要的活动:集成、审查以及部署。

  • 汇集

在实际部署之前,通常会进行一些活动,以确保交付的内容是一致的。这也可能包括汇集任何相关的支持信息,也包括将要发布的内容集成的工作。

在一个简单的小项目中,汇集过程中所涉及的工作可能是最少的。在更大、更复杂的项目或计划中,多个项目被整合到一起,或将多个解决方案增量整合到单个版本中的工作量可能很大,例如,将新的业务流程、培训时间表、用户指南和新的IT解决方案相结合。

  • 审查

一旦发布的所有元素都汇集好了,在大多数情况下,就会有某种形式的“部署批准”。这将基于在解决方案投入运营使用之前对其进行的最终审查,以确保提交的发布符合适当的标准,并且足够完整可行。

在这一点上,团队还对项目增量进行了回顾,重点关注工作方式和潜在的改进领域。来自产品回顾和正式审查的信息有助于制定未来增量计划,并可用于促进投资组合中项目间的学习。

  • 部署

一旦获得批准,部署就是将已集成的内容投入运营使用的实际行为。它包括任何与发布有关的工作,如将解决方案转移到生产环境中制定任何业务变更计划

  • 后项目阶段

在项目的最终部署之后,项目阶段检查预期业务效益的实现情况。可能看上去更强调眼前的效益,因为绝大部份的收益将在解决方案投入生产后的全生命周期内进行累加

需要注意的是,后项目阶段针对这些与商业案例相关的收益进行一次或多次评估。但是根据组织的需要,业务收益分析也可在项目期间独立版本开展,这意味着收益评估应在后项目阶段之前开始

成员有效地协作是任何项目成功的基础,最好的解决方案来自于自组织、有能力的团队。然而,组成屯对的成员必须在商定的范围内积极地承担角色所赋予的权利以及责任,密切合作,打破潜在的沟通障碍。

团队成员在一起协作需要:

  • 尊重彼此的知识、经验、技能和意见
  • 履行自己的本职以及完成其它成员所依赖的工作
  • 有勇气挑战工作方式以改善团队协作和工作流程

DSDM团队模型

  • 橙色-商业领域,代表业务观点的角色通常由业务人员担任,例如提供日常业务指导的业务代表,提供高级指导和未来展望的业务高层

包括:业务投资人业务负责人业务大使业务顾问

  • 绿色-解决方案/技术领域,代表解决方案/技术观点的角色为解决方案的技术开发做出贡献,例如,解决方案开发人员创建解决方案,技术架构师提供技术指导方向

包括:技架构师、解决方案开发人员、解决方案测试人员和技术顾问角色

  • 蓝色-管理领域,代表管理层/领导层观点的角色。在项目的管理/领导方面提供支持,例如项目经理和团队负责人通过遵循DSDM流程,应用敏捷领导力管理DSDM项目。

包括:项目经理和团队负责人

  • 灰色-流程领域,代表具备流程视角的角色。在项目的流程方面进行引导,例如工作坊引导者管理整个工作坊流程,DSDM教练导入DSDM框架

包括:工作坊引导师和DSDM教练

  • 混合区域——跨两个独立的兴趣领域的角色,例如业务分析师,既聚焦于业务重点,也需要关注解决方案/技术

DSDM角色领域

项目层级的角色

项目层级的角色在所需要的情况下(业务投资人、业务负责人、技术架构师、项目经理和业务分析师)指导、管理和协调项目工作。他们是项目治理委员会的成员共同对项目方向有主导权利,并且负责项目外部的沟通和协调。业务投资人提供总体的战略和项目预算控制。业务负责人和技术架构师分别负责业务以及技术的愿景规划。项目经理确保项目的资金被有效使用以在商定的时间范围内交付目标解决方案。

业务分析师在项目层级以及在解决方案开发团队中都有参与。一方面可以帮助业务形成商业案例,也在可行性分析以及构建阶段帮助定义需求。另一方面在更多需求细节涌现时持续支持解决方案开发团队以及项目层级角色。

所有项目层级的角色需要采用引导、授权式的领导力风格,以帮助敏捷团队在前进的过程中反思、调整以及改进流程。他们需要确保解决方案开发团队工作方面的自由度,在授权的框架范围内,按照他们自己的方法达成最终目标。

项目层级的角色围绕积极向上的成员构建项目,相信团队会按他们的能力做到最好,为团队营造自组织环境并且满足他们工作所需。

解决方案开发团队角色

解决方案开发团队的角色包括业务大使、解决方案开发人员、解决方案测试人员、业务分析师和团队负责人这些角色构成了项目的“引擎室”。他们制定和构建解决方案,并共同负责其日常开发和确保其符合于商业目标。一个项目中可能有一个或多个解决方案开发团队每个团队包括解决方案开发团队的所有角色,并承担其对应职责。

每个解决方案开发团队的成员在整个项目中都应该是稳定的,即便在最坏的情况下,每个解决方案发展团队在一个项目增量中都应该保持稳定。解决方案开发团队的每个成员都是一个有专业能力的个人,他们对自己的责任领域拥有主人翁意识,并代表同行的利益。

辅助性角色

辅助角色(业务顾问、技术顾问、工作坊引导师和DSDM教练)在整个生命周期中为项目提供临时协助和指导。如有必要,顾问职位可由一名或多名主题专家担任。顾问角色不是授权的决策者但他们在需要专业知识的领域(如法律和合规事务、技术知识、特定业务规则和法规)向解决方案开发小组提供建议。辅助角色在必要时参与项目例如业务或技术顾问将在项目基础构建阶段积在特定的时间盒内极参与,应用他们的专业知识协助正确塑造演进式解决方案。

不同领域角色的项目参与度

所有DSDM角色都需要在过程中适当地参与项目,以充分履行其角色的职责。

项目级别的角色需要充分参与项目过程,以确保持续开展的项目工作与业务需求保持一致、交付的解决方案符合商定质量,并确保商业案例的可行性被持续验证。因此,项目层面的角色不仅要参与高层级的审查和规划会议,也要参与需要他们进行关键问题和战略决策的更底层的详细级别会议。通常不需要他们参加日常的活动,主要在时间盒开始、结束以及过程中的评审中给予支持。

解决方案开发团队的角色需要在细节层面积极参与项目的日常工作形成、构建、审查和测试在每个时间结束时交付的解决方案增量。团队中所有人都必须参加每日站,以便对进展和任何问题保持共识作为自组织的团队,就履行交付承诺所需的详细计划和行动达成一致持续、公开、诚实的沟通和日常合作是取得良好进展的关键,进展的透明度和工作在展示控制力方面很重要。

如果项目级别的角色确实参与了细节层面的工作,那么重要的是,他们应该作为观察、领导者和问题负责人,而不是作为团队或正在进行的工作的管理者。

角色的选择

一个DSDM角色并不一定意味着固定一个人。一个人可以扮演一个角色或多个角色。同样,一个角色可以由两个人或多个人分担。然而,当一个角色在个人之间分配时,这些人密切沟通和合作是至关重要的。

例如:

在大型IT项目中,技术架构师的职责可能分配给多个人,例如系统设计师/架构师、网络经理、基础设施经理等。

在品牌项目中,解决方案开发人员的职责可能是分开的,一个解决方案开发人专注于徽标设计,另一个专注于关键营销信息。

相反,在较小的项目中,一个人往往扮演多个角色。

例如:

一个人可以同时履行项目经理和团队负责人的职责。

然而,有些角色通常只由一个人完成,无论项目规模如何,例如,应该只有一个业务负责人和一个业务投资人。(尽管通常情况下,一个人同时担任业务投资人业务负责人的角色)。

地理限制或人员可用性等问题可能会影响理想项目团队的创建,但强烈建议考虑所有角色,并酌情理解和接受他们的个人责任。角色定义可以作为项目个人职权范围的基础。

业务投资人

此角色是最高级的项目级业务角色。业务投资人是对项目、提交的解决方案以及交付方法承诺的项目支持者在正式和非正式的情况下,业务投资人都专门负责整个商业案例和项目预

必须在组织中担任足够高的职位,以便能够解决业务问题并做出财务决策。这一角色对确保整个项目的快速进展负有至关重要的责任。

业务发起人应在项目期间提供承诺、支持和可用性,提供明确的向上沟通路线。在较小的项目中,业务投资人的角色将始终由一个人完成。然而,在大型项目或复杂组织中,财务责任可能由更高的组织机构履行,如投资委员会或执行委员会。在这种情况下,DSDM希望企业同意由特定的人来“代表”这个角色。这确保了项目只涉及一个最终决策者和一个最高层,避免因多方对项目的不同看法而缺乏明确的决策

职责

  • 对商业案例负责
  • 确保与商业案例相符的项目的持续可行性
  • 持有项目预算
  • 确保根据需要提供资金和其他资源
  • 确保升级项目问题决策过程有效且快速
  • 迅速应对升级的问题,并成为解决项目内冲突的最高层决策者
  • 在适当的层面以其职责在项目内给业务角色授权
  • 保持对项目进展和问题的了解,例如参加时间结束时的演示活动,并向更积极参与的其他角色提问

业务负责人

这是一个项目层面的高级业务角色,应该由一个人担任,因为一个项目需要一个清晰的愿景来避免混乱和误导。业务负责人比业务投资人更积极地参与项目过程,负责解释业务投资人的需求将这些需求正确地传达给团队,并确保这些需求在商业案例中得到体现。业务负责人始终参与整个项目,为团队提供战略指导,并确保所提供的解决方案能够实现业务案例中所述的目标利益。项目结束时,业务负责人将拥有部署的解决方案,并负责实现与之相关的任何利益假设

职责

  • 定义项目的业务愿景
  • 向所有相关方和/或受影响方传达和宣传业务愿景
  • 根据业务愿景监控项目进度
  • 从组织角度看待任何业务变化的更广泛影响
  • 为关键需求、设计和审查会议做出贡献,特别是在所讨论的解决方案涉及业务愿景的关键要素时识别的各个方面给予支持,对业务的风险负责
  • 定义并批准对优先需求列表中的高优先级需求的变更,即影响范围基线或显著改变优先级平衡的任何更改
  • 确保项目范围内不同业务领域的利益相关者之间的协作
  • 确保为项目提供了所需的业务资源
  • 引导促进将业务愿景转化为产品,
  • 在解决方案开发团队的职责范围内,业务角色充分的授权
  • 在解决方案开发团队无法达成一致的情况下,在演进式解决方案以及业务需求之间差异的决策者。

技术架构师

作为项目的技术权威,提供技术相关的愿景规划。技术架构师确保解决方案/技术角色以一致的方式工作,确保项目技术方案的合理性以及符合所需的技术标准。技术架构师整合项目范围内的所有技术相关因素,为技术决策创新提供建议。

职责

  • 确定并控制技术架构
  • 确定所应用的技术环境
  • 就每个团队的技术活动提供建议并进行协调
  • 识别并基于架构和其他技术风险负责
  • 就非功能性需求的可实现性提供建议
  • 与业务分析师合作,评估备选技术方案,并决定将高层次业务需求转化为技术解决方案的最佳方式
  • 就每个团队的工作规模估算方法提供建议并进行协调,以反映技术最佳实践和当前的技术掌握情况
  • 推广技术最佳实践合适于项目的标准
  • 控制解决方案的技术配置
  • 开始部署前,所用技术符合目标时批准解决方案
  • 管理解决方案发布至实际应用过程中的技因素
  • 其职责范围内解决方案开发团队中的技术角色充分授权
  • 解决方案开发团队成员之间技术分歧的最终决策者

项目经理

除了以敏捷领导力风格在高层级方面与解决方案开发团队协作外,该角色还专注于管理解决方案演进过程中团队所处的工作环境。项目经理在高层级协调项目管理的各个方面,但根据DSDM的授权理念,项目经理应将产品实际交付的详细规划留给解决方案开发团队的成员。管理一个被授权的团队需要一种服务型的风格,而不是通过“指和控制”。

尽管项目经理的职责是专注于交付项目,但该角色的任命也取决于所需的技能知识以及项目自身要求。项目经理可能来自业务,也可能来自解决方案/技术侧的人员。对于一些项目,特别是由外部供应商交付的正式合同项目,可能有两名项目经理,一名来自业务部门(客户),另一名来自解决方案/技术部门(供应商)。通常情况下,项目经理的职责贯穿在整个项目期间。

职责

  • 确保向项目管理无法积极参与的干系人未以适当频率和形式进行有效及时的沟通提供项目信息
  • 规划层级项目规划和日程安排,但不进行详细的时间规划或任务规划
  • 与解决方案开发团队和其他的利益相关者合作,创建并商定交付计划(项目增量的时间计划包含其内的时间
  • 根据基线交付计划监控进度
  • 管理风险和出现的任何问题,根据需要与高级业务人员或技术角色合作解决这些问题
  • 激励并确保团队实现目标
  • 监控并确保跨职能解决方案开发团队所需成员之间的协作和沟通
  • 处理解决方案开发团队提出的问题
  • 在出现困难情况时为解决方案开发团队提供帮助和指导
  • 适当时参加站立会,以保持对团队最新进展和问题了解,并在必要时向团队指出团队需要意识到的任何重要外部问题

业务分析师

业务分析师既积极支持项目级别的角色,又与解决方案开发团队全面地协作,促进业务和技术角色之间的关系,确保每天对不断演进的解决方案做出准确和适当的决策。业务分析师确保业务需求得到正确建模和分析,并正确反映在团队生成解决方案所需的指导文件中。

用户在开发解决方案的过程中的积极参与对DSDM项目的成功至关重要。因此,要确保业务分析师不会成为解决方案开发团队成员盒用户之间的中间人,而是支持和促进他们之间的沟通。

职责

  • 根据需要参与协助商业愿景制定和推广
  • 对组织在解决方案领域的当前和未来状态进行建模,并识别机会、风险和影响
  • 与业务负责人和解决方案开发团队合作,制定和沟通备选解决方案
  • 与项目级角色合作制定商业案例并组织收益评估
  • 支持和促进项目中业务和技术人员之间没有歧义的及时沟通
  • 确保需求定义符合质量要求,并得到适当的分析和管理
  • 管理与业务需求及其解释相关的所有的沟通、开发、分发和基线批准事项重点关注在不断涌现的细节过程中需求优先级列表的状态始终保持最新
  • 确保解决方案演进过程中对业务和组织影响得到适当的建模和考量
  • 确保业务决策的影响在项目背景下得到评审
  • 确保业务和技术共同为业务提供整体的解决方案
  • 确保非功能性要求可行性以及逐步实现
  • 负责跟踪业务需求直至业务验收
  • 业务负责人联系,实施到投产全过程获取来自他们的支持

团队负责人

团队负责人是解决方案开发团队的服务型领导,确保团队作为一个整体发挥作用并实现业务目标,在细节层面与团队一起规划和协调产品交付的各方面工作需要注意的是,这是一个领导角色,而不是管理角色理想情况下,担任该角色的人是作为领团队度过项目特定阶段的最佳人选由团队共同选出。因此,除了他们的团队领导职责外,他们很可能还将担任另一个解决方案开发团队角色(如业务分析师、业务代表、解决方案开发人员或解决方案测试人员)。同样可行的是,基于各自关注重点不同,担任团队领导角色的人可能在不同时间盒内由不同人承担。

职责

  • 引导团队专注于按时交付商定的产品
  • 鼓励团队成员其定义的角色、职责和授权充分参与协作
  • 确保迭代开发过程得到适当的关注和控制
  • 确保所有测试和评审活动都得到妥当的安排和执行
  • 管理时间盒范围内的风险和问题,根据需要上报给项目经理、业务负责人或技术架构师
  • 监督所有团队活动的日常开展
  • 团队进度与项目经理进行沟通
  • 引导每日站会,确保其及时、聚焦且简短
  • 引导团队的评审和回顾

业务代表

业务代表在解决方案开发团队中是输出业务需求的关键角色,因此需要有满足角色相关的需求、权力、责任以及领域知识。

基础构建阶段,业务代表在需求的创建和优先级方面有显著的输出。一旦需求达成一致并形成基线,业务代表将基于他们自己的知识和经验,或者借鉴业务顾问的经验,在迭代开发的日常协作过程中逐步提供需求的细节。

在项目的迭代开发阶段,业务代表业务领域的主要决策者。因此,业务代表需要有足够的资历、授权和信誉来代表业务做出决策,以确保不断演进的解决方案符合业务目标

通常,业务代表的角色是那些已经很忙的人。因此,他们必须能够在整个开发过程中确定投入适当的时间精力,帮助引导不断演进的解决方案为了满足业务需求朝着正确的方向前进有些项目认为任命一个全职的业务代表是确保交付时间的唯一途径。然而,实际上会带来一种风险,即该业务代表可能会不知道工作中发生的事件。对于大多数项目,在构建基础阶段按照商定的时间需求任命一名兼职业务代表。但同样重要的是,业务代表需要履行对项目承诺的时间因此他部分本职工作可以委托给同事,这样他们的所有工作(日常业务工作和DSDM项目)都可以在正常完成。上述的业务代表的承诺时间需要基于可行的层面公开进行讨论并最终确定

职责

  • 参与所有需求、设计和评审会议
  • 基于业务视角支持所有日常解决方案开发决策
  • 提供业务场景的详细信息,以帮助定义和测试解决方案
  • 与其他用户沟通,按需让他们参与并获得他们的认同
  • 日常工作中确保解决方案的增量正确性
  • 组织和控制解决方案的业务验收测试
  • 负责创建最终解决方案的业务用户和支持文档(此职责可以委托给专家,例如技术作者,但最终责任仍由业务代表承担)
  • 确保解决方案部署阶段过程总的业务参与者得到适当的培训和支持

解决方案开发者

解决方案开发与其他解决方案开发团队角色合作,诠释业务需求,并将其转化为满足功能和非功能需求的解决方案增量。担任解决方案开发的人需要得到技术协架构师的适当授权,以便在其专业领域做出日常决策。理想情况下,他们应该被全职分配到他们正在进行的项目中。如果他们不是全职的,项目工作也应该是他们的首要任务。如果无法实现这一点,则会在引入重大风险该风险需要由项目经理主动管理。

职责

  • 与所有其他解决方案开发团队角色合作,迭代开发:
  • 解决方案增量
  • 正确指导解决方案开发所需的模型
  • 支持实际使用的已部署解决方案所需的模型和文档
  • 在独立测试之前完成自测
  • 同意并遵守技术约束
  • 遵守组织的技术实施标准和最佳实践
  • 参与任何必要的质量保证工作,以确保交付的产品真正符合目标
  • 记录(以及后续解释)任何
  • 详细需求的变更
  • 澄清需求或称中产生解决方案返工的变更
  • 可能影响解决方案持续进展的信息

解决方案测试者

解决方案测试是一个授权的解决方案开发团队角色,全程紧密与团队协作并根据商定的策略在整个项目中执行测试。

职责

  • 与业务角色合作,为不断演进的解决方案定义测试场景和测试用例
  • 将解决方案作为一个整体进行所有类型的技术测试
  • 与业务分析师和业务代表联络,帮助澄清需求的验收标准
  • 创建适当的测试产出物,例如测试用例、测试计划和测试日志
  • 向技术架构师报告测试活动的结果,以确保质量
  • 保持团队负责人了解测试活动的结果
  • 为确保测试工作涵盖重要的业务领域,协助业务代表和业务顾问,确保他们能够很好地计划和执行测试

业务顾问

业务顾问通常是业务代表的同行,被要求为解决方案开发或解决方案测试提供具体的、专业的意见,即业务主题专家。

业务顾问通常是解决方案的预期用户或受益人,也可能是焦点小组的代表。然而,他们可能只是提供解决方案必须遵守的法律或监管建议。

职责

基于业务顾问所从事的专业:

  • 提供相关专业意见:
    • 需求、设计和审查活动
    • 日常项目决策
    • 帮助定义和测试解决方案的业务场景
  • 就以下方面提供专业建议或帮助:
    • 为最终解决方案编制业务用户和支持文档
    • 将解决方案发布部署到实际业务中(视情况而定)

技术顾问

技术顾问通常从负责运营变更管理、运营支持、解决方案持续维护等方面的角度,通过向项目提供具体且通常是专业的技术输入来支持团队。

职责

技术顾问在下述场景中为团队提供支持

  • 需求、设计和审查会议
  • 运营视角支持日常决策
  • 帮助定义和测试解决方案的操作或支持场景
  • 确保解决方案正确演进
  • 执行验收测试
  • 技术支持文件的编制
  • 技术操作和支持性人员的培训
  • 解决方案版本的增量部署(视情况而定)

工作坊引导师

负责管理工作坊流程,是准备和沟通的促成者引导师负责组织和引导工作坊,使参与者能够实现工作坊的活动目标,其本身不直接参与预期成果的输出

职责

  • 每次工作坊前:
    • 工作坊负责人(希望举行工作坊的人)商定讨论的范围
    • 规划工作坊过程,包括商定授权和决策过程
    • 如有必要,熟悉研讨会的主题领域
  • 在研讨会之前与与会者接触,以便:
    • 确认他们是否适合作为参与者(在知识、授权状态和其是否需要参加方面)
    • 确保他们充分了解工作坊目标
    • 主题领域的主要关注和质疑方面
    • 鼓励完成任何必要的准备工作
  • 在每次研讨会期间:
    • 引导工作坊以达成其目标
  • 每次研讨会结束时
    • 对照目标评审工作坊的结果
    • 确保结果在必要时分发给参与者和其他商定的利益相关者。

DSDM教练

在团队DSDM经验有限的情况下,DSDM教练的作用是帮助团队成员在其工作的组织背景和约束下最大限度地利用该方法的关键。理想情况下,DSDM教练应被认证为DSDM教练,以确保他们履行这一职责的能力得到验证。

与在任何情况下工作的任何方法一样,这种方法不能盲目遵循。如果项目环境中有什么东西会阻碍特定DSDM技术的有效性,那么解决潜在问题至关重要。通常,有两种方法可以解决这样的问题:第一种是影响环境,使技术有效;二是调整或替代技术。无论哪种方式,作为DSDM专家的教练角色都将有足够的知识和经验提供帮助。

职责

  • 提供详细的DSDM知识和经验
  • 定制DSDM流程,以适应项目的个人需求和项目运行的环境
  • 帮助团队使用DSDM实践,并帮助团队以外的人理解DSDM理念和价值观
  • 帮助团队以DSDM和所有敏捷方法的典型协作方式工作
  • 在各级团队中建立DSDM能力

DSDM敏捷项目框架描述了项目进行过程中要考虑的一组制品。这些制品描述了解决方案本身(项目的主要可交付),以及为帮助其发展过程而创建的帮助项目治理和控制所需的任何内容。并非每个项目都需要所有制品,因项目和组织而异,其的形式受到合同关系、公司标准和治理需求等因素的影响。

DSDM确定了两种不同类型的制品

演进式制品会随着时间的推移而变化。它们通常(但并不总是)跨越多个项目阶段,并且在这段时间内可能会被基线化不止一次。

里程碑制品是在一个阶段创建的,通常在该阶段为实现特定目的作为检查点或促进治理过程而产生。

制品及其在项目生命周期中的功能如上图所示。橙色制品以商业为中心,绿色制品都有助于项目创建的解决方案,蓝色制品涵盖项目管理/控制所关注的内容。其中一些特殊标记的制品也可能在审批关卡等治理流程中发挥作用,并可用于证明解决方案在需要时符合公司和监管标准。

商业案例

商业案例是一个演进式制品,它从业务角度为项目提供了愿景和初衷。商业案例的基线通常在可行性研究结束时首先作为大纲创建,然后在基础构建阶段结束时作为批准开发的基础。在每个项目增量结束时对其进行正式评审,以确定进一步工作是否合理。

创建者:

由资深业务和技术协作,基于其业务分析技能、制作业务案例经验创建。

目标:

为推动项目治理机构批准项目并帮助在投资组合中优先级排序创建,同时整个参与到项目团队中的人也需要知道需求是什么以及其背景原因。

审批人:

业务投资人

有序的需求清单

有序的需求清单(PRL)是一个演进式的产物。它在高层次描述了项目需要解决的需求,并指出了它们在满足项目目标和业务需求方面的优先级。从可行性分析阶段开始考虑要求,PRL的基线在基础构建阶段结束时划定了项目的范围。此后随着细节的涌现,深化产品所需的更进一步的变化自然发生。需要对范围变更(添加、删除或显著调整高层级的需求)进行正式控制,以确保与项目的业务愿景保持一致,并保持对范围的控制。

创建者:

由具有发掘和定义需求的技能和经验业务分析师制作

目标:

为整个项目团队制作,每个相关人员都需要了解需求

审批人:

业务负责人

解决方案架构

解决方案架构是一个演进式制品。它为解决方案提供了一个顶层设计框架。它旨在涵盖解决方案的业务和技术领域达到使解决方案的范围清晰但不限制迭代开发的详细程度。

创建者:

由负责业务流程和组织变革总体设计业务分析师制作

技术架构师负责解决方案的整体设计和技术方面的完整性

目的:

为解决方案开发团队在所述框架内构建解决方案制作,

审批人:

业务负责人、项目经理

开发方法

开发方法定义是一个演进式制品。它提供了将应用于解决方案进化开发的工具、技术、习惯、实践和标准的顶层定义。重要的是,它描述了如何确保解决方案的质量。因此,测试和审查策略是开发方法的关键部分,并在开发方法定义中进行了描述

创建者:

由技术架构师制作,负责定义技术标准并确保应用开发最佳实践

目的:

为负责以专业的方式构建解决方案并达到所需的技术质量水平解决方案开发团队制作

审批人:

项目经理

交付计划

交付计划是一个演进式制品。它提供了交付项目增量的顶层时间计划,基本不会任务级别的详细信息,除非有些任务由非解决方案开发团队成员处理,或者在解决方案开发小组成立之前就处理的事情。

创建者:

由项目经理制作,确保负责确保解决方案的增量在商定的预算和时间限制内可预测地交付

目标:

为所有项目参与者和利益相关者制作每个需要在高维度上了解何事、何时以及参与者等信息。

审批人:

经业务负责人、技术架构师批准,确保业务价值的增量交付对整个业务是最佳的

管理方法定义

管理方法定义是一个演进式制品。它反映了整个项目的管理方法,并从管理的角度考虑了项目将如何组织和规划利益相关者将如何参与项目,以及如何展示和报告进展(如有必要)。该制品在可行性分析阶段进行了概述,并在基础构建阶段结束时形成了基线

创建者:

由项目经理制作,负责确保项目正确设置,以便可预测地交付项目产品。

目的:

为所有项目参与者和利益相关者制作一个需要从高层次了解如何管理项目的人。

审批人:

经业务投资人批准需要确信项目设置正确,能够在正确的时间以正确的成本交付所需的产品。

可行性评估报告

可行性评估报告是一个里程碑制品。它提供了上述不断演进的业务、解决方案和管理制品在可行性阶段结束时的快照。每种制品都应该足够成熟,能够对项目是否可行的决策做出合理的贡献。可行性评估可以表示为上述制品的基线集合,也可以表示为涵盖每个基线关键信息的执行摘要。

创建者:

由负责项目管理和控制的项目经理制作

目的:

为项目管理制作,帮助决定项目是否应按提案执行

审批人:

业务投资人批准

项目基础摘要

项目基础摘要是一个里程碑制品。它提供了上述不断演进的业务、解决方案和管理产品的快照,因为它们在基础构建阶段结束时已经存在。每种制品都应该足够成熟,能够对项目是否有可能实现所需的投资回报做出合理的贡献。项目基础摘要可以表示为上述制品的基线集合,也可以表示为涵盖每种制品关键信息的执行摘要。

创建者:

由负责项目管理和控制的项目经理制作

目标:

为项目管理制作,帮助决定项目是否应按提案进

审批人:

业务投资人批准

演进式解决方案

演进式解决方案是演进式制品。它由组成最终解决方案的所有内容,以及探索需求细节正在构建的解决方案所需的任何中间物组成。在任何给定的时间,这些部分可能是完整的、部分解决方案的基线(解决方案增量)或正在进行的工作。基于价值交付的需要,这些内容可以包括:模型、原型、支持材料以及测试、在制品评审等

在每个迭代交付结束时,解决方案增量将部署到实际使用中,并成为已部署的解决方案。

创建者:

由解决方案开发团队制作,负责创建满足PRL要求的解决方案

目标:

为负责投资回报的业务投资人、参与解决方案的用户

审批人:

由业务负责人批准负责确保交付的解决方案符合业务目标,技术架构师负责确保交付的解决方案符合技术目标。

时间盒计划

时间计划是一种演进式制品详细阐述了时间盒的目标,并详细说明了该时间的可交付成果产生这些可交付成果的活动和开展工作的资源。时间计划由解决方案开发团队创建,通常体现在团队板的待办、正在进行和已完成的工作列中,并且至少每天在站会中更新一次。

创建者:

由解决方案开发团队制作,体现自组织团队即将要做什么

目的:

为解决方案开发团队制作

审批人:

由项目经理批准,技术经理需要共同负责确认团队适当专注于及时交付合理的解决方案增量

时间盒评审记录

时间盒评审记录是一个演进式制品汇集了时间框每次评审的反馈。它描述了到目前为止所取得的成就,以及可能影响未来计划的任何反馈。

创建者:

由团队负责人制作,负责确保迭代开发过程得到适当的关注和控制,并确保所有测试和评审活动都得到适当的执行。

目的:

为项目管理层,以确保开发过程得到适当控制,所有测试和评审活动都得到适当执行。帮助项目经理正式跟踪交付最终解决方案的进度

审批人:

业务负责人批准确认不断演进的解决方案增量继续符合业务目标,技术架构师批准确认不断演进的解决方案增量仍然符合技术目标。

项目评审报告

《项目评审报告》是一个里程碑制品。它通常是一个单独的文档,在每个项目增量结束时,通过添加与该增量相关的新章节同步进行增量更新。

在每个项目增量结束时,该产品的用途是:

  • 从已交付解决方案的评审中获取反馈,并确认哪些已交付,哪些未交付
  • 从增量回顾活动中获取学习点,重点关注流程、采用的实践以及角色和职责的作用;
  • 在适当的情况下展示到目前为止,通过正确使用项目交付的解决方案所累积起来的商业收益;
  • 在最终项目增量交付后,作为项目收尾工作的一部分。同时,将组织对整个项目的回顾活动,其主要信息来源于每一个增量的记录。

创建者:

由项目经理制作,全面负责项目及其产品的交付

目的:

为所有项目参与者和利益相关者以及负责支持未来项目的人(如PMO)制作,他们有兴趣了解已经取得的成就、已经交付的价值,为后续项目积累经验。

审批人:

业务负责人,以确保解决方案符合业务目标;

技术架构师,确保解决方案在技术上符合目的

团队负责人,确保迭代开发过程得到适当的关注和控制,并确保所有测试和评审活动都得到适当的执行

收益评估

收益评估是一个里程碑制品。它描述了在实际运营一段时间后,收益累积的实际情况。对于商业案例中的收益预计长期累积的项目,可能会根据用于证明投资合理性的时间定期进行益评估。

创建者:

业务负责人、业务分析师负责确保根据业务关怀和业务需求评估收益

目的:

为项目管理制作,帮助其了解项目投资是否合理,并了解预测值和应计值之间的差异

审批人

由负责投资回报的业务投资人批准

 

时间是DSDM的关键实践之一。DSDM将时间框定义为一段被锁定、在结束时交付商定目标的时间。时间的目标通常是完成一个或多个可交付成果。其的重点是交付完整而有意义的成果,而不是体现团队很忙。结束时,进度和成功是通过产品的完成(需求或其他可交付成果)来衡量的,而不是完成一系列任务。

时间的最佳长度通常在两到四周之间。在一个非常短且快速进行的项目中,可能短一天。在特殊情况下可能长达六周,但缺点是团队可能会失去专注力。通过一系列小规模的时间盒交付产品,团队能够更频繁地评估他们的真实进度,即“我们实现了什么?”如果他们的进没有达到他们自己的期望,就给团队提供了预警,在早期就为解决问题提供了机会。

时间以迭代的方式支持产品的创建包含了频繁的检查点,以确保这些产品的质量和迭代开发过程的效率。通过应用MoSCoW方法对时间交付内容进行初步的优先排序,并持续地对商定的时间范围内可实现的目标进行评估,以确保每次都能按时完成并提供一个符合业务预期的解决方案来实现业务目标。

项目增量和整个项目也可以被视为时间,因为它们具有在预定时间内提供适合用途的解决方案的共同特征。这些较高层级的时间框的管理是通过控制较低层级时间框来实现的。除非项目或项目增量限定,否则“时间”一词将始终指代迭代开发过程中的时间

时间盒选项

DSDM定义了两种类型的时间盒:

  • DSDM结构的时间盒
  • 自由格式的时间盒

时间盒类型的选择可能受到业务代表和其他业务角色参与程度或正在开发的产品类型等因素影响

DSDM结构的时间盒

这是最初的DSDM时间盒,它为时间盒提供了一个标准的、可复用的内部结构。

时间内的结构非常有用,可以提前帮助业务代表在繁忙的日历中规划需要参加团队具体的计划、反馈和评审会议的时间。除了这些具体的计划会议外,日常还需要业务参与,例如参加每日站会和及时回答紧急问题。通过将此结构映射到未来的时间盒,可以为项目增量中的所有时间安排各种控制点(启动、评审、结束)。

DSDM结构的时间提供了一个框架计划,重点关注时间内的迭代开发活动,以确保聚焦于实现准确的业务解决方案。有了这种结构,解决方案开发团队就知道他们应该在什么时候完成初步调研、什么时候收尾、什么时候准备好产品,最后几天的重点是最后的调整和微调,以确保时间框利落地关闭。整个解决方案开发团队随时可以看到进度,并在总体目标面临风险时发出预警。

DSDM结构的时间盒包括三个主要步骤:

  • 调研
  • 细化
  • 整合

每一个步骤都以评审回顾结束。

时间盒

要完成的工作内容

时间建议

启动

帮助解决方案开发团队理解以及切实接受时间盒目标的小型活动

针对2~3周的时间盒需1~3小时

调研

调研的范围包括确认所有在时间盒内需要交付的产品以及其细节,包括以下共识:

undefined 时间盒目标交付物

undefined 交付物的验收条件

调研工作在评审通过后结束,为精化活动提供信息,可能是一个有价值的治理触点。

 

约占时间盒总的10~20%

 精化

针对时间盒的目标交付物按照优先级开展开发、需求澄清以及测试(技术测试和业务测试)。

精化活动在评审通过后结束,为集成工作提供信息,可能是一个有价值的治理触点。

 

约占时间盒总时间的80%

 集成

将迭代开发过程中任何分散的工作成果结合在一起,确保所有的产品符合早期商定的验收条件。

集成工作在评审通过后结束,为收尾工作提供信息,可能是一个有价值的治理触点。

约占时间盒总时间的10~20%

 收尾

业务负责人和技术架构师对于时间盒交付物正式验收环节,结束后会有简短的回顾活动以从时间盒的过程中学习并且为后续的时间盒制定改进行动。

对于一个2~3周的时间盒约1~3小时。

时间盒启动(Timebox Kick-off)

时间启动的目的是:

  • 审查交付计划中概述的时间目标,以对要实现的目标达成共识
  • 确保在最初在基础构建阶段预期交付的内容在时间范围内仍然可行,并在遇到阻碍时相应地重新规划
  • 在可能的情况下,同意时间盒目标交付的每种产品的验收条件:
    • 如果无法在时间启动时针对细节达成一致,则可以推迟到调研工作结束。即便在这种情况下,必须此时在获得更多细节前较粗颗粒度的验收条件达成一致。(在不了解验收条件的情况下就纳入时间盒开发是极其危险的)
  • 检查解决方案开发团队的所有成员(包括业务角色)是否可以参与此时间盒内的各项活动
    • 交付承诺基于项目层级预先商定的资源情况。然而,个人的可用性在不同的时间盒之间可能会有所不同,例如,由于计划的休息时间
  • 突出显示任何可能影响此时间的已知依赖项(内部或外部)。解决方案开发团队的依赖关系可能是
    • 内部-此项目中的其他解决方案开发团队在并行开展的工作
    • 外部-可能影响此项目的团队无法控制的人员或项目

解决方案开发团队的所有成员(包括业务代表)以及项目经理、技术架构师业务负责人都应参加启动仪式,他们将在时间共同协作

调研(Investigation)

调研的目的是为精化期间进行的工作提供坚实的基础,并进一步澄清需求及其验收条件,验收条件为每个需求圈定了合适的范围需要正式确认作为解决方案演进过程的重要环节,需要解决方案开发团队共同调研需求的细节,并就如何满足这些需求达成一致。只要条件允许,就应该基于解决方案创建初始模型或原型,通过将解决方案可视化来支持早期的评估和反馈。

整个团队需要共同围绕在启动阶段所确定的需求和目标开展协作,明确它们的细节和优先级,必要情况下可以基于实际情况将优先级较低的需求移出时间盒。业务代表和业务分析师以及解决方案开发团队共同规划时间盒的测试计划,基于澄清的验收标准计划此时间框的测试。

输出物

依赖:

团队明确在时间盒内各个需求的依赖关系以及与其他解决方案交付团队的依赖关系,并明确管理计划。

时间表计划:

团队检查仍有待完成的工作,就团队中哪些成员将从事哪些工作达成一致。这样可以确保每个人的工作负载,确保计划的可行性

风险:

根据从调研过程中获得的信息,以及从交付计划和风险日志中为该时间识别的风险,解决方案开发团队分析与该时间框相关的风险

邀请法务、合规、业务或技术顾问参与正式、有文件记录的成果评审可以作为对不断演进的解决方案的一种可证明的管控方式,并提供有价值的审计线索。

精化(Refinement)

精化的目的是完成尽可能多的开发工作,包括完成产品的测试。开发和测试是迭代进行的,交付的成果满足当下的业务需求同时也要满足商定的详细验收条件细节由调研阶段结束时产生的最新版本)交付的顺序MoSCoW产出的的优先级为主,但也会受到其他因素的影响,例如:

  • 从技术角度合理的开发顺序
  • 特定资源的可用性,如技术顾问、业务顾问
  • 任何已知的跨团队依赖关系

最终,时间盒内所包含内容被业务代表以及其他利益相关者评审,其确定了在时间结束前根据验收条件完全完成工作所需的措施在此之后,时间盒内不应开始任何新的工作,同时在这个阶段所获得的反馈都应给予足够的重视。需要注意的是,如果业务在时间盒早期阶段参与不足,此时就可能发生重大的需求变更,这是历史的教训。

评审通常涉及在时间盒内开发的产品的演示。这个阶段的评审结果也作为时间盒的评审记录,还可以有效地作为法务及合规的依据

集成(Consolidation)

集成过程中会落实精化评审中商定的行动最终测试和满足组织或项目标准所需的任何工作(包括诸如同行评审代码环境迁移等)。任何最终质量控制检查都由解决方案开发团队执行,以确保所有产品或需求/用户故事都能满足业务需达到可接受的质量标准集成以检查时间目标是否达成为结束。任何未达到约定的验收条件的产品都视为未交付,将保留在有序的需求清单中。

质量顾问在期间正式签字,确认解决方案符合法务及合规要求。

收尾(Timebox Closeout)

收尾的主要目的有三个:

  • 录在此时间段内交付的所有产品的正式签字或验收情况。
  • 需要考虑对时间盒中未完成工作的处理方法,可能是:
  • 考虑在下一个时间盒完成
  • 计划在项目增量或项目后序的某个节点
  • 从项目增量或项目中删除

如果要满足总体时间表,重要的是要避免未完成的工作自动进入下一个时间框,而不考虑总体优先级。

  • 收尾的最后一个目的是回顾时间盒过程,看看是否有发现可以使迭代开发过程和/或时间盒管理过程在未来更加有效。作为每次时间盒收尾的一部分,持续地举办简短回顾活动有很多好处:
  • 让团队从他们在时间盒的经验中学习。
    • 在好的经验基础上认知和构建
    • 认识到问题并避免在未来重蹈覆辙
    • 定义要在下一个时间中解决的问题
  • 收集正在进行的信息,以便在以后更正式的评审中使用(在项目增量结束时和项目结束时)

当时间盒比较成功或者团队已经比较成熟,回顾活动可能会很短。如果在时间盒过程中出现问题,或者这是新团队的第一次回顾活动,就可能需要额外的时间。

每日站会(Daily Stand-Up)

无论采用哪一种方式每日站会都是时间盒的关键组成部分。这是解决方案开发团队在整个团队中共享信息的机会,并在出现问题时进行任何必要的日常重新规划和重组。然而,需要强调的是,团队沟通不仅仅是发生在每日站会,所有团队成员在一天中都会根据需要进行持续的非正式沟通。

解决方案开发团队每天都会聚在一起进行一次站立会议。通常每天在同一时间和同一地点进行,这部分信息在时间盒计划中需要加以体现,以便非解决方案开发团队成员的其他人可以按需参与。通常由团队负责人组织引导,是每个人每天都有机会详细了解目标进展情况,并揭露可能阻碍实现目标的问题和障碍。

参与者:

  • 解决方案开发团队的所有成员,包括业务代表
  • 任何积极参与此时间的业务顾问
  • 任何积极参与此时间的技术顾问

过程

  • 自从上次站会以来,为帮助时间盒目标达成做了什么?
  • 从现在到下一次站会,我将做些什么来帮助实现时间盒的目标
  • 遇到哪些问题、风险或问题会阻碍我或团队实现时间目标

持续时间通常不超过15分钟

  • 一个比较好的实践是:每位参与者限定2分钟
  • 所有参与者都站在团队看板旁边围成一圈
  • 保持会议简短、形式轻松以让每个人都集中注意力

以下人员可以按需参加站会:

业务负责人——为了与进度保持联系,提供持续可见的支持

项目经理——为了观察进展并发现升级的问题

技术架构师——以便及时了解技术决策并解决升级的技术问题

需要注意的是站会用于识别问题,并就谁需要参与解决出现的任何问题达成一致。如果达成解决方案需要超过一两分钟的时间,不应在此时试图解决这些问题。把问题记录下来,并且问题相关人员站会可以继续讨论。

时间盒内的变更管理

迭代开发使团队能够在时间框结束时交付真正适合其预期目的的产品。在业务代表的领导下在业务分析师的支持下,根据业务部门的评审,通过不断改进产品,实现符合业务目标的解决方案。至关重要的是,在任何给定的时间,关于解决方案是否正确,或者是否需要改变以使其正确的决定,都要迅速且明确否则就有可能损失(等待决策)或浪费(决策被推翻)大量时间。重要的是,解决方案开发团队的所有成员都有适当的授权来处理时间目标商定范围内的任何变更,而不需要超出团队范围的正式变更控制流程。

根据经验,以下场景总是意味着范围的变化,因此需要更正式的管理(在解决方案开发团队授权之外):

  • 变更解决方案的范围(即在顶层需求中添内容或删除“必须包含”的需求)
  • 通过引入新的“必须包含需求,或通过将“不会包含”、“可能包含”或“应该包含”优先级升级为“必须包含“

然而,围绕解决方案细节(深度)的谈判通常可以由授权的解决方案开发团队处理,而无需任何升级或解决方案开发小组以外的人员的正式批准

无论变更是否被视为影响范围,解决方案开发团队通常都有权在商定的范围内运作,而无需升级到项目经理或其他项目级别的角色。

例如:

按照MoSCoW的做法,从时间(甚至从项目增量或项目)中删除可能包含需求通常是在事件发生后报告的,而不是需要许可。

但是,对时间内容的所有变更都必须得到整个解决方案开发团队的同意和接受,授权的界限应在基础构建阶段结束时确定,并定期(至少在每个时间结束时)评审其有效性。

 

引用

www.agilebusiness.org

https://en.wikipedia.org/wiki/Dynamic_systems_development_method

https://vimeo.com/99624072

New Directions on Agile Methods: A Comparative Analysis 

Pekka Abrahamssona , Juhani Warstab ,  Mikko T. Siponenb and Jussi Ronkainena a Technical Research Centre of Finland, VTT Electronics

 

0
0
小时
0
分钟
0
由Scrum.org主办的 2024中国Scrum大会 8月17日将在上海开幕
0
0
小时
0
分钟
0
预约回电
留下您的手机号,我们会在第一时间联系您。
热线电话:400-696-6280
预约回电
预约成功,我们会尽快联系您。