一百种简单整人方法_一种非常简单的用户故事方法

一百种简单整人方法

User stories are a great way to plan development work. In theory. But how do you avoid getting burned in practice? I propose a radically simple approach.

用户故事是计划开发工作的好方法。 理论上。 但是,如何避免在实践中被烫伤? 我提出了一种非常简单的方法。

Here's a popular template to describe a user story:

这是一个描述用户故事的流行模板:

Here's an example user story:

这是一个示例用户故事:

User stories look at software from a perspective of user value. After implementing a story, the developers can get feedback from users whether they're satisfied or if there's something they'd like changed. That's the core idea of agile development.

用户故事从用户价值的角度看待软件。 实施完故事后,开发人员可以从用户那里获得反馈,无论他们是否满意或是否需要更改。 这就是敏捷开发的核心思想。

Good user stories follow the three Cs: Card, Conversation, and Confirmation [1].

良好的用户故事遵循以下三个C: CardConversationConfirmation [1]。

Card means: user stories are short. They focus on the value provided to the user. You can write them on an index card, or a Post-it. Of course, a Post-it doesn't contain all the information necessary for development.

表示:用户故事很短。 他们专注于提供给用户的价值。 您可以将它们写在索引卡或便利贴上。 当然,便利贴并不包含开发所需的所有信息。

So the team developing the software has conversations about the stories. Input from users and business stakeholders is necessary, but developers bring their ideas to the table as well. It's important that everybody keeps an open mind in these discussions.

因此,开发软件的团队可以进行对话 关于故事。 用户和业务利益相关者的输入是必要的,但是开发人员也将他们的想法也摆在桌面上。 每个人在这些讨论中都要保持开放的态度,这一点很重要。

The team documents the results of the conversations as acceptance criteria. Checking the acceptance criteria later serves as confirmation that the team has implemented the story correctly.

团队将对话结果记录为接受标准。 稍后检查验收标准作为确认 团队正确实施了故事。

验收标准和投资 (Acceptance criteria and INVEST)

The acceptance criteria should answer questions like:

接受标准应回答以下问题:

  • What are the possible user inputs?

    可能的用户输入是什么?

    For example: "The payment options are MasterCard, Visa, [...] PayPal

    例如:“付款选项包括万事达卡,维萨卡,PayPal。

    ."

    。”

  • How does the system react to user input, or a business relevant event? Under which conditions?

    系统如何响应用户输入或与业务相关的事件? 在什么条件下?

    For example: "When the user enters a wrong credit card number, the system shows the following error message: [...]"

    例如:“当用户输入错误的信用卡号时,系统显示以下错误消息:[...]”

There are many ways to document acceptance criteria. Bullet points, sketches, examples, tables. Development starts a few days after the conversation about the story. So developers need just enough documentation to remember the conversation.

有很多方法可以记录接受标准。 项目符号,草图,示例,表格。 在谈论这个故事后的几天开始发展。 因此,开发人员仅需要足够的文档来记住对话。

How does a team check if a story has a good enough quality to start implementing it? The INVEST criteria define a quality checklist for each story [2]:

团队如何检查故事是否具有足够的质量来开始实施? 投资 标准为每个故事定义一个质量检查表[2]:

  • I for Independent. The story can be implemented independently of other stories. This facilitates priority changes.

    独立 。 故事可以独立于其他故事实施。 这有助于更改优先级。

  • N for Negotiated. The conversation between developers and stakeholders about the details of the story has happened.

    N代表协商 。 开发人员和利益相关者之间就故事的细节进行了对话。

  • V for Valuable. The story provides visible value for users. In contrast to implementation tasks like querying the database, for example.

    V表示有价值 。 故事为用户提供了可见的价值。 与诸如查询数据库之类的实现任务相反。

  • E for Estimable. The developers can estimate the story.

    E可估计的 。 开发人员可以估算故事。

  • S for Small. The story can be implemented quickly. In Scrum for example in a Sprint.

    小号的 S。 这个故事可以很快实现。 例如在Scrum中的Sprint中。

  • T for Testable. The story is so concrete that the team can derive test cases.

    T可测试的 。 这个故事非常具体,团队可以得出测试用例。

实践中的问题 (The problems in practice)

I like user stories. In product planning, they shift the focus from technical details to users and their needs. That's good.

我喜欢用户故事。 在产品计划中,他们将重点从技术细节转移到用户及其需求。 非常好。

And yet, in my work as an agile coach and trainer for agile approaches, I've started questioning the common way people deal with them.

然而,在我作为敏捷方法的敏捷教练和培训师的工作中,我开始质疑人们对付它们的常见方式。

I've seen backlogs with hundreds of stories that became extremely hard to manage. I've witnessed people use the terms "feature", "epic" and "business requirement" without sharing an understanding what that even means. I've heard endless discussions about detailed acceptance criteria, and how to slice stories based on them. It was frustrating.

我看到积压下来的数百个故事变得非常难以管理。 我目睹了人们使用“功能”,“史诗”和“业务需求”这两个术语,却没有达成共识,甚至意味着什么。 我听过无休止的讨论,涉及详细的接受标准以及如何根据这些标准对故事进行切片。 真令人沮丧。

I claim there is an alternative. A simple way to avoid all these traps. First, you need to understand that there are two fundamental levels of user stories.

我声称还有另一种选择。 避免所有这些陷阱的简单方法。 首先,您需要了解用户故事有两个基本级别。

目标带来价值,但无法实现 (Goals deliver value, but can't be implemented)

In one of my courses, I ask questions like: "What can you do with a web shop?"The typical answers are: "Buy a  product", or "Order products".

在我的一门课程中,我问一些问题,例如:“您可以在网上商店做什么? 典型的答案是:“购买产品”或“订购产品”。

What the participants talk about are goals. If we were a team developing a web shop, we might come up with the following user story:

参与者谈论的是目标。 如果我们是开发网上商店的团队,那么我们可能会想到以下用户案例:

Is this goal level story valuable to the user? Yes! It reflects the needs of the web shop customer.

这个目标水平的故事对用户有价值吗? 是! 它反映了网上商店客户的需求。

Can you implement this goal directly? No! In order to implement a goal, you need to derive steps to reach it first. For the story "Buy Product", the steps might look like these:

您可以直接实现这个目标吗? 没有! 为了实现目标,您需要采取步骤首先达到目标。 对于故事“购买产品”,步骤可能如下所示:

Each step could be documented with the user story template: "As a web shop customer, I want to enter the address so that the product is shipped to me."

每个步骤都可以用用户故事模板记录下来:“作为网上商店的客户,我想输入地址以便将产品运送给我。”

Can you implement this step level story directly? Yes! As soon as you have clarified the acceptance criteria. But is it valuable for the user? Without the other steps, no.

您可以直接实施此步骤故事吗? 是! 一旦您弄清了接受标准。 但这对用户有价值吗? 没有其他步骤,没有。

Value only emerges when the goal has been reached. Each step represents progress towards the goal. But independently, the step has no value. Does it make sense to use the story template for it then?

价值只有在达到目标时才会出现。 每个步骤代表朝着目标前进。 但是独立地,该步骤没有任何价值。 那么,使用故事模板是否有意义?

彻底简单的方法 (A radically simple approach)

The stories at the goal level are coarse grained. They can be used for long-term planning, without wasting effort on details:

目标级别的故事是粗粒度的。 它们可用于长期计划,而不会浪费细节:

You can often realize good user stories at the goal level independently of each other. And they deliver value. They are Independent, Negotiated, and Valuable. But they are not Small, easily Estimable and Testable. Because you cannot define acceptance criteria for them without talking about steps.

您通常可以彼此独立地在目标级别上实现良好的用户故事。 他们创造价值。 他们是 ndependent,N egotiated和V aluable。 但他们不是S商城,轻松ËstimableT estable。 因为您不能不讨论步骤就为他们定义验收标准。

The stories at the step level are Negotiated, Estimable, Small, and Testable. However, they are not Independent and do not provide Value alone.

在步骤级别故事是N egotiated,E stimable,S商场,和T estable。 然而,它们不是 ndependent,不提供值孤单。

How do you combine the two kinds of stories into one simple approach? Here's my proposal.

您如何将两种故事组合成一种简单的方法? 这是我的建议。

The team picks a goal, say "Buy product". The team then reflects: "What is the simplest way to reach the goal? And how can we reduce architectural risks early?"

团队选择了一个目标,说“购买产品”。 然后,团队反映:“实现目标的最简单方法是什么?我们如何尽早降低架构风险?”

Let's assume that the team sees the greatest risk in the communication with PayPal, because they've never implemented an interface to PayPal before.

让我们假设团队在与PayPal的通信中看到最大的风险,因为他们之前从未实现过与PayPal的接口。

So what does a simple way to get to the "Buy product" goal look like? The team puts goal level story, step level stories and acceptance criteria as stickie notes below each other:

那么,达到“购买产品”目标的简单方法是什么样的呢? 团队将目标级别的故事,步骤级别的故事和验收标准放在彼此下方的粘滞便笺上:

Here's what the acceptance criteria say (green stickies). There is only one fixed product that can be ordered. No search, no choice. The user interface is basic, and only allows users to pay with PayPal.

这是验收标准所说的(绿色胶粘物)。 只能订购一种固定产品。 没有搜索,没有选择。 用户界面是基本的,仅允许用户使用PayPal付款。

These are the first steps that the developers implement. Once the developers have implemented a step, they demonstrate it to company internal stakeholders. At latest when a goal is reached, the team involves users. Getting feedback and deriving insights for further iterations is crucial.

这些是开发人员实施的第一步。 开发人员实施步骤后,便会向公司内部利益相关者展示该步骤。 最迟在达到目标时,团队就会吸引用户。 获得反馈并获得进一步迭代的见解至关重要。

In later iterations, the team adds and changes stories. Examples include: more products, a search capability, and new payment methods. Or the team picks another story as a goal. Whatever is most valuable and makes sense at a given point in time.

在以后的迭代中,团队添加和更改故事。 示例包括:更多产品,搜索功能和新的付款方式。 或者团队选择另一个故事作为目标。 在给定的时间点上最有价值并有意义的事物。

摘要 (Summary)

You focus on a few goals to look further ahead. But you only discuss the acceptance criteria of the steps that you will implement in a few days. You implement the steps and gather feedback. You use the feedback to inform what you will develop in the future.

您专注于一些目标,以进一步展望未来。 但是,您仅讨论几天内将要执行的步骤的接受标准。 您执行这些步骤并收集反馈。 您可以使用反馈来告知您将来的发展。

That way, everybody has a clear idea of what happens in development. You avoid wasteful discussions. And you keep backlog management to a minimum.

这样,每个人都对开发中发生的事情有清晰的认识。 您避免浪费时间的讨论。 而且您可以将积压管理降至最低。

I've followed this approach many times. When everybody involved is on board, it works great. It makes development a joy.

我已经多次采用这种方法。 当每个人都参与其中时,它会发挥很大的作用。 它使发展充满欢乐。

And that's it.  

就是这样。

Sources:

资料来源:

[1] Ron Jeffries 3Cs: https://ronjeffries.com/articles/019-01ff/3cs-revisited/

[1] Ron Jeffries 3C: https//ronjeffries.com/articles/019-01ff/3cs-revisited/

[2] Bill Wake on INVEST criteria: https://xp123.com/articles/invest-in-good-stories-and-smart-tasks/

[2] Bill Wake关于投资标准: https//xp123.com/articles/invest-in-good-stories-and-smart-tasks/

To get the basics of agile software development right, visit my online course. If you want to keep up with what I'm doing or drop me a note, follow me on dev.to, LinkedIn or Twitter. Or visit my GitHub project.

正确掌握敏捷软件开发的基础知识 ,请访问我的在线课程。 如果您想跟上我的工作进度或给我留言 ,请在dev.toLinkedInTwitter上关注我。 或访问我的GitHub项目

翻译自: https://www.freecodecamp.org/news/a-radical-simple-approach-to-user-stories/

一百种简单整人方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值