如何编写用户故事以获取技术实现细节?

tou*_*ano 6 tdd bdd agile user-stories agile-project-management

我正在尝试以更有条理的方式工作并开始采用用户故事.

我想我误解了如何将用户故事用于技术方面.

假设我正在编写一个应用程序代码,该应用程序可以为我提供Google中某个关键字的网站排名.

用户故事就像这样:

作为互联网营销人员,
我想知道我的网站在哪里为关键字排名
所以我会知道我的SEO工作是否有效

现在这很简单,以用户为中心......但是,如果我需要将代理引入循环,会发生什么.

一方面,Proxies是技术实现细节,另一方面,代理是Internet Marketer域的一部分.

我该如何制作这样的故事?

作为互联网营销人员,
我想在Google搜索时使用代理商
这样我们就可以检查很多关键字而不会阻止我们

上面的场景对我来说听起来不对...也许我可以将它重写为:

作为一名互联网营销人员,
我希望能够一次检查很多关键词,
这样可以节省我的时间

这听起来更合适,但是我可以给出什么样的验收标准呢?尝试在一分钟内刮掉谷歌100次?是不是浪费时间?

这是另一种情况.当我想要实现的功能是代理可以在30秒内使用一次时,我应该如何制作用户故事?我不知道如何从以用户为中心的角度来解决这个问题......

我想做的另一件事是提出另一件事Role.Internet Marketer我可以说我们有一个叫做的角色,而不是以中心为中心Google Scraper.我可以说这Internet Marketer与...有关Google Scraper.

现在我可以写一个用户故事,如:

作为Google Scraper,
我想在每次搜索时更改代理,
因此Google不会禁止我

您对如何处理上述技术实施细节有什么看法?它还可以帮助将系统分解为模块......

Dav*_*ier 11

你不写技术故事.用户故事应符合INVEST标准.

代理听起来像一个实现细节,应该避免.您不应该在故事中提及代理服务器.即使它们是域的一部分,也可能有其他方法来实现相同的效果.

而不是写"我想使用代理,以便我不被阻止",你应该写道,"我想掩饰我的身份,这样我就不会被阻止".如果我是你的客户,我不知道你为什么要代理?它是前向,开放还是反向代理?代理服务器有很多用途.您应该选择要利用的功能.

但是,你不应该对完美的故事过于痴迷.敏捷宣言说:"个人和流程与工具之间的互动".

在编写用户故事时,您还应该考虑3 C:Card,Conversation,Confirmation.客户和您都了解故事的含义吗?

该卡是否符合INVEST标准?如果您对这两个问题的回答都是肯定的,那么故事就可以了.

  • 故事应该*绝对*不提代理人.如果没有代理可以实现相同的目标,任何人都会关心吗?如果代理结果不是一种可行的方法,那么这个故事的价值会降低吗?当然不是. (3认同)