我有一组用户故事和一组业务规则(主要是约束我的合规要求的法律)。在敏捷 SDLC 中,我不确定这些“规则”附加到我的用户故事的何处。
例如,用户故事如下:
As a doctor I want to add patient information in order to create a new patient file.
规则如下:
The following information must be entered in the record of each patient: (a) patient: (i) name and given name; (ii) address; (iii) date of birth; and (iv) sex;
这两个显然是在一起的,但我如何将它们联系起来?作为我的用户故事中的测试验收定义?另一个用户故事?
最佳答案
我见过几种不同的处理方式:
创建一个工件来保存业务规则,并将其存储在所有规则的某个中央存储库中,以便整个开发团队都知道这一点,并维护一个知识库。这可能会变得丑陋,因为在构建应用程序的短短几年内可能会有数百条规则。
规则可以放在用户故事中的单独卡片上。因此,虽然用户故事只是一行,但可能有 6-8 张卡片组成了要完成该故事的所有任务。例如,必须创建一个新的患者表格,对表格进行验证等。因此,不难看出这种裁剪在卡片上作为跟踪需求的一种方式。这对我来说是最自然的,尽管这并不是 100% 写下具体列表的地方,因为卡片可能是“确保表单上的某些字段是必填字段。”
没有明确的链接,而是规则是 QA 或 BA 需要注意的,以便用户验证表单是否强制执行此规则。这与一个类似,但问题是开发人员在这方面的责任是什么。在这种情况下,可能是 QA 而不是开发人员来跟踪的。
用户故事旨在引发讨论,而不是需求的全面列表。在我看来,当开发人员与用户讨论如何创建新的患者文件时,应该会出现该规则。
<小时/>我喜欢在故事完成后保留卡片进行几次冲刺的想法,但我确实看到卡片最终会被销毁的一点。同时,应该有代码在适当的区域实现规则。要使用您发布的示例,可能会在某些地方注意到必填字段列表,因为 UI 层必须显示字段,可能还显示错误消息,但也应该有一些业务逻辑层具有这样的逻辑,可以在尝试创建新的患者文件之前查看某些字段已专门完成。正在构建的系统也将以某种形式容纳规则。
关于agile - 业务规则集成到用户故事,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3452980/