支持Scrum的开发过程——团队领导者或解决方案架构师的角色



我只是很好奇,因为对于支持scrum的开发过程,团队领导者(TL)角色与scrum主管(SM)角色合并,团队应该是自我激励、自我组织和自我驱动的。如果团队中没有团队领导者(和架构师!),谁来决定未来的实现方式?比如,要使用哪些库、客户端数据处理等。基于scrum概念,这样的决策应该由团队合作或由单个团队成员做出。他们很可能没有足够的资格/经验,在未来几年(甚至一两年),这个决定可能会花费数百万美元。

scrum的概念是如何解决的?

感谢

Scrum只是交付过程。技术决策应由相关负责人完成。这些决定可能在讨论和团队会议之后做出。如果需要,团队成员也可以参加这些会议。scrum主管的角色是确保sprint中的积压项目得到交付。这与技术决策无关。(Scrum master负责消除障碍,使团队朝着冲刺目标前进)团队在计划会议期间接受任务时,可以为架构决策或设计/重新设计过程分配时间。

例如,TL可能在scrum板中有4个小时的任务来完成设计。如果这项任务涉及与架构师的会议,并且架构师不在现场,scrum主管应该采取必要的措施来安排会议,并确保删除此阻止程序。也许他可以安排他们之间的通话。

同样,认为技术领导者应该是scrum大师也是错误的。这是两个独立的角色,可能是同一个人,也可能不是同一个人。

在Scrum中定义了三个角色:

  • Scrum大师
  • 产品负责人
  • 开发团队

Scrum Master帮助团队遵循Scrum并消除障碍。产品负责人负责处理积压的工作,并对事情进行优先级排序。

开发团队做其他一切。开发团队中没有定义角色,但我们有功能

例如,开发团队有能力进行开发。它还可以进行测试。

没有什么可以阻止开发团队拥有能力进行架构设计。例如,它可能有一个具有体系结构背景的团队成员,或者可能有几个团队成员具有体系结构经验。

至于团队领导者的角色,没有必要这样做,因为Scrum中的每个人都可以充当领导者。例如,如果团队中有人在数据库工作方面非常有经验,那么当团队处理数据库工作项时,他们可能会表现出领导力

谁在决定未来的实现方式?

团队确实如此。

一个经验丰富的Scrum团队会定期聚在一起讨论"大局"。他们将考虑实现的未来,其架构的方式等。

要使用哪些库、客户端数据处理等

谁有决定使用哪些库的经验?他们可能是一个建议图书馆使用方法的好人。然后,团队可以对此进行讨论,并就方法达成一致。客户端数据处理也是如此。

这是协作。每个人都有发言权,每个人都是潜在的领导者。

他们很可能没有足够的资格/经验,在未来的几年里,这个决定可能会花费数百万

如果团队担心他们没有足够的经验来做出重要决策,那么他们应该将其作为一个问题来提出。一些可能的解决方案包括:

  • 为团队成员提供额外培训
  • 把更有经验的人带进团队
  • 使用实践社区获取建议

敏捷宣言直接解决了原则中提到的自组织团队的问题:"最好的体系结构、需求和设计从自组织团队中脱颖而出。相对于其他著名的敏捷方法,Scrum可能在信任"有动机的个人"(根据另一项原则)方面做得最好,他们会使用科学家所说的"群体思维"。"我的指导实践是基于我对与团队合作相关的科学研究的回顾。这些研究一再表明,随着时间的推移,具有不同背景的跨职能小组在决策质量方面会优于单一专家。Scrum通过让人们一起计划每个人的工作,并通过Scrum和Demos让他们对团队负责,从而促进了这一点。

这并不意味着团队中不能有像架构师这样的技术专家,也不意味着不能为团队提供意见。我同意Leni的观点,最好不要让技术专家成为SM,因为这会将太多的社会力量整合在一个角色中,并对真正的自组织设置更多的心理障碍。(从社会心理学的角度来看,全职SM阻碍了真正的自组织,所以我让成员轮流担任这个角色。)但这些专家可以通过协调团队自下而上的标准开发、为用户故事提供投入、参加各个团队的规划仪式和演示等方式担任顾问。

相关内容

最新更新