Too big or too complicated, there is always a way to put a story on diet (maybe you won't obtain the final result in one iteration but this doesn't mean you can't and, well, there will be more than one iteration).
So basically, your question is "What can I do if people claim a task is too big for a user story, and can't be split up.
In my experience, almost any problem can be split up. Ask them if they can implement a simplified version, leave out advanced features, maybe even use default values in some places; basically anything to produce something that gives meaningful (i.e. testable) results within one iteration.
Remember: The point of an iteration is not to deliver complete functionality, but just useful and testable functionality.
This splitting can be difficult, but it forces you to consider what you really need first, which is very valuable. The developers may bitch about it (I often do myself :-)), but it's really necessary. Breaking down big tasks into manageable user stories is at the very heart of all agile methods.
That said, if the task really, really, really cannot be broken down (think complex mathematical algorithm in a research setting, that takes weeks to even understand the basics of), then your iteration is too short. The iteration needs to be long enough to produce meaningful results. And if most of your problems are so hard that they take 2-3 months to get anything done, then that's your iteration length. But I've never seen a project where that was really the case...
Usually when you get "it's too big", what they are really saying is "I only have a vague idea how this should work". You need to work with them to better define it until it becomes possible to split it into logical parts that can be more easily managed.
Users aren't supposed to write user stories. They aren't supposed to tell you user stories. You can expect them to talk about how they work, the problems that bother them and what they would like to have to facilitate their everyday work.
You, in your turn, is supposed to listen to them and take notes. If they allow, use a tape recorder or a camera. Then you bring the collected information back when you replay it and identify what you call user stories. You discuss them with the team and when you have agreement you have use cases to target in your development.
What role developers play, is up to you. If they just coders, they don't take part in the process. If they in part act as consultants, then they help define user stories.
The "algorithmic specification" problem is common.
Many people prefer to write code and don't really care who the user is or what they do.
I try to get them to focus by asking these questions.
What action can the person take? What could they possibly do with the information? If they have some responsibility, they can take action to deny, approve, hold, reject, reprocess, stop, start, something. If the user can't take any action, you need to ask if they're really stake-holders.
What decision do they have to make? How do the decide which action (if any) to take? We can't automate that decision -- that's why people are in the loop.
What information does this person need to make the decision to take action.
Information-Decision-Action.
We only write software to prepare information for people to make decisions so they can take action.
If that's not the focus, then the stories get out of control.
Its basically the duty and responsibility of the product owner. And there can be any requirements/task that cannot be split into User Stories. I found many such discussions on SCrum Master Forums
If development team claims that the story is too big and can not fit within the sprint.. take their feedback and try to split the story with must have and nice to have tasks and try to split it based on that.
发布评论
评论(7)
以下是我随着时间的推移收集的一些资源,可能会有所帮助:
太大或太复杂,总有一种方法可以让故事节食(也许你赢了)在一次迭代中无法获得最终结果,但这并不意味着您不能,而且,将会有不止一次迭代)。
Here are a few resources that I've collected over time and that might help:
Too big or too complicated, there is always a way to put a story on diet (maybe you won't obtain the final result in one iteration but this doesn't mean you can't and, well, there will be more than one iteration).
所以基本上,你的问题是“如果人们声称任务对于用户故事来说太大并且无法拆分,我该怎么办。
根据我的经验,几乎任何问题都可以拆分。询问他们是否可以实施简化版本,省略高级功能,甚至可能在某些地方使用默认值,以在一次迭代中产生有意义的(即可测试的)结果。
记住:迭代的目的不是提供完整的功能,而是提供完整的功能 。只是有用且可测试的功能。
这种拆分可能很困难,但它迫使您首先考虑自己真正需要什么,这非常有价值,开发人员可能会抱怨它(我自己经常这样做:-)),但这确实是必要的。将大型任务分解为可管理的用户故事是所有敏捷方法的核心,
也就是说,如果任务真的、真的、真的无法分解(想想研究环境中的复杂数学算法,需要几周的时间才能理解基础知识),那么你的迭代就太短了。迭代需要足够长才能产生有意义的结果。如果您的大多数问题都非常困难,需要 2-3 个月才能完成,那么这就是您的迭代长度。但我从未见过真正如此的项目......
So basically, your question is "What can I do if people claim a task is too big for a user story, and can't be split up.
In my experience, almost any problem can be split up. Ask them if they can implement a simplified version, leave out advanced features, maybe even use default values in some places; basically anything to produce something that gives meaningful (i.e. testable) results within one iteration.
Remember: The point of an iteration is not to deliver complete functionality, but just useful and testable functionality.
This splitting can be difficult, but it forces you to consider what you really need first, which is very valuable. The developers may bitch about it (I often do myself :-)), but it's really necessary. Breaking down big tasks into manageable user stories is at the very heart of all agile methods.
That said, if the task really, really, really cannot be broken down (think complex mathematical algorithm in a research setting, that takes weeks to even understand the basics of), then your iteration is too short. The iteration needs to be long enough to produce meaningful results. And if most of your problems are so hard that they take 2-3 months to get anything done, then that's your iteration length. But I've never seen a project where that was really the case...
通常,当你得到“它太大了”时,他们真正说的是“我只知道它应该如何工作”。您需要与他们合作以更好地定义它,直到可以将其拆分为更易于管理的逻辑部分。
Usually when you get "it's too big", what they are really saying is "I only have a vague idea how this should work". You need to work with them to better define it until it becomes possible to split it into logical parts that can be more easily managed.
用户不应该编写用户故事。他们不应该告诉你用户故事。您可以期待他们谈论他们的工作方式、困扰他们的问题以及他们希望有什么来促进他们的日常工作。
轮到你了,你应该听他们讲话并做笔记。如果允许,请使用录音机或相机。然后,当您重播收集到的信息时,您可以将其带回来并识别您所说的用户故事。您与团队讨论它们,当您达成一致时,您就有了开发目标的用例。
开发人员扮演什么角色取决于您。如果他们只是编码员,他们就不会参与这个过程。
如果他们在某种程度上充当顾问,那么他们会帮助定义用户故事。
Users aren't supposed to write user stories. They aren't supposed to tell you user stories. You can expect them to talk about how they work, the problems that bother them and what they would like to have to facilitate their everyday work.
You, in your turn, is supposed to listen to them and take notes. If they allow, use a tape recorder or a camera. Then you bring the collected information back when you replay it and identify what you call user stories. You discuss them with the team and when you have agreement you have use cases to target in your development.
What role developers play, is up to you. If they just coders, they don't take part in the process.
If they in part act as consultants, then they help define user stories.
“算法规范”问题很常见。
许多人更喜欢编写代码,并不真正关心用户是谁或他们做什么。
我试图通过提出这些问题来让他们集中注意力。
信息-决策-行动。
我们编写软件只是为了准备信息供人们做出决策,以便他们采取行动。
如果这不是焦点,那么故事就会失控。
The "algorithmic specification" problem is common.
Many people prefer to write code and don't really care who the user is or what they do.
I try to get them to focus by asking these questions.
Information-Decision-Action.
We only write software to prepare information for people to make decisions so they can take action.
If that's not the focus, then the stories get out of control.
它基本上是产品所有者的义务和责任。并且可能存在无法拆分为用户故事的任何需求/任务。我在 SCrum Master 论坛 上发现了很多这样的讨论
Its basically the duty and responsibility of the product owner. And there can be any requirements/task that cannot be split into User Stories. I found many such discussions on SCrum Master Forums
如果开发团队声称故事太大并且无法适应冲刺.. 获取他们的反馈并尝试将故事与必须有的任务和最好有的任务分开,并尝试在此基础上进行分割。
检查此流程图..可以提供帮助: http ://www.agileforall.com/wp-content/uploads/2012/01/Story-Splitting-Flowchart.pdf
If development team claims that the story is too big and can not fit within the sprint.. take their feedback and try to split the story with must have and nice to have tasks and try to split it based on that.
check this flowchart.. can be a help: http://www.agileforall.com/wp-content/uploads/2012/01/Story-Splitting-Flowchart.pdf