59

我们在日常开发中大量使用 Jira。我想看看在 Jira 中创建项目组件是否有任何最佳实践?

例如,您认为在 Jira 中为每个开发模块创建一个组件更好,还是您的团队更喜欢更细粒度的组件?

4

8 回答 8

29

组件就像小子项目。将人们聚集在一起时,项目似乎最有用。我向我的客户推荐 JIRA 项目在某种程度上反映了社会组织,至少在项目数量变得非常大之前是这样。

此外,避免使用名为“Misc”或“Other”的组件。它们往往会成为没人关心的问题的垃圾场。

于 2009-08-03T16:45:36.737 回答
17

Most important about components is to be unambiguous and not too many. In our team now, we are migrating to 3 level hierarchy (in GreenHopper sense):

  • on the top level you have the BA components which are few and delineated by team (infra, backend, GUI) - this helps BA guys route the request to the correct DEV-team manager assigned as component lead.
  • the second level is actual process (in the Unix sense). This is very clear definition. In case an issue maps to multiple processes, we assign it to one of them (BTW, GreenHopper does not allow multiple leaf components, but plain JIRA does). This is done by DEV manager.
  • the third level is optional and rarely used, denoting subsystem within the process. We use it when a considerable part of the of the issues are related to a well defined part of the code and we want to track them separately. This is usually done by the developer working on the issue.

In order for such progressive refinement to work, you need to have idea of who is assigning to which component and who is processing the issues assigned to it. The latter is denoted by Component Lead, the former is not explicitly supported by JIRA (or we would be able to say that BA's see only their components, DEV managers, only their subcomponents + all BA, etc.)

于 2010-10-17T05:33:08.910 回答
13

我会将组件与您的模块/工件/jar 匹配,因此每个问题都可以由特定模块拥有(尽管它也可能与其他模块有依赖关系/关系)。

如果您可以提出比模块级别更细粒度的问题管理的有力案例,请考虑为什么您不会同时分离相关模块。

拥有这种 1-1 映射有助于明确您的发布计划,您可以轻松地了解项目的 X 版本存在哪些问题,以及将精力集中在哪些模块上。它还有助于简化 Jira、构建系统和 SCM 之间的关联,例如,如果您使用 Bamboo,您可能每个模块都有一个构建项目,因此您可以简单地添加关联。

于 2009-08-02T16:14:50.250 回答
12

从 4.2.4 开始,无法对组件进行版本化,只能对项目进行版本化。如果您喜欢使用路线图功能,请记住这一点。

长期以来(7 年以上)要求为组件添加版本控制:

http://jira.atlassian.com/browse/JRA-3501

于 2011-03-08T21:45:54.660 回答
10

为每个主要模块甚至系统层(例如后端、前端)创建一个组件。我不会低于模块级别的粒度。您可以添加支持活动的组件,例如 BA、测试(同意 mdoar)... 组件与版本/发行版正交

于 2010-03-03T14:09:40.213 回答
5

我现在对组件有了另一种看法。
对于客户,我将“组件”字段称为:

A multiselect field that's useful for automatically assigning issues. Each of the things in this field has a potential assignee associated with it.

然后我说:

If you don't care about automatic assignment, just treat the components field as a convenient system field.

所以要再次回答最初的问题,问问自己,你是按团队分配问题还是按你提到的精细级别分配问题?
大概是前者。

于 2012-11-08T23:42:19.313 回答
3

JIRA 旨在让项目的每个组件都具有相同的版本号集,因此,如果您希望组件具有独立的版本号,您需要为每个组件设置不同的项目,或者使用我开发的允许组件特定的插件版本号,同时允许将组件分组到一个包中。该插件是“JIRA 的组件/子组件/捆绑版本”,可在 Atlassian Marketplace 获得。更多信息可在 atlassian插件帮助页面上找到。另一种选择是强制团队的每个组件都具有相同的版本号集。否则很难为组件选择正确的版本号。

于 2014-01-06T19:17:05.767 回答
1

我们使用 2 级组件层次结构(感谢 greenhopper ...) - 主题和史诗。Greenhopper Themes 和 Epics 中的构建不允许我们以我们想要的方式进行汇总和报告,这非常有效。

于 2010-11-18T03:32:14.807 回答