2012-02-12 46 views
0

我们正在审查Scrum并了解我们如何在我们的产品中实现它。由于它对我们来说是相当新的,大多数例子都遵循一个非常简单的循环,所以我们对它如何适用于我们的情况有一些疑问。如何处理并行产品中的单个团队?

我们是一个由少数开发人员组成的团队。我们有1款产品具有多个并行产品版本。例如:

Foo/ 
    /version_1 
    /version_2 
    /fork_a 
    /fork_b 

第1版是我们的传统版本,它主要接收错误修复,但我们需要从我们的主要发展港口回来,偶尔功能:第2版。两个fork_a和fork_b是我们的产品的特殊版本, Foo,可以从另一个用户界面转到一个小的额外功能。目前,当叉子制造完成时,它被视为关闭,没有任何东西移植到该分支。

我们的问题是所有这些产品版本都是并行开发的,我们无法想象如何保持这一点。 (我们计划使用TFS 2010作为我们的工具,因此任何直接示例都是有用的。)

我们虽然将所有东西视为不同的产品,每种产品都有自己的版本和冲刺。但是这意味着需要在版本1中使用功能A以及版本2中的功能B的开发人员可以使用并行冲刺进行预订。我们基本上需要手动管理。这意味着我们无法正确生成报告来对此进行可视化。

另一种想法是将所有东西视为单一产品并放弃发布期限。或者使用季度版本,并且在所有产品的冲刺下。但这意味着我们可以在一个月的冲刺的第一周内发布产品。我们如何与之合作?或者,我们如何正确地查看单个产品版本所做的工作?因为工作开发人员X在sprint 1和2中所做的工作对于我们所定位的产品发布无效。

任何真实世界的例子和想法如何管理这是非常感谢。

回答

0

要查看在特定版本上完成的工作,请在签入时使用工作项关联,这样您就可以简单地查询哪些项目进入了哪个分支。

使用自动构建自动将变更集(以及因此工作项目)关联到产品的内置版本。通过这种方式,很容易找出哪些二进制文件发生了哪些更改。

然后终于让市场营销人员决定如何命名/编号每个发布,技术版本号不必与营销版本相匹配,大多数微软产品都是这方面的一个很好的例子,Windows 7并没有版本号为7,内部使用6.1,版本号7600.16385.090713-1255

1

我们处理的是与我们的Scrum团队类似的情况。我们有一个更广泛的产品,我们用一个团队开发(内部桌面应用程序,网络应用程序,Web服务)。所有人都有一个共同的技术基础(C#.NET),但有很多客户和演示技术。实际上,我们有足够多的软件开发人员将其分解为单独的团队,但我们没有足够大的支持人员(QA,DBA,BA)来这样做。所以我们最终修改了经典的Scrum方法,因为并不是所有的故事都可以由整个团队来处理,有些是更多的web开发和更多的桌面。我们仍然取得了很大的成功,每两周就对我们所有产品的反馈,并向利益相关者进行组合演示。我们也同步发布所有产品。

我认为要做的最好的事情就是开始处理似乎适合的任何过程,并在回顾过程中一路调整。不要太担心成为教科书,因为所有敏捷流程都是根据您的具体情况量身定制的。做一些事情“正确”比在尝试做出决定时不做任何事情要好。

0

我曾经在团队中工作过,树干和树枝像你拥有的一样。当时我们没有练习敏捷,但这并没有阻止我们用我们的常识来拉动。如果我现在要再做一次,我将有一个主板用于所有需要在冲刺中发生的工作,但也为每个不同的分支/分支都有子板。主板和子板每天都在同一时间更新。子板仅提供特定于每个叉子/分支的故事和进度的可视化。主板上的所有内容仍然完成,每次冲刺都会完成标准。版本需要同步到相同的冲刺间隔(时间可以不同),以保持团队合作(没有平行冲刺)。