用户故事是一个用来确认用户和用户需求的简短描述,它从用户的角度来描述用户渴望得到的功能。一个好的用户故事通常包括三个要素:
1. 角色:谁要使用这个功能;
2. 活动:需要完成什么样的功能;
3. 商业价值:为什么需要这个功能,这个功能带来什么样的价值。
用户故事通常按照如下格式来表达:
• 英文:As a <角色>, I want to <活动>, so that <商业价值>
• 中文:作为一个<角色>, 我想要<活动>, 以便于<商业价值>
为了更好地管理和实现用户故事,Ron Jeffries 提出了用户故事的 3C 原则:
1. 卡片(card):用户故事描述的传统形式是手工书写在小记事卡片上,写上故事的简短描述、工作量估算等。如今也可将需求文档中的需求点摘出,记录在相关管理工具的【需求描述】里,用简洁凝练的语言完整呈现用户故事的三要素;
2. 交谈(conversation):卡片上记录的用户故事是可以进行讨论和细化的,包括与利益相关人(客户/用户)、产品负责人及开发团队之间更细化地讨论用户故事的可行性。经过会话确认后,用户故事才能正式进入开发阶段;
3. 确认(confirmation):通过验收测试确认用户故事被正确完成,由测试人员完成。测试人员在测试版本所关联的用例列表里执行用例,完成测试后生成测试报告,它是对用户故事实现程度的最直接体现。如果用例执行失败,可直接由此创建一个 bug,由开发人员进行二次开发和修复,直到测试通过。
同时,一个好的用户故事还应具备六个特性(也叫 INVEST 原则):
1. 独立性(Independent):要尽可能让一个用户故事独立于其他故事,减少故事之间的依赖,因为依赖会使制定计划、确定优先级、工作量估算等变得困难,可通过组合或分解用户故事来降低依赖性;
2. 可协商性(negotiable):用户故事的内容应是可协商的,故事卡上只需有简短描述,不包含太多细节,具体细节在沟通阶段产出。若卡片上带有过多细节,会限制与用户的沟通;
3. 有价值(valuable):每个故事必须对客户具有价值(无论是用户还是购买方),让客户写下故事是使其具有价值的好方法,当客户意识到这不是契约且可协商时,他们会更乐意写下故事;
4. 可估算性(estimable):开发团队需要能够估计一个用户故事,以便确定优先级、工作量和安排计划。若开发团队难以估计,可能是由于缺乏领域知识(需更多沟通),或故事太大(需将其切分成小些的);
5. 短小(small):一个好的故事在工作量上应尽量短小,最好不超过10个理想人/天的工作量,至少要确保能在一个迭代中开发完毕。用户故事越大,在安排计划、工作量估算等方面的风险就越大;
6. 可测试性(testable):一个用户故事要是可以测试的,以便确认它是可以完成的,如果不可测试,就无法知道何时可以完成。
学习心得:
在学习张传波老师关于 Scrum 的课程之后,我对敏捷开发有了更深入的理解和认识。
Scrum 作为一种敏捷开发框架,强调团队合作、快速迭代和持续改进。通过张传波老师的讲解,我深刻体会到了其核心价值观和原则的重要性。
Scrum 中的角色定义清晰而独特。产品负责人负责明确产品愿景和需求优先级,确保团队始终朝着有价值的方向前进;Scrum 主管则致力于消除团队障碍,促进团队高效协作;开发团队成员则具备自我管理和跨职能的能力,共同为达成冲刺目标而努力。这种明确的分工和协作模式,避免了职责不清导致的效率低下。
冲刺规划和每日站会等实践环节让项目进展更加透明和可控。冲刺规划帮助团队明确在短期内要完成的任务和目标,而每日站会则能够及时发现问题、调整策略,保持团队的同步和专注。
总的来说,张传波老师的课程让我对 Scrum 有了全面而系统的认识。在今后的工作中,我将积极应用所学,不断探索和优化,让 Scrum 真正为项目带来更高的效率和更好的成果。
标签:张传波,故事,Scrum,学习心得,用户,工作量,团队 From: https://www.cnblogs.com/liangtao123/p/18301864