我正在寻找一些关于在典型的中型软件开发团队中需要的不同技能组合比例的参考或最佳实践。
假设40名开发人员,SQA,UI设计师,项目经理,数据专家等应该占多大比例?
问题领域是通用工程。我意识到这似乎是一个模糊的问题,但正确的答案将提供行业标准和最佳实践的参考,而不是一堆数字。
意见和智慧的话也赞赏!问候。
答案 0 :(得分:8)
您可能需要考虑“{有争议的”外科团队结构,该结构首先由Harlan Mills提出,并在Fred Brooks中由The Mythical Man Month详细说明。
Surgical Team结构由一名首席执行官领导,他自己执行最重要的工作,同时指导他的团队协助或超越其他重要但不太关键的部分。
书籍定义了外科团队,如以下摘要所述:
The Surgical Team http://img705.imageshack.us/img705/1599/image022b.gif
外科医生是整个团队的主要程序员。他制定了所有规范,对团队负责的整个系统进行编码,测试并起草其支持文档。
副驾驶是外科医生的得力助手。他的主要目的是分享对设计问题的思考。副驾驶代表团队与其他团队会面。他非常了解密码,并在外科医生遇到灾难时作为保险。
toolsmith 支持外科医生并构建他的外科医生可能需要的专用实用程序和工具。除了项目基础设施的其他部分提供的任何中央服务之外,每个团队都有专用的工具。
测试人员负责维护用于测试外科医生工作的测试用例。他既是一个对手,他设计测试用例来衡量正式规范,并设计用于调试的测试数据。
语言律师,可以为多位外科医生服务,是一位广泛咨询的专家,他喜欢掌握编程语言和软件必须执行的操作系统的复杂性。 。
管理员处理金钱,人员,空间和机器。外科医生是最终的老板,对所有这些问题都说是最后一句话,但问题的日常管理以及与项目管理机制的接口是专业管理员的角色。一名管理员可以为多个团队提供服务。
编辑编辑和修改外科医生起草或指示的文档,并监督其制作的机制。
项目经理,作为秘书接受培训,负责维护团队生成的所有机器可读和人类可读的技术记录。所有提交和索引都是程序员的责任。
秘书处理项目通信和非项目文件。
来源和进一步阅读(赞成和反对):
答案 1 :(得分:1)
这里有一个类似的问题..接受的答案是非常好的质量。