敏捷:机器学习项目的用户故事?

发布于 2024-10-11 16:09:52 字数 1459 浏览 8 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

雄赳赳气昂昂 2024-10-18 16:09:52

利用“垂直切片”概念可能会有所帮助。想象一个简单的 3 层应用程序(例如 UI/逻辑/DB)。您无需构建一层,然后构建另一层,而是垂直“切片”所有三层。最初的故事可能是“作为用户,我希望能够登录系统,以便可以访问它。”完成后,这个故事可能是可交付的,因为它提供了完整的功能,但不太可能为客户提供足够的价值以使其值得实际交付。垂直切片的好处之一是您已经了解了所有层的一些知识,这些知识可以在未来的迭代中使用。

如果您不熟悉,INVEST 模型对于用户故事非常有用:

I - 独立

N - 可协商

V - 有价值

E - 可估计

S - 大小适当

T - 可测试

It might be helpful to utilize the 'vertical slices' concept. Imagine a simple 3-layer application (UI/Logic/DB, for example). Instead of building out one layer, then another, you 'slice' vertically through all three. An initial story might be "As a user, I want to be able to log in to the system, so that I can access it." When done, this story is potentially-shippable, in that it provides complete functionality, but is highly unlikely to provide sufficient value to the customer to make it worth actually shipping. One benefit of vertical slices is that you've learned something about all the layers, knowledge which can be use in future iterations.

If you're not familiar with it, the INVEST model is very useful for User Stories:

I - Independent

N - Negotiable

V - Valuable

E - Estimable

S - Sized appropriately

T - Testable

梨涡少年 2024-10-18 16:09:52

任何故事都有角色、行动和目标。因此,考虑写一个故事,其中指定一个角色(又名演员)做某事来实现目标。

你所写下的内容应该有一个明显的测试,即定义成功和失败的有效决策程序。

我认为,你在这里遇到麻烦的地方是陷入了“商业价值”。首先从总体上定义您如何知道何时成功完成任务。那么,“实现商业价值”就是朝着目标取得一些进展。

对于敏捷中的某些事情,您必须具有一点点创造力,因为它们通常面向业务流程。

更新:

这里有几点。

  1. 这是一个定理,如果您无法从系统外部观察到某个组件的任何影响,那么该组件可以在观察等价的意义上被移除而不会产生任何影响。

  2. 定义了一个事物,通常称为任务,它是小于用户故事的程序员分配。如果你有一些看起来像故事一样大的事情,请将其分解为一项任务。但是,请以具有明确定义的外部行为的方式执行此操作,或者在可以观察其行为的上下文中构建它。

因此,有几种可能的方法向我推荐:

  1. 设置大故事并将其分解为数量异常多的子步骤

  2. < p>或许可以通过对数据集进行分区来分解故事。因此,例如要分解“用户请求标签已更新”,请分解您的测试数据,以便您只有接收标签 α 的数据并制作一个故事“用户请求更新为 α 的标签”。由于您知道一切都将是 α,因此您构建了始终分配 alpha 的最简单的代码,并担心选择的代码。

Any story has a Role, an Action, and a Goal. So, think about writing a story which names an Role (a/k/a Actor) doing something to achieve a goal.

What you put down should have an obvious test, ie, an effective decision procedure that defines success and failure.

Where you're running into troubles here, I think, is getting caught up in "business value". Start by defining overall how you'll know when you'd completed your task successfully. Then, "achives business value" is making some progress toward the goal.

You have to be a tiny bit creative with some things in Agile, because they're so often oriented toward business processes.

Update:

Several points here.

  1. it is a theorem that if you can't observe any effects of a component from outside the system, then that component can be removed without effect in the sense of observational equivalence.

  2. There is defined a thing, usually called a task, that is a programmer assignment smaller than a user story. If you have something that seems to big as a story, break it up as a task. HOWEVER, do so in a way that it has well-defined external behavior, OR build it in a context in which you can observe its behavior.

So there are a couple of possible approaches that recommend themselves to me:

  1. Set up big stories and break them into an unusually large number of substeps

  2. Decompose the stories, perhaps by partitioning the data set. So, for example to decompose "User request tags updated", decompose your test data so that you have only data that would receive tag α and make a story "User requests tags updated to α". Since you know everything will be an α, you build the simplest code that always assigns alpha, and worry about the code that selects.

时常饿 2024-10-18 16:09:52

我认为您也可以测量部分系统的正确或错误结果。您需要清除其他系统组件。这当然有可能。另外,在我看来,系统的一部分是其他模块的参与者是有道理的。

I think you can measure correct or incorrect results for a partial system as well. You need to stub out other system components. It is certainly possibly. Also, in my opinion it makes sense that one part of the system is an actor to other modules.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文