成员有效地协作是任何项目成功的基础,最好的解决方案来自于自组织、有能力的团队。然而,组成屯对的成员必须在商定的范围内积极地承担角色所赋予的权利以及责任,密切合作,打破潜在的沟通障碍。
团队成员在一起协作需要:
- 尊重彼此的知识、经验、技能和意见
- 履行自己的本职以及完成其它成员所依赖的工作
- 有勇气挑战工作方式以改善团队协作和工作流程
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能力