XP适合大型团队

时间:2008-12-24 18:38:17

标签: project-management agile extreme-programming

50人团队如何处理XP项目?

我认为在所有这些人开始处理任何事情之前,项目需要分成多个模块..但这可能是针对XP实践的(BUFD)

此外,如果很多人同时开始实现用户故事,那么不会有重复(同一个类会由超过1个人编写)......或者说第一个故事需要一些数据访问功能迭代..是每个开发人员应该写入数据访问并稍后合并..我有点困惑..

4 个答案:

答案 0 :(得分:2)

这个问题的标题表明你愿意考虑替代方法,但描述中的第一句话表明你不是。

无论你使用什么方法,

将大团队分成许多小团队,所有人都处理不同的功能,这很可能是一个好主意。

你有50个编码员或50个人吗?如果是后者,那么50这包括软件架构师,信息架构师,图形设计师,交互设计师,经理,质量保证工程师,主题专家吗?团队中每个角色的百分比是多少?

此外,你的编码员有多少百分比有初级经验?

如果这50人中有很大一部分是编码人员,那么请考虑将团队分成水平和纵向的小团队。如果您的解决方案必须具有高度可扩展性,水平分区将变得更加引人注目。

现在很少有人提到这一点,但XP的原始组件之一是结对编程,这意味着每两个编码器就有一个键盘。如果你的大多数编码人员缺乏经验,那么XP真的很有吸引力。

答案 1 :(得分:1)

首先,请记住3名女性在3个月内不能生孩子;增加更多女性并不能提高生产率。

一个项目中有50人在为一个问题投入资源,希望不知何故,9个女人会在一个月内生产一个孩子。

但是,由于你可能会遇到50个人,所以有几件事需要做。

  1. 您必须拥有一个可靠的工作基础架构,以便每个人都可以逐步发展。如果第一个版本包括基础架构,Web服务器,数据库,故障转移,备份,SSO以及其他所有版本,则第一个版本将花费一年的时间,对任何人都没有任何价值(开发人员除外)。

    因此,4-5团队必须尽快启动并运行可靠,可扩展的基础架构。挑选产品,安装,配置。构建QA /测试和开发环境。不要建立生产。你不会知道的。通过构建将被丢弃的东西进行培训。

    或者。利用现有的50个人都知道并且习惯的基础设施。

  2. 您必须拥有一个通用,可用的数据环境。这包括您的类,关系表和ORM。有人需要加速这项技术并确保所有部分都有效。他们将为其他35位左右的开发人员提供专业知识。

    因此,4-5团队需要支持共享数据。数据非常宝贵,您不能简单地允许每个团队根据需要定义自己的数据。 XP不是无政府状态。

  3. 您必须拥有一个通用的,可用的表示层。这包括您的JSP或模板,您的CSS,您的JavaScript以及所有这些。有人需要使用这项技术来确保所有部分都能正常工作。他们将为其他35位左右的开发人员提供专业知识

  4. 您需要一个单元测试框架和每晚构建。有50个人,10个(至少)必须做某种或那样的QA。

  5. 有人必须解决运营问题。启动,关闭,备份,故障转移,升级,补丁,升级和升级。您真的必须了解升级(操作系统,组件,您自己的共享层,您自己的应用程序。)升级很难,有人必须完成配置管理(运行在哪里)以及源代码控制等。 (备份,日志管理等)

  6. 我们有什么?

    • 5基础设施
    • 5数据库支持
    • 5演示文稿支持
    • 5部署/运营
    • 10 QA

    如果您有其他图层(例如,网络服务),您可能还有其他共享服务团队。

    你必须拥有一名质量保证领导者和一名建筑领袖,他除了协调和表达单一的共同愿景外什么也不做。

    一位建筑师。没有猜测。

    另外20个人将被分成4个团队,他们必须在他们自己和其他层之间进行协调。 [4是一个很大的数字。由于重叠和差距,会发生不好的事情。]

    您必须将用户故事分解为某个优先级方案,然后找到前4个并将它们分类以便进行处理。在那之后,每个团队在完成正在进行的工作时会提取下一个可用的故事。

    请注意,您必须每天在所有9个团队之间进行协调,以防止多余的开发或不同的项目愿景。关于如何保持9个团队以高效,有效的方式协调,我没有任何有用的建议。

答案 2 :(得分:0)

如果你想使用XP风格的开发,你需要将它们分成大约4-5的团队。

每个团队将负责应用程序不同部分的不同功能集,例如,一个团队负责数据层,另一个负责业务层,另一个负责通信层,以及用户界面上的其他团队

基于相同功能的交叉编程团队将变得困难,这就是为什么我建议分解到软件的逻辑区域。

我个人已经看到在大型开发环境中采用了极其灵活的方法,但它们可以工作,但是您必须将这些团队分开,以便他们可以独立地与其他团队进行通信,以便进行集成。

答案 3 :(得分:0)

注意:XP是一组敏捷工程实践。如果与提供一系列项目管理实践的SCRUM结合使用,效果最佳。

没有BUFD并不意味着没有设计。

您可以做足够的初步设计来了解主要部分,并提供您知道的细节。从那里你可以组织团队,因为50是大的。 12到20人的团队(每个团队有一个IM,分析师,开发人员和测试人员,每2对一名分析师和每对一名测试员)的规模很大。

在白板上完成初始设计并在开发人员之间进行讨论,您将避免大多数重复。

鉴于故事卡识别业务功能,开发人员在任务期间将确定卡所需的工作以及触摸的系统部分(GUI?,数据访问层?,数据库?等)。开发人员将在任务期间讨论设计,因为他们会识别细节。任务完成后,工作就会知道,开发人员会报名参加工作。

此时工作有条不紊,可以开始。通过为团队配对和开放的工作空间,可以讨论问题并在遇到问题时回答问题。

相关问题