0

当您拥有跨多种 UI 模式通用的功能时,有什么好的方法来捕捉用户故事?

例如,想象一个商业航班信息系统,有人可能会用它来回答“UA211 航班预计何时降落?”这个问题。

通常情况下,提供日程信息的功能是常见的底层功能,即使您可能通过桌面网络浏览器、移动浏览器(您希望应用不同的样式以使其更可用)以及可能即使通过短信短代码。

现在,这当然可以是一个单一的用户故事(“ As someone meeting a traveller, I want to see flight arrival information so that I can be at the airport on time”)。但这似乎是错误的(无论如何,这可能是一个史诗般的故事)。

您可以将其分开的用户故事(“ As a desktop user...”,“ As a smartphone user...”等),我过去做过,团队只知道估计第一个包含所有功能,而后续的只估计 UI执行。

第三种选择是使底层功能成为与表示层隔离的故事,然后有 UI 故事:“ As a flight info system front end, I want to get flight status information so that I can present it to the user”、“ As a desktop user, I want to see flight arrival... etc”。但这似乎是人为的。

想法?

dwh

4

2 回答 2

1

我会推荐第二种选择。

正如您所建议的,对于单个故事来说,第一个听起来太多了,一个故事应该始终适合一个迭代。

对于第三种选择,最大的问题是您没有在故事结束时交付业务价值,这通常是一种不好的做法。

不过,还有其他方法可以拆分这项工作。您最初可以开发一个非常精简的准系统版本,该版本适用于所有客户端,然后在后续故事中对它们中的每一个进行改进。

于 2011-08-29T13:04:48.973 回答
1

我认为问题在于您正试图将 UI 功能与后端联系得太紧。

例如,如果你把它分解成一个简单的故事:

用户可能想知道给定航班号的航班状态。

好的,现在,鉴于您实现了它,现在您可以查看哪些平台将调用它,因为敏捷的一部分是不要过度开发,但在这种情况下,如果您有支持移动和桌面设备,那么您应该考虑将其实现为 REST 服务,因为这是两者都可以使用的最简单的解决方案。

所以 REST 服务解决了上面的第一个故事。

现在,您会发现每个平台都有其他细节。例如,手机上是否有可能已经有信息的东西,例如,旅行者是否去了一个旅行网站并已经输入了他的信息,那么你可能想去那里,假设旅行者在用户联系人中.

或者,如果用户只是要输入一个航班号,那么为什么不把它作为一个网页来做,因为这是支持这两个概念的最简单的方法。然后,如果您有一个支持 GET 的 url,并且输出为 HTML,那么您可以轻松地显示。

所以,我的第一个故事太简单了,你可能要考虑是否可以返回不同类型的数据,所以用户可能希望有 HTML、PDF、json 或 xml,但是对于这些中的每一个都应该有一个业务需要。

不幸的是,由于未知数太多,很难回答您的问题,这就是您遇到困难的原因。如果你问错了问题,那么你确实有一个史诗,但如果你能把它分解成几个简单的故事,那么解决起来就会容易得多。

于 2011-08-22T19:51:44.967 回答