In FogBugz 6, how do I represent the concepts of a "feature" versus a "task"? As defined by Joel Spolsky, the owner of Fog Creek Software (which makes FogBugz), a feature is essentially a user-visible capability. To estimate the time to implement a feature, the developer should break the implementation into short tasks (2 days max) to ensure they think about each step.
在FogBugz 6中,我如何表示“特征”与“任务”的概念?正如Fog Creek Software(制作FogBugz)的所有者Joel Spolsky所定义的,功能本质上是用户可见的功能。为了估计实现功能的时间,开发人员应该将实现分解为短任务(最多2天),以确保他们考虑每个步骤。
FogBugz has only cases. I can't tell whether they're supposed to correspond to features or tasks. Some FogBugz documentation indicates that each case is a task, which is fine except there is no way to group all the tasks for a given feature together. This is especially odd given that, before FogBugz 6, Joel advocated using a spreadsheet with that grouped all the tasks for each feature. But his own software doesn't appear to meaningfully support that grouping.
FogBugz只有案例。我不知道它们是否应该与功能或任务相对应。一些FogBugz文档表明每个案例都是一个任务,除了没有办法将给定特征的所有任务分组在一起外,这很好。这一点特别奇怪,因为在FogBugz 6之前,Joel主张使用电子表格将每个功能的所有任务分组。但是他自己的软件似乎并不能有意义地支持这种分组。
I realize that the Joel article I reference includes a disclaimer pointing to a later article. However, the later article does not settle this issue, in fact it doesn't discuss features versus tasks at all, which is surprising given how well Joel advocates for those concepts in the first article.
我意识到我引用的Joel文章包含一个指向后续文章的免责声明。然而,后面的文章没有解决这个问题,实际上它根本没有讨论功能与任务,这是令人惊讶的,因为Joel在第一篇文章中提倡这些概念。
6 个解决方案
#1
8
For FogBugz 6.0 and earlier:
对于FogBugz 6.0及更早版本:
Make a case for each work item (task). FogBugz calls them "Features," only to distinguish them from bugs, but you do want one case for each task.
为每个工作项(任务)创建一个案例。 FogBugz将它们称为“功能”,只是为了将它们与错误区分开来,但你确实需要为每个任务分配一个案例。
The best way to group a bunch of tasks is to make a Release (Fix-For) and assign all of the tasks to that release.
对一组任务进行分组的最佳方法是创建一个Release(Fix-For)并将所有任务分配给该版本。
#2
8
Responding to AviD's comment/question to Joel:
回应AviD对Joel的评论/问题:
So, if you have 10 new features coming in the next version, with each feature needing 5 tasks to implement, you recommend creating 10 releases? And how do I define that these are the features/"releases" that are to be included in the upcoming release?
因此,如果您在下一个版本中有10个新功能,每个功能需要执行5个任务,您建议创建10个版本吗?我如何定义这些是即将发布的版本中包含的功能/“发布”?
Here is how we dealt with this specific problem in our development process:
以下是我们在开发过程中处理此特定问题的方法:
- First, we made a regular release schedule: monthly internal releases and quarterly external releases. This schedule never changes but task assignment / feature completion does. This is hugely important in terms of simplifying our inter-human communication: don't try to argue with the calendar.
- Major features ("10 new features" in your example) are turned into cases (e.g., case 101 to case 110).
- Each task that is a sub-component of a major feature also gets created as a sub-case with a description of what makes this chunk of work an important part of the larger picture. Previously, in Fogbugz 6, we used the "See also" feature by allowing it to search the text for us ("This is a sub-component of case 101" for example). This was effectively the same thing but less aesthetic.
- Now that we've broken down the work to its finest level of usefulness, we bring the actual developers into the discussion. Each task and major feature is individually assigned to a particular developer.
- The developer determines when they can get their assigned work done by picking the appropriate internal release date that they think they can commit to.
- At this point, we have a rough sketch of what will get done for each release. Further refinements continue as the working people actually estimate the hours that they'll need to do the work, enabling evidence-based scheduling, etc.
首先,我们制定了定期发布计划:每月内部发布和季度外部发布。此计划永远不会更改,但任务分配/功能完成。这在简化人际交流方面非常重要:不要试图与日历争论。
主要特征(在您的示例中为“10个新功能”)被转换为案例(例如,案例101到案例110)。
作为主要特征的子组件的每个任务也被创建为子案例,其中描述了使这一块工作成为更大图片的重要部分的原因。以前,在Fogbugz 6中,我们使用“See also”功能,允许它为我们搜索文本(例如,“这是案例101的子组件”)。这实际上是相同的,但不太美观。
现在我们已经将工作分解为*别的有用性,我们将实际开发人员纳入讨论。每个任务和主要功能都单独分配给特定的开发人员。
开发人员通过选择他们认为可以承诺的适当内部发布日期来确定何时可以完成分配的工作。
在这一点上,我们粗略地概述了每个版本将要完成的工作。随着工作人员实际估计他们完成工作所需的时间,实现基于证据的安排等,进一步改进。
For AviD's question, though, he would have the release-assignment problem solved by step 5 above.
但是,对于AviD的问题,他会在上面的第5步解决发布分配问题。
However, I think point 6 is the most interesting as that's where you really get a solid schedule. For example, if developers are having trouble estimating a larger task, they break it down into sub-cases even further. Notice how my assessment of "finest level of usefulness" can differ (perhaps greatly) from the person who really needs to get the work done.
但是,我认为第6点是最有趣的,因为那是你真正得到一个可靠的时间表。例如,如果开发人员在估算更大的任务时遇到问题,他们会进一步将其分解为子案例。请注意我对“最佳实用程度”的评估可能与真正需要完成工作的人有所不同(可能很大)。
This is also a time when a developer can reach out to someone else and say "I can do most of this but it would really help if person X could help me with this little piece Y." This is actually where I get most of my development tasking: I personally sit in multiple places during this process, from large-scale planning meetings to little fiddly tasks that no-one else has time to do.
这也是一个开发人员可以与其他人联系并说“我能做到这一点但是如果X人可以帮我处理这件小事件真有帮助的时候”。这实际上是我获得大部分开发任务的地方:在这个过程中我个人坐在多个地方,从大规模的计划会议到没有其他人有时间做的小任务。
PS: Making it a personal goal to get this answer rated higher than Joel's.... ;-)
PS:让这个答案的评分高于乔尔的个人目标...... ;-)
PPS: My original response is now overcome by events since Fogbugz 7 has lovely sub-tasks. Program managers love those reports.
PPS:由于Fogbugz 7有可爱的子任务,我的原始反应现在被事件所克服。项目经理喜欢这些报道。
#3
5
You may have better luck asking your questions in the FogBugz Discussion Forum
您可以在FogBugz论坛中提出更好的运气问题
#4
1
We use a combination of projects in order to accomplish your grouping goals. We also commonly setup a project "parking" Wiki where links to development cases, technical documentation, systems requirements, user documentation, external links to resources etc. can all be placed. It provides a good "one-stop-shop" for everything related to that project.
我们使用项目组合来实现您的分组目标。我们还经常设置一个项目“停放”Wiki,其中包含开发案例,技术文档,系统要求,用户文档,资源外部链接等的链接。它为与该项目相关的所有事物提供了良好的“一站式服务”。
As part of that Wiki, we would then setup two specific projects. One in relation to the large overall goals/outlines similar to what might correspond to your Project Management charts/whatnot. One in relation to the development tasks of each feature as they are broken down into the smaller and more manageable chunks. You can then, as was mentioned use case linking to both reference the "master" cases in the other project as well as reference the project Wiki itself so that you can quickly and easily get back to all of your project related information which is conveniently in one spot.
作为该Wiki的一部分,我们将设置两个特定项目。一个与大型总体目标/轮廓相关的内容类似于您的项目管理图表/诸如此类的内容。一个与每个功能的开发任务相关,因为它们被分解为更小且更易于管理的块。然后,您可以像前面提到的那样使用用例链接来引用其他项目中的“主”案例,并引用项目Wiki本身,以便您可以快速轻松地返回所有项目相关信息,这些信息很方便。一个地方。
You can accomplish a pile of different organizational structures using FogBugz, you just have to approach things a little differently sometimes in order to hit each and every situation.
你可以使用FogBugz完成一堆不同的组织结构,你只需要有点不同地处理事情,以便击中每一种情况。
Hope that helps.
希望有所帮助。
#5
0
haha, that article has a disclaimer, but I understand what you are saying.
哈哈,那篇文章有免责声明,但我明白你在说什么。
We use Fogbugz and the only 'Feature' that I am aware of is under category and I don't think you can associated it with sub-tasks.
我们使用Fogbugz,我所知道的唯一“特征”属于类别,我认为你不能将它与子任务联系起来。
You can type in 'Case N' is the feature for this task if you just wanted to reference it in the case text.
如果您只想在案例文本中引用它,则可以输入'Case N'作为此任务的功能。
That kind of stuff sound like is lies more in the project management domain instead of software used to track bugs.
这种东西听起来更像是项目管理领域,而不是用于跟踪错误的软件。
#6
0
thats a good question, i have asked that myself, too.. we currently test-drive fogbugz for 45 days in a group of 5 developers, and we currently create a "release" for major features. in fact we do not release it, but multiple releases together when something is ready.
这是一个很好的问题,我也问自己。我们目前在一组5名开发人员中试用了雾天45天,我们目前正在为主要功能创建一个“发布版”。实际上我们不发布它,但是当一些东西准备好时,它们会一起发布。
there should definately be some sort of advanced task grouping in fogbugz.
应该肯定是在fogbugz中进行某种高级任务分组。
#1
8
For FogBugz 6.0 and earlier:
对于FogBugz 6.0及更早版本:
Make a case for each work item (task). FogBugz calls them "Features," only to distinguish them from bugs, but you do want one case for each task.
为每个工作项(任务)创建一个案例。 FogBugz将它们称为“功能”,只是为了将它们与错误区分开来,但你确实需要为每个任务分配一个案例。
The best way to group a bunch of tasks is to make a Release (Fix-For) and assign all of the tasks to that release.
对一组任务进行分组的最佳方法是创建一个Release(Fix-For)并将所有任务分配给该版本。
#2
8
Responding to AviD's comment/question to Joel:
回应AviD对Joel的评论/问题:
So, if you have 10 new features coming in the next version, with each feature needing 5 tasks to implement, you recommend creating 10 releases? And how do I define that these are the features/"releases" that are to be included in the upcoming release?
因此,如果您在下一个版本中有10个新功能,每个功能需要执行5个任务,您建议创建10个版本吗?我如何定义这些是即将发布的版本中包含的功能/“发布”?
Here is how we dealt with this specific problem in our development process:
以下是我们在开发过程中处理此特定问题的方法:
- First, we made a regular release schedule: monthly internal releases and quarterly external releases. This schedule never changes but task assignment / feature completion does. This is hugely important in terms of simplifying our inter-human communication: don't try to argue with the calendar.
- Major features ("10 new features" in your example) are turned into cases (e.g., case 101 to case 110).
- Each task that is a sub-component of a major feature also gets created as a sub-case with a description of what makes this chunk of work an important part of the larger picture. Previously, in Fogbugz 6, we used the "See also" feature by allowing it to search the text for us ("This is a sub-component of case 101" for example). This was effectively the same thing but less aesthetic.
- Now that we've broken down the work to its finest level of usefulness, we bring the actual developers into the discussion. Each task and major feature is individually assigned to a particular developer.
- The developer determines when they can get their assigned work done by picking the appropriate internal release date that they think they can commit to.
- At this point, we have a rough sketch of what will get done for each release. Further refinements continue as the working people actually estimate the hours that they'll need to do the work, enabling evidence-based scheduling, etc.
首先,我们制定了定期发布计划:每月内部发布和季度外部发布。此计划永远不会更改,但任务分配/功能完成。这在简化人际交流方面非常重要:不要试图与日历争论。
主要特征(在您的示例中为“10个新功能”)被转换为案例(例如,案例101到案例110)。
作为主要特征的子组件的每个任务也被创建为子案例,其中描述了使这一块工作成为更大图片的重要部分的原因。以前,在Fogbugz 6中,我们使用“See also”功能,允许它为我们搜索文本(例如,“这是案例101的子组件”)。这实际上是相同的,但不太美观。
现在我们已经将工作分解为*别的有用性,我们将实际开发人员纳入讨论。每个任务和主要功能都单独分配给特定的开发人员。
开发人员通过选择他们认为可以承诺的适当内部发布日期来确定何时可以完成分配的工作。
在这一点上,我们粗略地概述了每个版本将要完成的工作。随着工作人员实际估计他们完成工作所需的时间,实现基于证据的安排等,进一步改进。
For AviD's question, though, he would have the release-assignment problem solved by step 5 above.
但是,对于AviD的问题,他会在上面的第5步解决发布分配问题。
However, I think point 6 is the most interesting as that's where you really get a solid schedule. For example, if developers are having trouble estimating a larger task, they break it down into sub-cases even further. Notice how my assessment of "finest level of usefulness" can differ (perhaps greatly) from the person who really needs to get the work done.
但是,我认为第6点是最有趣的,因为那是你真正得到一个可靠的时间表。例如,如果开发人员在估算更大的任务时遇到问题,他们会进一步将其分解为子案例。请注意我对“最佳实用程度”的评估可能与真正需要完成工作的人有所不同(可能很大)。
This is also a time when a developer can reach out to someone else and say "I can do most of this but it would really help if person X could help me with this little piece Y." This is actually where I get most of my development tasking: I personally sit in multiple places during this process, from large-scale planning meetings to little fiddly tasks that no-one else has time to do.
这也是一个开发人员可以与其他人联系并说“我能做到这一点但是如果X人可以帮我处理这件小事件真有帮助的时候”。这实际上是我获得大部分开发任务的地方:在这个过程中我个人坐在多个地方,从大规模的计划会议到没有其他人有时间做的小任务。
PS: Making it a personal goal to get this answer rated higher than Joel's.... ;-)
PS:让这个答案的评分高于乔尔的个人目标...... ;-)
PPS: My original response is now overcome by events since Fogbugz 7 has lovely sub-tasks. Program managers love those reports.
PPS:由于Fogbugz 7有可爱的子任务,我的原始反应现在被事件所克服。项目经理喜欢这些报道。
#3
5
You may have better luck asking your questions in the FogBugz Discussion Forum
您可以在FogBugz论坛中提出更好的运气问题
#4
1
We use a combination of projects in order to accomplish your grouping goals. We also commonly setup a project "parking" Wiki where links to development cases, technical documentation, systems requirements, user documentation, external links to resources etc. can all be placed. It provides a good "one-stop-shop" for everything related to that project.
我们使用项目组合来实现您的分组目标。我们还经常设置一个项目“停放”Wiki,其中包含开发案例,技术文档,系统要求,用户文档,资源外部链接等的链接。它为与该项目相关的所有事物提供了良好的“一站式服务”。
As part of that Wiki, we would then setup two specific projects. One in relation to the large overall goals/outlines similar to what might correspond to your Project Management charts/whatnot. One in relation to the development tasks of each feature as they are broken down into the smaller and more manageable chunks. You can then, as was mentioned use case linking to both reference the "master" cases in the other project as well as reference the project Wiki itself so that you can quickly and easily get back to all of your project related information which is conveniently in one spot.
作为该Wiki的一部分,我们将设置两个特定项目。一个与大型总体目标/轮廓相关的内容类似于您的项目管理图表/诸如此类的内容。一个与每个功能的开发任务相关,因为它们被分解为更小且更易于管理的块。然后,您可以像前面提到的那样使用用例链接来引用其他项目中的“主”案例,并引用项目Wiki本身,以便您可以快速轻松地返回所有项目相关信息,这些信息很方便。一个地方。
You can accomplish a pile of different organizational structures using FogBugz, you just have to approach things a little differently sometimes in order to hit each and every situation.
你可以使用FogBugz完成一堆不同的组织结构,你只需要有点不同地处理事情,以便击中每一种情况。
Hope that helps.
希望有所帮助。
#5
0
haha, that article has a disclaimer, but I understand what you are saying.
哈哈,那篇文章有免责声明,但我明白你在说什么。
We use Fogbugz and the only 'Feature' that I am aware of is under category and I don't think you can associated it with sub-tasks.
我们使用Fogbugz,我所知道的唯一“特征”属于类别,我认为你不能将它与子任务联系起来。
You can type in 'Case N' is the feature for this task if you just wanted to reference it in the case text.
如果您只想在案例文本中引用它,则可以输入'Case N'作为此任务的功能。
That kind of stuff sound like is lies more in the project management domain instead of software used to track bugs.
这种东西听起来更像是项目管理领域,而不是用于跟踪错误的软件。
#6
0
thats a good question, i have asked that myself, too.. we currently test-drive fogbugz for 45 days in a group of 5 developers, and we currently create a "release" for major features. in fact we do not release it, but multiple releases together when something is ready.
这是一个很好的问题,我也问自己。我们目前在一组5名开发人员中试用了雾天45天,我们目前正在为主要功能创建一个“发布版”。实际上我们不发布它,但是当一些东西准备好时,它们会一起发布。
there should definately be some sort of advanced task grouping in fogbugz.
应该肯定是在fogbugz中进行某种高级任务分组。