传统的开发团队通常按角色就行分工, 开发人员只管开发, 测试人员只管测试, 在自己的职责之外的事, 要么是看不见, 要么是觉得不是我的活,我不用去管,做好做坏和我没有关系。

而敏捷软件开发恰恰相反, 更加强调“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 就够了。

敏捷开发: 每个人都必须成为通才吗?相关推荐

  1. 敏捷开发签名人建议开发者放弃“敏捷”

    作者|Rui Miguel Ferreira 译者|无明 Ron Jeffries 是极限编程(XP)的创始人之一,也是敏捷宣言的签名人之一,他在博客中发表了一篇文章,主张开发人员应该放弃" ...

  2. 研发提效还在死磕敏捷开发?他们都在用新工具了

    每一个做项目的软件企业都有一个产品梦,都希望能够通过在项目的实战中总结经验完成产品化,最终能够拿出一个完美的产品在行业内复制. 而项目交付延期.拖后腿的产品质量.业务沉淀靠人.研发人员流动性大等等这些 ...

  3. 敏捷开发将走向消亡,我们该如何应对

    作者 | Ulises Ramirez-Roche 译者 | 弯月 责编 | 王晓曼 出品 | CSDN(ID:CSDNnews) 如果使用得当,敏捷方法论能够兑现其承诺:更快.更可靠地交付软件,并且 ...

  4. 敏捷开发-Scrum与精益相得益彰

    摘要: 瀑布模型是软件工程中最初的经典模型.这种方法对于那些在初期需求就很完整清晰,并且在开发过程中不会有太多变化的项目非常适用.但是,大多数情况下在 软件开发过程中需求会不断变化,而瀑布式开发很难适 ...

  5. 传统与敏捷开发的真正区别

    2019独角兽企业重金招聘Python工程师标准>>> 在第三届"敏捷中国"技术大会上,我们听到了很多关于敏捷开发的相关论题,其中不乏互联网公司代表腾讯公司的敏捷 ...

  6. 敏捷开发一千零一问系列之十四:敏捷开发加班吗?

    这是敏捷开发一千零一问系列的第十四篇.(在这里提问,之一,之二,之三,问题总目录) 正逢周末,又是愚人节,群中有人正在加班,想起上次培训中间休息的时候,讨论起这个"敏捷开发加班吗" ...

  7. DevOps 和敏捷开发的区别是什么?

     聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 DevOps 和敏捷是较为流行的软件开发方法论.第十四份敏捷年度报告指出, 95%和76%的受访人员分别表示其所在组织机构已采用敏捷开发和 De ...

  8. 敏捷开发绩效管理系列之八:阿米巴经营之序言

    这是敏捷开发绩效管理的第八篇.(栏目总目录) 每次敏捷开发培训课上,最备受关注的问题可以说是团队管理和绩效管理. "敏捷开发注重团队合作""敏捷开发不考核个人" ...

  9. 如何编写敏捷开发中的user story

    对于敏捷开发来说,User Story是开发的基础,它不同于传统的瀑布式开发方式,而是把原本需求拆成最小粒度的Story,以方便拆分Task,估计开发时间,领取开发任务. 优点和好处 Being ve ...

最新文章

  1. 地平线将融资10亿美元,或创AI芯片融资纪录
  2. 如何调优JVM - 优化Java虚拟机(大全+实例)
  3. Linux中read接收用户输入
  4. linux软件依赖库,【Linux】ubuntu系统安装及软件依赖库
  5. Mysql执行计划含义,mysql执行计划介绍
  6. 基于华为eNSP的企业网络规划
  7. 年薪30万+的HR这样做数据分析!(附关键指标免费模版)
  8. 移动端项目功能点及实现方案 (图片居多)
  9. 强化学习-学习笔记11 | 解决高估问题
  10. 网络图片加载缓慢问题解决方案
  11. Python算法--查找兄弟单词
  12. 传统企业数字转型,主要面临哪些问题?
  13. Labview数据存储与读取——TDMS文件的创建与写入
  14. 魔方CFOP公式匹配算法
  15. Texture(纹理贴图)和Material(材质)概念上的区别
  16. 《计算机组成与系统结构(第二版) 裘雪红 李伯成 西安电子科技大学出版社》课后习题答案(带解析)(六)
  17. FVD跟驰模型Python数值仿真
  18. 5G通达,AI赋能 AI在网络规划中的应用实践
  19. Python3复制PNG透明图片到剪贴板
  20. 执笔而歌,笑傲江湖——普通的专科生活,讲着普通的故事

热门文章

  1. 你的微信消息是怎么发出去的?
  2. stringTools 字符串工具类
  3. 利用ArcGIS模型构建器实现批量投影栅格
  4. 【ALM】基于Polarion构建GJB5000A体系支撑平台
  5. 创新工场笔试最后两道题
  6. php多选筛选,DEDECMS自定义模型筛选多选版插件
  7. 施乐维修服务器,富士施乐DocuCentre 450I故障诊断 维修代码.doc
  8. oracle索引与序列
  9. location 的使用
  10. 给谷歌安装es-head