写点什么

功能特性团队的五大优势

  • 2009-12-17
  • 本文字数:1278 字

    阅读完需:约 4 分钟

Mike Cohn 和另外几个人展示了他们的案例,同时指出:组织软件团队,应该根据软件的“特性(feature)”而不是“组件(component)”,还说明了这样做的原因。

Cohn 回想起以前与一个从事视频游戏开发的客户合作的经历。那家公司就是围绕组件组织开发团队,这让他们开发出来的游戏“武器不足以杀死怪兽,颜色过于昏暗,玩家看不清秘密通道,而其中的障碍让最耐心的玩家也难以忍受。”

他通过这个故事来建议实施敏捷的公司采用“基于功能特性来划分团队”的方式:团队负责开发端到端的功能,而不是“软件组件”。他继而总结了基于功能特性划分团队的 5 大优势

  • 功能特性团队能更好地评估设计决策的影响。” 实现端到端的功能可以来收集真正有用的反馈:用户的要求 / 需求是不是很好地被满足了;而贯穿整个架构的工作可以检验内部的 / 技术方面决策的产出。
  • 功能特性团队可以减少因为交接而引起的浪费。”指望通过交接传递信息会带来风险,基于组件的团队可能不能满足其他组件团队的需要,或者提供的组件可能根本不是人家真正想要的。
  • 它能确保总是让合适的人去讨论问题。”基于功能特性划分的团队可以营造一种每个人相知相容的环境,让大家都处于价值链中。
  • 组件团队给项目日程带来风险。”所有组件团队的产出必须整合在一起,这样才能得到有形的价值。要计划这种活动是很困难的,因为这依赖于来自不同团队的未知信息。
  • 它能让大家关注于需要交付的功能特性。”让团队能在每个迭代结束的时候能交付“可工作的软件”,这是敏捷的核心。功能特性团队能帮助每个人时刻把这一条放在首位。

最近,对于功能特性团队最有名的佐证是来自于 Bas Vodde 和 Craig Larmen 合著的《 Scaling Lean & Agile Development》一书。 Mike Cottmeyer 在他的文章中这么说道:

Larmen 和 Vodde 总结认为:理想的功能特性团队是应该跨职能、跨组件以及同地协作的。团队开发完整的用户功能,一般由 6 到 8 名具备通用技能、同时各具专长的人组成。换句话说,这就是我们 Scrum 团队的原型。 【Larmen 和 Vodde】同时也指出了功能特性团队所面临的几大挑战…对于这点我非常感谢他们。常见的障碍包括…代码的并发访问、共享设计责任、学习新技能的难度以及公司组织结构。他们认为:通过一些现代的工具,这些挑战还是能被克服的…但这需要时间。

就在这篇文章中,Cottmeyer 也提到出了来自 Dean Leffingwell 的截然相反的意见,Leffingwell 在他的《 Scaling Software Agility 》一书中力挺组件:

组件团队【Leffingwell 推荐】跟功能特性团队【Vodde/Larmen 以及 Cohn 推荐】有很多共同属性,包括团队规模不大、同时团队包括了成功交付 user story 所必须的技能。Leffingwell 提到的组件团队是被充分授权的、自组织、自我管理的团队。简而言之,他们是典型的 Scrum 团队。但是,有个很大的不同,他们面向的是组件的功能特性,而不是最终用户所要的功能特性。

Leffingwell、Cottmeyer 以及 Vodde 还在文章的评论栏进一步展开讨论,分享他们的见解

之前关于团队结构的一些讨论,包括对功能特性团队的其他观点,请参照之前InfoQ 的文章

查看英文原文: Five Benefits of Feature Teams

2009-12-17 09:155912
用户头像

发布了 114 篇内容, 共 34.9 次阅读, 收获喜欢 2 次。

关注

评论

发布
暂无评论
发现更多内容

急速学习C#死锁

喵叔

1月月更

模块 4 作业

miliving

Spring Boot Serverless 实战系列“部署篇” | Mall 应用

阿里巴巴云原生

阿里云 Serverless 云原生 MAll

SAP R/3系统的R和3分别代表什么含义,负载均衡的实现原理

汪子熙

负载均衡 abap 1月月更

【Spring专场】「AOP容器」不看源码就带你认识核心流程以及运作原理

码界西柚

spring spring 源码 1月月更 Spring原理

Spring Boot CLI安装(WIN10、macOS系统)

JavaEdge

1月月更

2021 阿里云容器服务年度盘点:企业级容器应用变化和技术趋势观察

阿里巴巴云原生

阿里云 容器 运维 云原生

Elasticsearch核心原理系列:10张图理解Elasticsearch核心概念

慕枫技术笔记

后端 1月月更

一文看懂椭圆曲线签名算法

Rayjun

区块链 椭圆曲线

《亚马逊编年史》阅读散记

boshi

读书笔记

08 Prometheus之警报管理

穿过生命散发芬芳

Prometheus 1月月更

模块四作业

whoami

「架构实战营」

深信服智能边缘计算平台与 OpenYurt 落地方案探索与实践

阿里巴巴云原生

阿里云 云原生 边缘计算 openyurt

深入解读aws graviton3

三少

云计算架构师

架构实战营 第 4 期 模块四作业

架构实战营 模块四 「架构实战营」

白帽子渗透行为监控方案

明亮安全观

网络安全 信息安全 渗透测试 行为监控

云原生背景下故障演练体系建设的思考与实践—云原生混沌工程系列之指南篇

阿里巴巴云原生

阿里云 云原生 混沌工程

一次无脑接口测试导致的无效排查的经历

liuzhen007

1月月更

来了!「年度最强技术答辩」看这里

阿里巴巴云原生

阿里云 Serverless RocketMQ 云原生 编程挑战赛

架构训练营 -- 模块六

LJK

#架构训练营

从零打造Instagram

俞凡

架构 Instagram 大厂实践

关于常见状态码,你了解多少?

坚果

服务器 1月月更

「架构实战营」模块四《如何设计业务高性能高可用存储架构》作业

DaiChen

作业 模块四 「架构实战营」

第六周作业

lv

电商系统微服务拆分和系统架构设计

drizzle

「架构实战营」

ReactNative进阶(九):API学习之注册组件AppRegistry

No Silver Bullet

React Native 1月月更 AppRegistry

什么是 Github 的元数据以及如何备份 github 上的数据

汪子熙

GitHub 1月月更

也谈谈Python的内存管理

宇宙之一粟

Python 内存管理 1月月更

考试数据存储方案

皓月

#架构实战营 「架构实战营」

从运维域看 Serverless 真的就是万能银弹吗?

阿里巴巴云原生

阿里云 Serverless 运维 云原生

996统计

你?

功能特性团队的五大优势_研发效能_Mike Bria_InfoQ精选文章