敏捷开发: 每个人都必须成为通才吗?
传统的开发团队通常按角色就行分工, 开发人员只管开发, 测试人员只管测试, 在自己的职责之外的事, 要么是看不见, 要么是觉得不是我的活,我不用去管,做好做坏和我没有关系。
而敏捷软件开发恰恰相反, 更加强调“Whole Team”, 即整个团队对外做出承诺, 团队中的所有人对所有的开发,测试,文档等任务附有责任。
如果不能按时交付高质量的软件, 就是整个团队的责任, 某一个Developer/Tester做的再好也不行。
这就要求团队中的人能互相帮助, 正像华为公司说的“败则拼死相救, 胜则举杯相庆”。 所以团队中的人员最好具备多种技能,Developer能帮助测试,Tester能帮助写点代码, 写点文档...
这样大量的任务就不会挤压在某一个人身上,导致项目失败。
这样问题就来了: 团队中每一个人都必须成为通才吗? 能成为通才吗。
最近看了Mike Cohn的一个ppt,其中的一个例子回答了这个问题, 觉得很精彩, 拿出来和大家分享:
Mike Cohn 用不同类型餐馆的例子来表明了他的看法:
Meconi’s 是一家熟食店, 它有一个订餐员(Order Taker)和很多三明治厨师(Sandwich-maker), 你要去吃午饭的话你觉得体验如何? 我们会看到门外排了很长的队伍 -- 因为只有一个负责订餐的, 她非常繁忙的记录下所有这些订单。 但是一旦下了订单,老兄你估计很快就能吃到了,因为会有9个人冲过来做三明治。 但是我可不想在门外排这么长的队伍, 等这么久, 我们还是去 Bruno 家去看看吧
Bruno 恰恰想法, 它雇佣了9个订餐员,而只有一个三明治厨师, 你的订单很快会被处理, 很明显你不得不等巨长的时间才能吃到。
Ferentino 家似乎有些独特,四个订餐员,四个厨师, 还有五个机动人员(Floater) ---- 即会订餐,也会做三明治。当三明治订单太多的时候, 他们会到后厨去帮忙---也许他们做的不能和厨师一样快, 一样好。 当顾客太多的时候,他们也会冲到前台去帮忙处理订单 -- 他们也许不能做的很完美, 但足够好就行了。
很多餐厅都会明白了这一点: 保留机动人员是个好主意, 但是不是每个人都必须成为Floater.
回到软件行业, 为什么我们的敏捷团队不这样做呢: 让一些专才具备多种技能, 不一定具备团队所要求的所有技能, 只要这些人能平衡好Workload 就够了。
敏捷开发: 每个人都必须成为通才吗?相关推荐
- 敏捷开发签名人建议开发者放弃“敏捷”
作者|Rui Miguel Ferreira 译者|无明 Ron Jeffries 是极限编程(XP)的创始人之一,也是敏捷宣言的签名人之一,他在博客中发表了一篇文章,主张开发人员应该放弃" ...
- 研发提效还在死磕敏捷开发?他们都在用新工具了
每一个做项目的软件企业都有一个产品梦,都希望能够通过在项目的实战中总结经验完成产品化,最终能够拿出一个完美的产品在行业内复制. 而项目交付延期.拖后腿的产品质量.业务沉淀靠人.研发人员流动性大等等这些 ...
- 敏捷开发将走向消亡,我们该如何应对
作者 | Ulises Ramirez-Roche 译者 | 弯月 责编 | 王晓曼 出品 | CSDN(ID:CSDNnews) 如果使用得当,敏捷方法论能够兑现其承诺:更快.更可靠地交付软件,并且 ...
- 敏捷开发-Scrum与精益相得益彰
摘要: 瀑布模型是软件工程中最初的经典模型.这种方法对于那些在初期需求就很完整清晰,并且在开发过程中不会有太多变化的项目非常适用.但是,大多数情况下在 软件开发过程中需求会不断变化,而瀑布式开发很难适 ...
- 传统与敏捷开发的真正区别
2019独角兽企业重金招聘Python工程师标准>>> 在第三届"敏捷中国"技术大会上,我们听到了很多关于敏捷开发的相关论题,其中不乏互联网公司代表腾讯公司的敏捷 ...
- 敏捷开发一千零一问系列之十四:敏捷开发加班吗?
这是敏捷开发一千零一问系列的第十四篇.(在这里提问,之一,之二,之三,问题总目录) 正逢周末,又是愚人节,群中有人正在加班,想起上次培训中间休息的时候,讨论起这个"敏捷开发加班吗" ...
- DevOps 和敏捷开发的区别是什么?
聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 DevOps 和敏捷是较为流行的软件开发方法论.第十四份敏捷年度报告指出, 95%和76%的受访人员分别表示其所在组织机构已采用敏捷开发和 De ...
- 敏捷开发绩效管理系列之八:阿米巴经营之序言
这是敏捷开发绩效管理的第八篇.(栏目总目录) 每次敏捷开发培训课上,最备受关注的问题可以说是团队管理和绩效管理. "敏捷开发注重团队合作""敏捷开发不考核个人" ...
- 如何编写敏捷开发中的user story
对于敏捷开发来说,User Story是开发的基础,它不同于传统的瀑布式开发方式,而是把原本需求拆成最小粒度的Story,以方便拆分Task,估计开发时间,领取开发任务. 优点和好处 Being ve ...
最新文章
- 地平线将融资10亿美元,或创AI芯片融资纪录
- 如何调优JVM - 优化Java虚拟机(大全+实例)
- Linux中read接收用户输入
- linux软件依赖库,【Linux】ubuntu系统安装及软件依赖库
- Mysql执行计划含义,mysql执行计划介绍
- 基于华为eNSP的企业网络规划
- 年薪30万+的HR这样做数据分析!(附关键指标免费模版)
- 移动端项目功能点及实现方案 (图片居多)
- 强化学习-学习笔记11 | 解决高估问题
- 网络图片加载缓慢问题解决方案
- Python算法--查找兄弟单词
- 传统企业数字转型,主要面临哪些问题?
- Labview数据存储与读取——TDMS文件的创建与写入
- 魔方CFOP公式匹配算法
- Texture(纹理贴图)和Material(材质)概念上的区别
- 《计算机组成与系统结构(第二版) 裘雪红 李伯成 西安电子科技大学出版社》课后习题答案(带解析)(六)
- FVD跟驰模型Python数值仿真
- 5G通达,AI赋能 AI在网络规划中的应用实践
- Python3复制PNG透明图片到剪贴板
- 执笔而歌,笑傲江湖——普通的专科生活,讲着普通的故事