一、用户故事解决什么问题
故事写得再漂亮,放进用户真实的一天里可能处处别扭。临沂物联网应用公司在物联网应用项目中会先画出岗位的一天工作流:几点做什么、先看哪块屏、异常怎么处理。流程画出来,哪些故事打断了真实动线,一眼就能看出来——好的需求是顺着工作流长出来的。
故事写得多漂亮,不如让用户真的上手。故事评审会应当让客户方真实参与,甚至直接邀请一线用户来看演示。演示出来的东西好与不好,用户当场就有反应,这种反馈质量,比任何书面评审都来得真实,也是迭代方法能持续修正方向的根本原因。
对中小企业来说,用户故事方法门槛并不高:不需要全套敏捷仪式,只要养成"写需求时先写清角色、动作、价值、验收条件"的习惯,需求沟通效率就会明显提升。工具可以从简,思维方式的转变才是关键。
二、验收标准怎么写
用户故事是敏捷团队表达需求的标准方式,经典句式是"作为某类角色,我希望完成某件事,以便获得某种价值"。它刻意写得简短,因为故事的目的不是一次写全细节,而是作为开发团队与客户后续对话的承诺:卡片留在待办列表里,细节在迭代计划会上当面聊清楚。
用户故事与传统功能清单的最大区别,是出发点不同。功能清单从系统视角罗列"要有什么按钮、什么报表",用户故事从使用者视角描述"谁、想干什么、为什么"。视角一换,团队自然就会多问一句:这个功能到底帮用户完成了什么任务?答不上来的功能,往往就是不该做的功能。
写故事时常见的毛病是把故事写成一句技术说明,例如"实现订单接口的重构"。这背后没有用户价值,开发团队既没法验收,客户也没法判断它该不该做。正确的写法是先问这个技术动作服务于谁、改善了什么体验,把价值写出来,再谈怎么实现。
先有场景流,后有功能点。
故事大小要有个衡量办法。"一个迭代能做完"是经验标准:太大的故事跨迭代、估不准、风险集中,要拆小。拆分的角度有很多:按操作步骤拆、按数据范围拆、按规则复杂度拆。拆完之后每个故事仍然是一块可独立交付、可独立验证的价值,而不是把一个大故事生硬切成三段。
场景分析是把用户故事放回到真实工作流里检验。写故事之前,先把这个岗位一天的工作流程画出来:几点做什么、先看哪块屏幕、遇到异常怎么处理。流程画出来之后会发现,有些故事孤立看都合理,但放进流程里却打断了用户的真实动线。好的需求是顺着工作流长出来的。
用例图是场景分析的传统工具:标出系统里都有哪些角色、每个角色要完成哪些主要任务、任务之间有什么包含或扩展关系。它特别适合项目早期统一团队对系统范围的理解——开完一次用例工作坊,产品、开发、测试对"这个系统到底要服务哪些人做哪些事"就有了共同图纸。
备注:把需求放回真实工作流里检验。