传统的开发团队通常按角色就行分工, 开发人员只管开发, 测试人员只管测试, 在自己的职责之外的事, 要么是看不见, 要么是觉得不是我的活,我不用去管,做好做坏和我没有关系。
而敏捷软件开发恰恰相反, 更加强调“Whole Team”, 即整个团队对外做出承诺, 团队中的所有人对所有的开发,测试,文档等任务附有责任。
如果不能按时交付高质量的软件, 就是整个团队的责任, 某一个Developer/Tester做的再好也不行。
这就要求团队中的人能互相帮助, 正像华为公司说的“败则拼死相救, 胜则举杯相庆”。 所以团队中的人员最好具备多种技能,Developer能帮助测试,Tester能帮助写点代码, 写点文档...
这样大量的任务就不会挤压在某一个人身上,导致项目失败。
这样问题就来了: 团队中每一个人都必须成为通才吗? 能成为通才吗。
最近看了Mike Cohn的一个ppt,其中的一个例子回答了这个问题, 觉得很精彩, 拿出来和大家分享: