您的软件开发团队如何按照术语或组织结构图进行组织?

时间:2009-05-15 14:24:37

标签: sdlc

我想知道您当前的团队在报告和组织结构图方面的结构。如果任何人都可以提供orgranization中使用的各种角色的名称,那将是非常棒的。

我想我完全搞砸了这个问题。我也想知道什么是理想的设置,有点像你的梦想组织结构图。

8 个答案:

答案 0 :(得分:3)

我在一家小型软件公司工作;我们只有两个开发人员。在我开始编写软件之前,我学习了心理学,之后我获得了MBA学位,所以我可以从现有的文献中告诉你,普通人可以管理2-7件事,最优的是4-5。所以,你最好的选择是到5人或更少的团体。如果您有5个团队,则一个人可以管理所有5个团队。如果你有25个团队,一个人管理每个团队,一个人管理5个经理。

就个人而言,我总是有两个程序员在同一个办公桌上工作。我的首席开发人员和我在一个非常大的办公桌上工作。我们面对面,没有分隔线。我们相处得很好,协作的便利性使我们非常高效。我可能总是有多达3-4个程序员同时在同一个办公室工作。我会让他们彼此面对,这样你仍然可以获得隐私,所以通过眼神接触来提问是很容易和舒适的。

另外,我不会让我的程序员在一个公共区域。对于程序员来说,分心可能是非常昂贵的。我希望他们有能力关上门,说:“今天没有人惹我......我在这个区域!”

最后,理想情况下,开发人员应尽可能少地处理项目。上下文切换在开发环境中是杀手锏。简单的分心可能会花费一小时的生产力。上下文切换可能需要几个小时。因为我们这么小,所以我们经常在同一天做5到6个项目。较大的公司几乎专门为一个项目提供程序员,这可以减少由于上下文切换造成的效率损失。

答案 1 :(得分:2)

在Microsoft Windows和办公室组织中,产品开发团队(大多数)由三个角色的人组成,即程序管理(PM),测试人员和开发人员。

当然,开发人员负责开发。测试团队负责开发功能和相关测试和基础设施;并运行测试以查找错误。手动完成很少的测试 - 我们花了很多时间自动化事物。这包括设计使它们更容易测试的东西。

项目管理职责负责沟通,协调和规划。这对不同的团队意味着不同的事情。但它们是把所有东西放在一起的胶水。

从组织结构图的角度来看,事情非常传统。大多数经理都有3至9人向他们报告 - 不是太平坦,而是太深。一个非常平坦的组织树在微软不能很好地工作(这并不意味着它很糟糕,但从文化的角度来看,有超过9个直接报告是挑战性的。)

答案 2 :(得分:1)

我们有:

拥有者。

开发者(所有者在技术上是开发者之一)

没有中层管理人员,没有头衔,也没有不必要的手续。

适合我。

答案 3 :(得分:0)

在我的公司,我们的管理结构非常扁平。我们的开发团队没有任何层次结构;所有软件工程师都处于同一“级别”并直接向软件开发副总裁报告。偶尔我们中的一个人会被引导来领导一个项目,但在我们公司,这只是意味着一系列不同的责任,而不是促销。这有点酷,因为它使我们的开发团队成为一个精英。

答案 4 :(得分:0)

  • 软件工程总监
  • 首席软件工程师
  • 高级软件工程师
  • 软件工程师II
  • 软件工程师I

我们还拥有“团队领导”职位和“项目工程师”职位。我确定还有其他的我忘记了,但今天早上我的咖啡还不够。

答案 5 :(得分:0)

在大多数情况下,我们的设置如下:

经理< - CMMI Facilitator< - 软件工程师I-IV

经理< - 系统工程师

这是一个相当简单的设置,但效果很好。

答案 6 :(得分:0)

[导演]< - > [PM]< - > [开发人员,测试人员]

[开发者]< - > [导演]

相当平坦。

答案 7 :(得分:0)

我们的人力资源报告关系与开展工作的团队不同。我们有三个Scrum团队,其中有几个产品所有者,但这些团队中的人员不一定向团队成员报告。高级开发人员(我们三个人)向工程总监报告,其余的开发人员(六人)向两位资深开发人员报告。同时,测试人员和SDET都向高级SDET报告。因此,在人力资源管理方面,有三位中层管理人员向工程总监报告,还有一位没有任何报告的高级开发人员和我们的架构师。那些十五个左右的人反过来分散在三个Scrum团队中,这些团队不一定与组织结构图一致。 Scrum团队负责日常决定人们应该做些什么,而人力资源报告关系则是工作绩效,人们可能遇到的任何问题,职业路径等等。