管理大型项目的用户故事

时间:2022-03-06 13:01:58

We are just starting on a pretty big project with lots of sub projects. we don't currently use any kind of named process but I am hoping to get some kind of agile/scrumlike process in by the back door.

我们刚刚开始一个包含大量子项目的大项目。我们目前没有使用任何类型的命名过程,但我希望在后门获得某种敏捷/混乱的过程。

The area I will be focusing on most is having a good backlog for the whole project and, at least in my head, the idea of an iteration where some things are taken from the backlog, looked at in more detail and developed to a reasonable deadline.

我将重点关注的领域是整个项目的积压,至少在我的脑海中,迭代的想法是从积压中获取一些东西,更详细地查看并发展到合理的截止日期。

I wonder what techniques people use to break projects down into things to go in the backlog, and once the backlog is created how it is maintained and ordered. also how relationships between elements are maintained (ie this must be done before it is possible to do that, or this was one story now it is five)

我想知道人们使用什么技术将项目分解成积压的东西,并且一旦创建了积压,就会如何维护和订购它。如何保持元素之间的关系(即必须在可能之前完成,或者这是一个故事,现在是五个)

I am not sure what I expect the answer for this question to look like. I think what may be most helpful is if there is an open source project that keeps its backlog online in some way so I can see how others do it.

我不确定我希望这个问题的答案看起来像什么。我认为可能最有用的是,如果有一个开源项目以某种方式保持其在线备份,那么我可以看到其他人如何做到这一点。

Something else that would get +1 from me is examples of real user stories from real projects (the "a user can log on" story does not help me picture things in my project.

从我这里获得+1的其他东西是来自真实项目的真实用户故事的例子(“用户可以登录”故事不能帮助我描绘我项目中的内容。

Thanks.

7 个解决方案

#1


9  

I would counsel you to think carefully before adopting a tool, especially since it sounds like your process is likely to be fluid at first as you find your feet. My feeling is that a tool may be more likely to constrain you than enable you at this stage, and you will find it no substitute for a good card-wall in physical space. I would suggest you instead concentrate your efforts on the task at hand, and grab a tool when you feel like you really need one. By that stage you'll more likely have a clear idea of your requirements.

我会建议你在采用工具之前仔细考虑,特别是因为当你找到自己的脚时,听起来你的过程很可能是流畅的。我的感觉是,在这个阶段,一个工具可能更有可能限制你,而不是在物理空间中找到一个好的卡墙。我建议你把精力集中在手头的任务上,当你觉得自己真的需要时,就抓住工具。在那个阶段,您可能更清楚地了解您的要求。

I have run several agile projects now and we have never needed a more complex tool than a spreadsheet, and that on a project with a budget of over a million pounds. Mostly we find that a whiteboard and index cards (one per user story) is more than sufficient.

我现在已经运行了几个敏捷项目,我们从来不需要比电子表格更复杂的工具,以及预算超过一百万英镑的项目。大多数情况下,我们发现白板和索引卡(每个用户故事一个)绰绰有余。

When identifying your stories, make sure you always express them in terms that make sense to your users - some (perhaps only small) piece of surfaced functionality. Never allow yourself to slip into writing stories about technical details that you could not demonstrate to a user.

在识别您的故事时,请确保始终以对用户有意义的方式表达它们 - 一些(可能只是很小的)浮出水面的功能。永远不要让自己陷入关于无法向用户展示的技术细节的故事。

The skill when scheduling the stories is to try to prioritise the things you know least about first (plan for what you want to learn, rather than what you want to do) whilst also starting with the stories that will allow you to develop the core features of your application, using subsequent stories to wrap functionality (and technical complexity) around them.

安排故事时的技巧是尝试优先考虑您最不了解的事项(计划您想学习的内容,而不是您想要做的事情),同时从故事开始,这些故事将允许您开发核心功能您的应用程序,使用后续故事来包装它们的功能(和技术复杂性)。

If you're confident that you can leave some piece of the puzzle till later, don't sweat on getting into the details of that - just write a single story card that represents the big conversation you'll need to have later, and get on with the more important stuff. If you need to have a feel for the size of what's to come, look at a wideband delphi estimation technique called planning poker.

如果你有信心可以留下一些拼图直到以后,不要为了详细说明这一点 - 只写一张故事卡,代表你以后需要的大谈话,并得到与更重要的东西。如果你需要了解将来的大小,请看一下名为计划扑克的宽带delphi估算技术。

The Mike Cohn books, particularly Agile Estimating and Planning will help you a lot at this stage, and give you some useful techniques to work with.

Mike Cohn的书籍,特别是敏捷评估和规划,将在这个阶段为您提供很多帮助,并为您提供一些有用的技巧。

Good luck!

#2


4  

Like DanielHonig we also use RallyDev (on a small scale) and it sounds like it could be a useful system for you to at least investigate.

像DanielHonig一样,我们也使用RallyDev(小规模),听起来它至少可以成为一个有用的系统。

Also, a great book on the user story method of development is User Stories Applied by Mike Cohn. I'd certainly recommend reading it if you haven't already. It should answer a lot of your questions.

另外,关于用户故事开发方法的一本很棒的书是Mike Cohn应用的用户故事。如果你还没有,我当然建议你阅读它。它应该回答你的很多问题。

#3


2  

I'm not sure if this is what you're looking for, but it may still be helpful. Max Pool from codesqueeze has a video explaining his "agile wall". It's cool to see his process, even if it may not necessarily relate to your question:

我不确定这是否是您正在寻找的,但它可能仍然有用。来自codesqueeze的Max Pool有一段视频解释了他的“敏捷墙”。看到他的过程很酷,即使它可能不一定与你的问题有关:

My Agile Wall (Plus A Few Tricks)

我的敏捷墙(加上一些技巧)

#4


2  

So here are a few tips: We use RallyDev.
We created a view of packages that our requirements live in. Large stories are labeled as epics and placed into the release backlog of the release they are intended for. Child stories are added to the epics. We have found it best to keep the stories very granular. Coarse grained stories make it difficult to realistically estimate and execute the story.

所以这里有一些提示:我们使用RallyDev。我们创建了一个我们的要求所包含的包的视图。大型故事被标记为史诗,并被放入他们所针对的版本的发布积压中。儿童故事被添加到史诗中。我们发现最好保持故事的细节。粗粒度的故事使得难以现实地估计和执行故事。

So in general:

所以总的来说:

  1. Organize by the release

    按发布组织

  2. Keep iterations between 2-4 weeks

    保持2-4周的迭代

  3. Product owners and project managers add stories to the release backlog

    产品所有者和项目经理将故事添加到发布积压中

  4. The dev team estimates the stories based on TShirt sizes, points, etc...
  5. 开发团队根据TShirt尺寸,点数等估算故事......

  6. In Spring planning meeetings the dev team selects the work for the iteration from the release backlog.
  7. 在Spring规划meeetings中,开发团队从发布积压中选择迭代工作。

This is what we've been doing for the past 4 months and have found it to work well. Very important to keep the size of the stories small and granular.

这是我们过去4个月一直在做的事情,并且发现它运作良好。保持故事的规模小而粒度非常重要。

Remember the Invest and Smart acronyms for evaluating user stories, a good story should be: I - Independent N - Negotiable V - Valuable E - Estimable S - Small T - Testable

记住用于评估用户故事的投资和智能缩略词,一个好故事应该是:我 - 独立N - 面议V - 有价值的E - 可估计S - 小T - 可测试

Smart:

S - Specific M - Measurable A - Achievable R - Relevant T - Time-boxed

S - 特定M - 可测量A - 可实现R - 相关T - 时间盒

#5


1  

I'd start off by saying Keep it Simple.. use a shared spreadsheet with tracking (and backup). If you see scaling or synchronization problems such that maintaining the backlog in a consistent state is getting more and more time-consuming, trade up. This will automatically validate and justify the expenditure/retraining costs.

我首先说保持简单..使用带跟踪(和备份)的共享电子表格。如果您看到扩展或同步问题,以便将积压保持在一致状态变得越来越耗时,那么就要进行交易。这将自动验证并证明支出/再培训费用。

I've read some good things about Mingle from Thoughtworks.

我从Thoughtworks那里读到了一些关于Mingle的好东西。

#6


1  

here is my response to a similar question that may give you some ideas

这是我对类似问题的回答,可能会给你一些想法

Help a BA! Managing User Stories ...

帮助BA!管理用户故事......

#7


1  

A lot of these responses have been with suggestions about tools to use. However, the reality is that your process will be the much more important than the tools you use to implement the process. Stay away from tools that attempt to cram a methodology down your throat. But also, be wary of simply implementing an old non-agile process using a new tool. Here are some strong facts to consider when determining tools for processes:

很多这些回复都是关于使用工具的建议。但实际情况是,您的流程将比您用于实施流程的工具重要得多。远离试图将方法塞进喉咙的工具。但是,要小心使用新工具简单地实现旧的非敏捷流程。在确定流程工具时,需要考虑以下一些重要事实:

  1. A bad process instrumented with a software tool will result in a bad software tool implemention.
  2. 使用软件工具进行检测的糟糕流程将导致软件工具实施不良。

  3. Processes will change based on the group you are managing. The important thing is the people, not the process. Implement something they can work successfully in, and your project will be successful.
  4. 流程将根据您管理的组进行更改。重要的是人,而不是过程。实施他们可以成功运作的东西,您的项目将会成功。

All that said, here are a few guidelines to help you:

总而言之,这里有一些指导可以帮助您:

  • Start with a pure implementation of a documented process,
  • 从文档化过程的纯实现开始,

  • Make your iterations small,
  • 让你的迭代很小,

  • After each iteration talk with your teams and ask what they they would change, implement the changes that make sense.
  • 在每次迭代之后与您的团队交谈并询问他们将改变的内容,实施有意义的更改。

For larger organizations, if you are using SCRUM, use a cascading stand-up mechanism. Scrum masters meet with thier teams. Then the Scrum Masters meet in stand-ups of 6 - 9, with a Super-Scrum-MAster responsible for reporting the items from the Scum-Master's scrum to the next level... and so forth..

对于大型组织,如果您使用SCRUM,请使用级联站立机制。 Scrum大师与他们的团队见面。然后Scrum大师们以6比9的比分站立,超级Scrum-MAster负责将Scum-Master的scrum中的项目报告到下一级......等等......

You may find that have weekly super-scrum meetings will suffice at the highest level of your hierarchy.

您可能会发现每周超级Scrum会议就足以满足您层次结构的*别。

#1


9  

I would counsel you to think carefully before adopting a tool, especially since it sounds like your process is likely to be fluid at first as you find your feet. My feeling is that a tool may be more likely to constrain you than enable you at this stage, and you will find it no substitute for a good card-wall in physical space. I would suggest you instead concentrate your efforts on the task at hand, and grab a tool when you feel like you really need one. By that stage you'll more likely have a clear idea of your requirements.

我会建议你在采用工具之前仔细考虑,特别是因为当你找到自己的脚时,听起来你的过程很可能是流畅的。我的感觉是,在这个阶段,一个工具可能更有可能限制你,而不是在物理空间中找到一个好的卡墙。我建议你把精力集中在手头的任务上,当你觉得自己真的需要时,就抓住工具。在那个阶段,您可能更清楚地了解您的要求。

I have run several agile projects now and we have never needed a more complex tool than a spreadsheet, and that on a project with a budget of over a million pounds. Mostly we find that a whiteboard and index cards (one per user story) is more than sufficient.

我现在已经运行了几个敏捷项目,我们从来不需要比电子表格更复杂的工具,以及预算超过一百万英镑的项目。大多数情况下,我们发现白板和索引卡(每个用户故事一个)绰绰有余。

When identifying your stories, make sure you always express them in terms that make sense to your users - some (perhaps only small) piece of surfaced functionality. Never allow yourself to slip into writing stories about technical details that you could not demonstrate to a user.

在识别您的故事时,请确保始终以对用户有意义的方式表达它们 - 一些(可能只是很小的)浮出水面的功能。永远不要让自己陷入关于无法向用户展示的技术细节的故事。

The skill when scheduling the stories is to try to prioritise the things you know least about first (plan for what you want to learn, rather than what you want to do) whilst also starting with the stories that will allow you to develop the core features of your application, using subsequent stories to wrap functionality (and technical complexity) around them.

安排故事时的技巧是尝试优先考虑您最不了解的事项(计划您想学习的内容,而不是您想要做的事情),同时从故事开始,这些故事将允许您开发核心功能您的应用程序,使用后续故事来包装它们的功能(和技术复杂性)。

If you're confident that you can leave some piece of the puzzle till later, don't sweat on getting into the details of that - just write a single story card that represents the big conversation you'll need to have later, and get on with the more important stuff. If you need to have a feel for the size of what's to come, look at a wideband delphi estimation technique called planning poker.

如果你有信心可以留下一些拼图直到以后,不要为了详细说明这一点 - 只写一张故事卡,代表你以后需要的大谈话,并得到与更重要的东西。如果你需要了解将来的大小,请看一下名为计划扑克的宽带delphi估算技术。

The Mike Cohn books, particularly Agile Estimating and Planning will help you a lot at this stage, and give you some useful techniques to work with.

Mike Cohn的书籍,特别是敏捷评估和规划,将在这个阶段为您提供很多帮助,并为您提供一些有用的技巧。

Good luck!

#2


4  

Like DanielHonig we also use RallyDev (on a small scale) and it sounds like it could be a useful system for you to at least investigate.

像DanielHonig一样,我们也使用RallyDev(小规模),听起来它至少可以成为一个有用的系统。

Also, a great book on the user story method of development is User Stories Applied by Mike Cohn. I'd certainly recommend reading it if you haven't already. It should answer a lot of your questions.

另外,关于用户故事开发方法的一本很棒的书是Mike Cohn应用的用户故事。如果你还没有,我当然建议你阅读它。它应该回答你的很多问题。

#3


2  

I'm not sure if this is what you're looking for, but it may still be helpful. Max Pool from codesqueeze has a video explaining his "agile wall". It's cool to see his process, even if it may not necessarily relate to your question:

我不确定这是否是您正在寻找的,但它可能仍然有用。来自codesqueeze的Max Pool有一段视频解释了他的“敏捷墙”。看到他的过程很酷,即使它可能不一定与你的问题有关:

My Agile Wall (Plus A Few Tricks)

我的敏捷墙(加上一些技巧)

#4


2  

So here are a few tips: We use RallyDev.
We created a view of packages that our requirements live in. Large stories are labeled as epics and placed into the release backlog of the release they are intended for. Child stories are added to the epics. We have found it best to keep the stories very granular. Coarse grained stories make it difficult to realistically estimate and execute the story.

所以这里有一些提示:我们使用RallyDev。我们创建了一个我们的要求所包含的包的视图。大型故事被标记为史诗,并被放入他们所针对的版本的发布积压中。儿童故事被添加到史诗中。我们发现最好保持故事的细节。粗粒度的故事使得难以现实地估计和执行故事。

So in general:

所以总的来说:

  1. Organize by the release

    按发布组织

  2. Keep iterations between 2-4 weeks

    保持2-4周的迭代

  3. Product owners and project managers add stories to the release backlog

    产品所有者和项目经理将故事添加到发布积压中

  4. The dev team estimates the stories based on TShirt sizes, points, etc...
  5. 开发团队根据TShirt尺寸,点数等估算故事......

  6. In Spring planning meeetings the dev team selects the work for the iteration from the release backlog.
  7. 在Spring规划meeetings中,开发团队从发布积压中选择迭代工作。

This is what we've been doing for the past 4 months and have found it to work well. Very important to keep the size of the stories small and granular.

这是我们过去4个月一直在做的事情,并且发现它运作良好。保持故事的规模小而粒度非常重要。

Remember the Invest and Smart acronyms for evaluating user stories, a good story should be: I - Independent N - Negotiable V - Valuable E - Estimable S - Small T - Testable

记住用于评估用户故事的投资和智能缩略词,一个好故事应该是:我 - 独立N - 面议V - 有价值的E - 可估计S - 小T - 可测试

Smart:

S - Specific M - Measurable A - Achievable R - Relevant T - Time-boxed

S - 特定M - 可测量A - 可实现R - 相关T - 时间盒

#5


1  

I'd start off by saying Keep it Simple.. use a shared spreadsheet with tracking (and backup). If you see scaling or synchronization problems such that maintaining the backlog in a consistent state is getting more and more time-consuming, trade up. This will automatically validate and justify the expenditure/retraining costs.

我首先说保持简单..使用带跟踪(和备份)的共享电子表格。如果您看到扩展或同步问题,以便将积压保持在一致状态变得越来越耗时,那么就要进行交易。这将自动验证并证明支出/再培训费用。

I've read some good things about Mingle from Thoughtworks.

我从Thoughtworks那里读到了一些关于Mingle的好东西。

#6


1  

here is my response to a similar question that may give you some ideas

这是我对类似问题的回答,可能会给你一些想法

Help a BA! Managing User Stories ...

帮助BA!管理用户故事......

#7


1  

A lot of these responses have been with suggestions about tools to use. However, the reality is that your process will be the much more important than the tools you use to implement the process. Stay away from tools that attempt to cram a methodology down your throat. But also, be wary of simply implementing an old non-agile process using a new tool. Here are some strong facts to consider when determining tools for processes:

很多这些回复都是关于使用工具的建议。但实际情况是,您的流程将比您用于实施流程的工具重要得多。远离试图将方法塞进喉咙的工具。但是,要小心使用新工具简单地实现旧的非敏捷流程。在确定流程工具时,需要考虑以下一些重要事实:

  1. A bad process instrumented with a software tool will result in a bad software tool implemention.
  2. 使用软件工具进行检测的糟糕流程将导致软件工具实施不良。

  3. Processes will change based on the group you are managing. The important thing is the people, not the process. Implement something they can work successfully in, and your project will be successful.
  4. 流程将根据您管理的组进行更改。重要的是人,而不是过程。实施他们可以成功运作的东西,您的项目将会成功。

All that said, here are a few guidelines to help you:

总而言之,这里有一些指导可以帮助您:

  • Start with a pure implementation of a documented process,
  • 从文档化过程的纯实现开始,

  • Make your iterations small,
  • 让你的迭代很小,

  • After each iteration talk with your teams and ask what they they would change, implement the changes that make sense.
  • 在每次迭代之后与您的团队交谈并询问他们将改变的内容,实施有意义的更改。

For larger organizations, if you are using SCRUM, use a cascading stand-up mechanism. Scrum masters meet with thier teams. Then the Scrum Masters meet in stand-ups of 6 - 9, with a Super-Scrum-MAster responsible for reporting the items from the Scum-Master's scrum to the next level... and so forth..

对于大型组织,如果您使用SCRUM,请使用级联站立机制。 Scrum大师与他们的团队见面。然后Scrum大师们以6比9的比分站立,超级Scrum-MAster负责将Scum-Master的scrum中的项目报告到下一级......等等......

You may find that have weekly super-scrum meetings will suffice at the highest level of your hierarchy.

您可能会发现每周超级Scrum会议就足以满足您层次结构的*别。