i think it really is up to the team to decide. i think you hit it in your write up about the burndown, the most important thing is to meet your sprint commitments consistently. how that happens really should be up to the team if they truly are self-governing. the team im on now, our norm is to work on multiple stories at once; its the nature of our setup given that we try to really spread ownership of stories across the team. it may be a different norm for yours if you have shorter stories and more of a individual ownership style.
I personally think one story at a time works well because it keeps you focused on a task. The cost of context switching between multiple stories can be high. This is a personal preference for me, but different people work differently. Though I think your scrum master is correct in his methodology, if you've found very compelling reasons for multiple stories at a time and can demonstrate that it is in fact helping progress, that would be a good case to make.
IMO, there is an underlying question here. Sometimes when working on a story, I'll need something from another department/team,e.g. clarification on a requirement or a graphic for a page, and this means that I won't finish one story before moving on to another story. While you do mention this in discussing the blockers at standup, this can happen where it is up to someone outside to help me finish a story so there can be multiple ones on my plate. Thus, I can have multiple stories due to blocking on something and still wanting to be productive.
In general, I don't like trying to manage multiple copies of the code base or switch my code a lot, so I prefer doing one story at a time, assuming no blockers. The size of the code base I'm working with is ~1.1 GB of data spread over 82,000+ files so having multiple copies could be more than a little painful I'd imagine.
My personal guess on this is that it is up to the team to set the standard and see that it works for them. If some like one story at a time and others do multiple and all is well, cool. If everyone likes having multiple stories at various points of completion, that can work too.
底线是,让团队决定...然后在回顾期间审查结果。如果您的故事、任务和工作流程支持团队成员可以一次处理 2 个(也许 3 个)故事而不牺牲生产力或可预测性的环境,那么您的 SM 应该尊重这一点。但与此同时,您应该在每次回顾期间诚实地审查结果,并准备好在 SM 认为其不起作用时进行更改。
Don't hog the backlog... In my experience, when stories are between 1 and 2 days in size, they tend to be implemented by a single developer. If you are working 2 or 3 stories concurrently, that might reduce the amount of things in the backlog that other developers can pick from and jeopardize the sprint.
... but plan for blockage On the other hand, working 2 or 3 stories at once means that if you are momentarily blocked on one story you can be immediately productive on the other. I find that there's some overhead each time I start a new story. This overhead makes it hard to fill an hour long "gap" in my day with a new story, whereas it's much easier to context switch to a story I've already started.
Bottom line, let the team decide... and then review results during a retrospective. If your stories, tasks and work process support an environment where team members can work 2 (maybe 3) stories at a time without sacrificing productivity or predictability, then your SM should respect that. But at the same time you should honestly review the results during each retrospective and be prepared to change if the SM doesn't think its working.
I generally would think that the decision on how to work best should be made almost exclusively by the team. The ScrumMaster's role is to help and support the team, not to question the team's way of working during a sprint.
To be fair, sometimes it can be a good idea for the ScrumMaster to point out possible flaws or risks - that would fall in the category "help and support". Being dogmatic about your personal idea about how a sprint should look like internally is not something I would want a ScrumMaster to act like. It sounds a bit like misunderstading the role as a manager's role, which is simply not the case.
As for how we do it: We almost always work on several stories at once. At the moment we're having a four-person scrum team with three developers and one tester and we nearly always have at least two or three stories going at the same time. In the last sprint we tried to start with all stories early in the sprint to get to the point where we have a basic design and a good idea about what the potential problems could be. Of course we were not working on all stories at the same time after that.
I understand that in terms of risk-management you might want to make sure that everything is done for one story before you tackle the next. However, the disadvantage is that when you run into unforeseen problems lateron, you might not have enough time to fix those. Usually problems show their ugly faces during the implementation phase and often enough quite early. So, you basically exchange one risk for another.
Which risk is easier to handle shoud be up to the team. It's their sprint after all and while I think it's perfectly fair for the ScrumMaster to mention concerns about the way the sprint is going, he shouldn't force his idea of the best way to work on the team.
In the end, I think it boils down to these two things:
YES, we do work on several stories at once and it has worked out fine so far.
Remember that the ScrumMaster is working for the team, not the other way round.
Please note that I'm mostly talking about the whole team working on several stories at once, not one developer. The problem I'd see there is that you need to make sure that you don't block any stories by keeping them open, so that no-one else can continue the work. Once again, this is a question of circumstance and preference. When it comes to testing, our tester often has a couple of testing tasks for different stories, so that he can easily switch to a different task, if some bug blocks him from continuing testing a feature.
发布评论
评论(5)
我认为这确实是由团队决定的。我认为你在关于燃尽的文章中击中了这一点,最重要的是始终如一地履行你的冲刺承诺。如果团队真的能够自治,那么如何发生这种情况应该由团队决定。我现在所在的团队,我们的规范是同时处理多个故事;这是我们设置的本质,因为我们试图真正在整个团队中分散故事的所有权。如果您的故事较短并且更多的是个人所有权风格,那么这对您来说可能是一个不同的规范。
i think it really is up to the team to decide. i think you hit it in your write up about the burndown, the most important thing is to meet your sprint commitments consistently. how that happens really should be up to the team if they truly are self-governing. the team im on now, our norm is to work on multiple stories at once; its the nature of our setup given that we try to really spread ownership of stories across the team. it may be a different norm for yours if you have shorter stories and more of a individual ownership style.
我个人认为一次一个故事效果很好,因为它可以让你专注于一项任务。多个故事之间的上下文切换成本可能很高。这是我个人的喜好,但不同的人工作方式不同。虽然我认为你的 Scrum Master 的方法论是正确的,但如果你一次为多个故事找到了非常令人信服的理由,并且能够证明它实际上有助于进步,那么这将是一个很好的案例。
I personally think one story at a time works well because it keeps you focused on a task. The cost of context switching between multiple stories can be high. This is a personal preference for me, but different people work differently. Though I think your scrum master is correct in his methodology, if you've found very compelling reasons for multiple stories at a time and can demonstrate that it is in fact helping progress, that would be a good case to make.
IMO,这里有一个潜在的问题。有时,在处理一个故事时,我需要其他部门/团队提供一些东西,例如对需求的澄清或页面的图形,这意味着我不会在继续另一个故事之前完成一个故事。虽然你在站立会议讨论阻碍因素时确实提到了这一点,但如果需要外面的人帮助我完成一个故事,这样我的盘子里可能有多个故事,就会发生这种情况。因此,由于某些事情受阻,我可能会拥有多个故事,但仍然希望保持高效。
一般来说,我不喜欢尝试管理代码库的多个副本或频繁切换代码,因此我更喜欢一次只做一个故事,假设没有阻碍。我正在使用的代码库的大小约为 1.1 GB 的数据,分布在 82,000 多个文件中,因此我想拥有多个副本可能会非常痛苦。
我个人对此的猜测是,由团队来制定标准并确保它对他们有用。如果有些人一次喜欢一个故事,而另一些人喜欢多个故事,那么一切都很好,很酷。如果每个人都喜欢在不同的完成点上有多个故事,那也可以。
IMO, there is an underlying question here. Sometimes when working on a story, I'll need something from another department/team,e.g. clarification on a requirement or a graphic for a page, and this means that I won't finish one story before moving on to another story. While you do mention this in discussing the blockers at standup, this can happen where it is up to someone outside to help me finish a story so there can be multiple ones on my plate. Thus, I can have multiple stories due to blocking on something and still wanting to be productive.
In general, I don't like trying to manage multiple copies of the code base or switch my code a lot, so I prefer doing one story at a time, assuming no blockers. The size of the code base I'm working with is ~1.1 GB of data spread over 82,000+ files so having multiple copies could be more than a little painful I'd imagine.
My personal guess on this is that it is up to the team to set the standard and see that it works for them. If some like one story at a time and others do multiple and all is well, cool. If everyone likes having multiple stories at various points of completion, that can work too.
不要占用积压的订单......
根据我的经验,当故事长度在 1 到 2 天之间时,它们往往由单个开发人员实施。如果您同时处理 2 个或 3 个故事,这可能会减少其他开发人员可以从中挑选并危及冲刺的积压工作量。
...但要做好堵塞计划
另一方面,同时处理 2 或 3 个故事意味着,如果您在一个故事上暂时受阻,您可以立即在另一个故事上富有成效。我发现每次开始一个新故事时都会产生一些开销。这种开销使得我很难用一个新故事来填补一天中一个小时的“空白”,而上下文切换到我已经开始的故事要容易得多。
底线是,让团队决定...然后在回顾期间审查结果。如果您的故事、任务和工作流程支持团队成员可以一次处理 2 个(也许 3 个)故事而不牺牲生产力或可预测性的环境,那么您的 SM 应该尊重这一点。但与此同时,您应该在每次回顾期间诚实地审查结果,并准备好在 SM 认为其不起作用时进行更改。
Don't hog the backlog...
In my experience, when stories are between 1 and 2 days in size, they tend to be implemented by a single developer. If you are working 2 or 3 stories concurrently, that might reduce the amount of things in the backlog that other developers can pick from and jeopardize the sprint.
... but plan for blockage
On the other hand, working 2 or 3 stories at once means that if you are momentarily blocked on one story you can be immediately productive on the other. I find that there's some overhead each time I start a new story. This overhead makes it hard to fill an hour long "gap" in my day with a new story, whereas it's much easier to context switch to a story I've already started.
Bottom line, let the team decide... and then review results during a retrospective. If your stories, tasks and work process support an environment where team members can work 2 (maybe 3) stories at a time without sacrificing productivity or predictability, then your SM should respect that. But at the same time you should honestly review the results during each retrospective and be prepared to change if the SM doesn't think its working.
我通常认为如何最好地工作的决定几乎应该完全由团队做出。 ScrumMaster 的角色是帮助和支持团队,而不是在冲刺期间质疑团队的工作方式。
公平地说,有时 ScrumMaster 指出可能的缺陷或风险可能是个好主意 - 这属于“帮助和支持”类别。我不希望 ScrumMaster 表现得教条化地坚持个人关于 sprint 在内部应该是什么样子的想法。这听起来有点像是将这个角色误解为经理的角色,但事实并非如此。
至于我们是如何做到的:我们几乎总是同时处理几个故事。目前,我们有一个四人 Scrum 团队,其中包括三名开发人员和一名测试人员,并且我们几乎总是同时进行至少两到三个故事。在上一个冲刺中,我们尝试从冲刺早期的所有故事开始,以达到我们有基本设计并对潜在问题可能是什么有一个好主意的程度。当然,在那之后我们并没有同时处理所有的故事。
我知道,就风险管理而言,您可能希望确保在处理下一个故事之前,已完成一个故事的所有内容。然而,缺点是当你以后遇到不可预见的问题时,你可能没有足够的时间来解决这些问题。通常,问题在实施阶段就会显现出来,而且往往很早就显现出来。因此,您基本上是用一种风险交换另一种风险。
哪种风险更容易处理应该由团队决定。毕竟这是他们的冲刺,虽然我认为 ScrumMaster 提及对冲刺进展方式的担忧是完全公平的,但他不应该强迫自己关于团队工作的最佳方式的想法。
最后,我认为可以归结为这两件事:
是的,我们确实在制作几个故事
立刻就成功了
到目前为止。
请记住,ScrumMaster 是
为团队工作,而不是为他人工作
请注意,我主要谈论的是整个团队同时处理多个故事,而不是一个开发人员。我看到的问题是,您需要确保不会通过保持开放来阻止任何故事,以便其他人无法继续工作。这又是一个环境和偏好的问题。在测试方面,我们的测试人员通常会针对不同的故事执行多个测试任务,这样,如果某些错误阻止他继续测试某个功能,他可以轻松切换到不同的任务。
I generally would think that the decision on how to work best should be made almost exclusively by the team. The ScrumMaster's role is to help and support the team, not to question the team's way of working during a sprint.
To be fair, sometimes it can be a good idea for the ScrumMaster to point out possible flaws or risks - that would fall in the category "help and support". Being dogmatic about your personal idea about how a sprint should look like internally is not something I would want a ScrumMaster to act like. It sounds a bit like misunderstading the role as a manager's role, which is simply not the case.
As for how we do it: We almost always work on several stories at once. At the moment we're having a four-person scrum team with three developers and one tester and we nearly always have at least two or three stories going at the same time. In the last sprint we tried to start with all stories early in the sprint to get to the point where we have a basic design and a good idea about what the potential problems could be. Of course we were not working on all stories at the same time after that.
I understand that in terms of risk-management you might want to make sure that everything is done for one story before you tackle the next. However, the disadvantage is that when you run into unforeseen problems lateron, you might not have enough time to fix those. Usually problems show their ugly faces during the implementation phase and often enough quite early. So, you basically exchange one risk for another.
Which risk is easier to handle shoud be up to the team. It's their sprint after all and while I think it's perfectly fair for the ScrumMaster to mention concerns about the way the sprint is going, he shouldn't force his idea of the best way to work on the team.
In the end, I think it boils down to these two things:
YES, we do work on several stories
at once and it has worked out fine
so far.
Remember that the ScrumMaster is
working for the team, not the other
way round.
Please note that I'm mostly talking about the whole team working on several stories at once, not one developer. The problem I'd see there is that you need to make sure that you don't block any stories by keeping them open, so that no-one else can continue the work. Once again, this is a question of circumstance and preference. When it comes to testing, our tester often has a couple of testing tasks for different stories, so that he can easily switch to a different task, if some bug blocks him from continuing testing a feature.