团队构成不仅仅是一个团队有哪些分支团队组成,而是一个比较大的概念。它包含团队的建设,团队的结构,资源的调配和人员分布。
团队结构
1.有独立的质量保证团队
说到这点,好像有点尴尬,之前不是一直说要把测试和开发等人员都归为一类吗?这里怎么又要独立出来。其实我们之前说的“一视同仁”,是要求测试要和开发人员有team的概念,把测试人员整合到开发团队中。事实上质量保证团队和开发团队还是需要分开来的,有下面两个原因:
独立的质量保证团队可以有自己的视角,对产品的质量提出外部观点,站在客户的角度看待问题。
独立的质量保证团队可以明确项目的目的和终点,交付符合要求的,通过测试的代码而不是交付所有代码。
2.把测试人员整合到敏捷项目
整合的团队有一个重要的优势就是只有一个预算和一个进度安排,开发测试并发,不会出现功能完成没时间测试的现象。另外,有了测试人员的“影响力”,可以使得整体团队对质量负责。在每个版本的迭代完成后,要确保用回顾总结会来评估测试人员需要和敏捷团队整合的点,以及测试人员所需要的额外技能,一方面可以提高测试人员和开发人员沟通的能力,另一方面可以提高下次迭代的level,这个level可以是速度,可以是质量,可以是任何你认为好的方向。因为新的技术可以带来新的改变。
人员分布
敏捷团队中强调人与人之间的沟通。所以很多采用敏捷的组织会把团队迁移到开放式的工作环境。但是团队的规模给组织的"开放式"带来了挑战,对于大规模的团队,要用各种技术来解决这个问题,比如视频会议等。还好,我所在的团队规模足以让我们在公司的一角“自娱自乐”。
人力资源
很多人考虑测试和开发的人员比例问题。其实我自己也思考过,开始了解敏捷测试的时候,由于看到结对编程的思想,在想是不是测试和开发的比例是1:1最好?但是考虑到资源配置,觉得好像不大可能。那这个比例取决于什么,应该取决于自己团队的实际情况。团队中做的产品越复杂越细节,当然所需要的测试人员也就越多,测试人员所掌握的技能越少,工具越落后,所需要的测试人员也会越多。所以,赶紧培养你们的测试人员吧,让他们做到以一敌百!
团队建设
赋予团队更多的权利——自组织团队
在赋予团队权利自己发现并解决问题时,团队进展的最快,高效率的团队需要自己去成长。
每个团队成员有同等价值
问及现在的毕业生,你想做开发还是测试。如果只有这两个选项,大家一定选择开发,因为多数人认为测试无聊而没有技术含量,容易被淘汰。开发可以去做测试的事情,但是测试不一定可以做得了开发的工作。其实我自己也曾这样想过,直到团队中的shark给我科普了一下测试。在工作过程中,我也慢慢有了一些体会,其实并不是测试没有技术含量,只是一些测试不去追求技术含量。欢乐颂里樊胜美的一句话还点出了程序员在金融界的定位“IT民工”,难道听到自己是民工的开发人员就该自暴自弃,觉得自己低人一等吗?不是的,你们用的各种软件还都是我们开发的呢~~所以敏捷测试人员需要有很多自我建设的方面,现在大家都称为十条法则。这些法则的内容可以自由填充,大家可以根据对自己的定位设定内容。
✨提供持续反馈
✨为客户创造价值
✨进行面对面的沟通
✨勇气
✨简单化
✨持续改进
✨响应变化
✨自我组织
✨关注人
✨享受乐趣
业绩和奖励
如果团队在努力,管理层应该奖励促进团队交付有业务价值的业绩,但是不要惩罚个人,记住,我们是一个team。