写点什么

功能特性团队的五大优势

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

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

关注

评论

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

ReactNative进阶(二):ReactNative 项目文件结构介绍

No Silver Bullet

React Native 1月月更

【MongoDB学习笔记】MongoDB索引那点事

恒生LIGHT云社区

数据库 mongodb 索引

HBase 优化如何操作

编程江湖

HBase

Tableau Day1: 完成第一个可视化

贾献华

Tableau 1月月更

【直播预告】全国人工智能大赛赛题讲解直播来啦!1月6日晚20点,不见不散!

OpenI启智社区

人工智能大赛

自创解法!setTimeout+Promise+Async输出顺序?简单的一匹!!

Sunshine_Lin

面试 前端 ES6 Promise Async

VRAR产业峰会暨第二届华为VR开发应用大赛颁奖典礼在和平区成功举办!

华为云开发者联盟

云计算 5G AR 华为云 vr

大数据培训:hadoop中shuffle过程面试题

@零度

大数据 hadoop Shuffle

Kafka的灵魂伴侣LogiKM(1)之集群的接入及相关概念讲解

Kafka中文社区

网络安全好学吗?手把手教你学metasploit 网络安全工程师学习资料汇总

学神来啦

带你认识传统语音识别技术

华为云开发者联盟

语音识别 语言模型 声学模型 隐马尔可夫链 WFST解码

安装VTK配置出现错误

Ayosh

qt

Stellantis集团将于2022CES展期间召开网络直播发布会

InfoQ_967a83c6d0d7

「offer来了」面试中必考的15个html知识点

星期一研究室

html html5 css3 前端 html/css

一图解析MySQL执行查询全流程

华为云开发者联盟

MySQL 服务器 数据包 查询语句 应用层

如何解决JDBC死链接导致NIFI线程假死

编程江湖

docker

Docker jenkins pipeline

基于机器学习和TFIDF的情感分类算法,详解自然语言处理

华为云开发者联盟

自然语言处理 机器学习 算法 TFIDF 情感分类

Java开发之SSM框架整合配置知识分享

@零度

ssm JAVA开发

React 中五种常见的使用样式

编程江湖

React

2021年度总结,欲望反光

程思扬

经验分享 #总结# 经验总结 盘点 2021

设计模式【7】-- 探索一下桥接模式

秦怀杂货店

Java 设计模式 桥接模式

惟客数据“惟客云”升级:稳操胜“券”,助力商家精准营销

科技热闻

阿里巴巴集团副总裁贾扬清-一个AI开发者的奇幻漂流

大咖说

甲方,你们愿意被乙方侮辱吗?

码农一米

云计算 云服务

使用APICloud开发app的性能提升实践

YonBuilder低代码开发平台

android APP开发 APICloud 跨端开发 app性能

Java后端学习笔记

SBB

Java 学习笔记 学习路线

三星堆遗址

wood

300天创作 三星堆

Dumpling 导出表内并发优化丨TiDB 工具分享

PingCAP

Greenplum 内核源码分析 - 分布式事务 (五)

王凤刚(ginobiliwang)

源码分析 greenplum 分布式式事务

前端培训:React Native 开发过程中遇到的坑

@零度

前端开发 ​React Native

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