首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过专业化或任务构建软件开发团队?

通过专业化或任务构建软件开发团队?
EN

Stack Overflow用户
提问于 2010-07-14 15:28:44
回答 2查看 673关注 0票数 0

作为一名6年的软件开发人员,我在不同的团队中有过一系列的经验,从消极到积极。

我最好的经历之一是在一个金融机构的某个项目团队工作。

有许多因素使项目成功,但我认为团队结构是其中的一个关键方面。

概括地说:

  • 我们有专门研究不同方面的开发人员。2名开发人员擅长UI,2-3名开发人员擅长编写业务逻辑和数据库接口代码。
  • 代码严格分为表示层、业务层和数据层。
  • 每个开发人员都有整个系统的基本知识。即使他们不是所有方面的专家,他们也对所有事情是如何联系在一起的有一个大致的概念,如果有必要的话,他们可以在任何一层中编写代码。
  • 有些任务涉及到整个功能的垂直部分(涉及所有层的工作)。
  • 其他任务只涉及开发人员专门处理的应用程序领域(例如,只涉及UI任务,或仅涉及数据库任务)。

我认为这很有效,因为:

  • 开发人员能够了解整个系统,并在必要时跳入另一层。
  • 开发人员保留专门化,如果开发人员需要帮助处理一些他不熟悉的事情,总是会有一个人。
  • 建筑是僵化的,但人民是灵活的,正如他们应该的那样。

这种团队结构有正式的术语吗?这听起来像敏捷/SCRUM的安排吗?

(当时似乎还没有完全计划好。)

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-07-15 00:05:01

我不认为那种球队有什么正式的名称--除了明智的名字!:)为此,我当然同意罗伯特·哈维的观点。

每个解决方案都将(通常)涵盖诸如UI、BL、数据等一般领域;您通常还将涉及诸如日志记录、部署打包等横切关注点;所有这些都将使用特定的技术。因此,一个团队要适合于项目,就需要很好地涵盖所有这些事情--作为一个开始。

这就是“横向”的视图,垂直视图(实现功能的切片)是那些人需要交互的地方,也是XP实践(如对等编程)出现的地方,也是交叉培训真正开始发生的地方。

与此形成对比的是,您可能对弗雷德里克·布鲁克斯在其著名著作"神话中的男人月“中概述的”外科团队“方法感兴趣。

该页面上还有一个指向"组织和团队模式“的链接,这可能会引起人们的兴趣。

票数 1
EN

Stack Overflow用户

发布于 2010-07-14 15:32:50

您的开发人员可以学习的技能越多,您的团队就会变得更强大、更多样化和更快乐。

交叉训练非常重要。如果您的UI专家被总线碾过,会发生什么情况?团队中已经有人能接替他的职责了吗?

工作分配应该基于如何从体系结构上划分工作(例如,在接口上细分)。给定工作分配的开发人员应该能够或多或少地自主地工作在他的特定部分上。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3247737

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档