发布在即!企业 AIGC 应用程度测评,3 步定制专属评估报告。抢首批测评权益>>> 了解详情
写点什么

功能特性团队的五大优势

  • 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:155613
用户头像

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

关注

评论

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

2022-11-11:设计一个最大栈数据结构,既支持栈操作,又支持查找栈中最大元素。 实现 MaxStack 类: MaxStack() 初始化栈对象 void push(int x) 将元素 x 压

福大大架构师每日一题

Java 算法 福大大

部署和体验Helm(2.16.1版本)

程序员欣宸

Kubernetes Helm 11月月更

运维进阶训练营 -W03H

赤色闪电

运维

opensd开源啦 !这套自动化部署OpenStack工具你值得拥有

openEuler

开源 操作系统 openEuler OpenStack

涨姿势了,这 4 个场景可用 CSS 完全取代 JS ~

掘金安东尼

前端 11月月更

Zebec Chain有望成为公链赛道新兴生力军,地平线计划持续进击

小哈区块

汽车产业“芯事”何解?

易观分析

汽车芯片

Zebec Chain有望成为公链赛道新兴生力军,地平线计划持续进击

西柚子

Java实现List中集合的元素进行排序

共饮一杯无

Java List 11月月更

CSS的学习笔记(五)

lxmoe

CSS 前端 学习笔记 11月月更

Go-MySQL-Driver,让Go语言拥抱MySQL

海风极客

Go MySQL 11月月更

【愚公系列】2022年11月 微信小程序-app.json配置属性之networkTimeout

愚公搬代码

11月月更

类继承

Maybe_fl

定了,2022双11 技术进化开启新未来

阿里技术

双11

Vue基础学习(四)

Studying_swz

Vue 11月月更

Java Web(五)Web

浅辄

tomcat javaWeb 11月月更

探知数字化研发1-前言篇

薛飞

数字化 软件研发

深入Redis数据结构和底层原理

海风极客

redis 缓存 11月月更

【LeetCode】分割数组Java题解

Albert

算法 LeetCode 11月月更

Python进阶(二十五)Python读写文件

No Silver Bullet

Python 文件读写 11月月更

就这一次!带你彻底搞清MySQL行级锁的加锁规则

Java永远的神

MySQL 数据库 索引 Java 面试题

算法题学习---链表中环的入口结点

桑榆

算法题 11月月更

Vue基础学习(五)

Studying_swz

Vue 11月月更

SAP UI5 数据绑定中的工厂函数

Jerry Wang

SAP Fiori SAP UI5 ui5 11月月更

JVM 引用数据类型分析

Andy

初探Apollo远程服务配置中心

海风极客

阿波罗 11月月更 apllo 远程配置中心

聚焦银行APP用户体验,易观千帆GX指数即将独家首发

易观分析

易观

Python进阶(二十六)多线程实现同步的四种方式

No Silver Bullet

Python 多线程 11月月更

麒麟信安携手 openEuler 支撑国家电网首批数字换流站试点项目安全高效运行

openEuler

计算机网络:随机访问介质访问控制之令牌传递协议

timerring

令牌桶 11月月更

Python进阶(二十九)Python时间&日期&时间戳处理

No Silver Bullet

Python 日期处理 11月月更

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