一、什么是好的需求
-
需求的质量重于数量:需求并非越多越好,也并非越详细越好。一个好的需求应属于一系列关联需求的一部分,这些需求共同支撑一个发布版本,并为用户提供明确的价值。
-
验收条件:每个需求应有明确的验收条件,达到这些条件即视为需求完成。
-
可讨论与不可讨论的部分:需求应分为允许讨论(如具体实现方案)和不允许讨论(如用户价值)两部分。开发人员应参与需求讨论,反馈实现中的问题,以帮助需求提出者做出进一步决策。
二、需求的核心特点
-
完备性:需求需明确为哪些用户提供何种价值,并定义清晰的验收条件。
-
生动性:通过生动的应用场景描述需求,帮助各方参与者达成一致理解。
-
简洁性:需求应简洁明了,避免冗长。需求规格说明书或PRD应聚焦核心内容,避免过度设计。
-
持续完善:需求从模糊到清晰是一个正常过程。允许应用场景、验收条件、依赖假设和限制的逐步完善,但用户和价值应尽量保持不变。
-
允许留白:需求中允许存在不明确的地方,逐步思考和讨论清楚这些问题是有益的。开放性问题也是需求的重要组成部分。
三、好的需求对人员的期望
-
对产品经理:
-
版本规划应有明确目标,并由一系列需求支撑。
-
从用户角度描述需求价值,并提供生动的应用场景和明确的验收条件。
-
-
对QA:
-
从版本目标、用户价值和验收标准三个方面对需求进行测试和审核。
-
与开发人员就业务场景进行沟通,确保理解一致。
-
四、好的需求的标准
-
所属的发布版本有明确目标。
-
有多个需求支撑发布版本。
-
需求能为用户提供价值,并能清晰描述。
-
需求的验收条件明确且可测试。
-
需求有生动的应用场景,有助于理解需求。
-
明确需求的依赖、假设和限制。
-
需求在业务、QA和开发人员之间真正达成一致,并有机制确保一致。
-
不明确的问题应指出,最好列为开放性问题。
-
有持续完善的机制。
-
明确需求的责任人和客户代表,并指出沟通方式。
五、开发人员如何实现需求
-
需求理解与拆分:
-
确保对需求达成一致。
-
将需求拆分为任务,注意不要遗漏非开发任务,非开发任务可反馈给需求人员。
-
-
版本规划与验收:
-
如果需求较大,将其拆分为多个版本,按一定节奏开发。版本划分应以用户价值为指导。
-
根据需求(特别是业务价值)列出各版本的验收条件,并确保达成一致。
-
-
测试与演示:
-
编写功能测试用例或功能设计,建议由开发人员完成。
-
任务或版本只有在客户代表(或需求人员)演示并认可后才算完成。如果客户代表不满意,需进一步沟通和调整。
-
六、需求分析中的关键思考
-
紧盯用户和价值:
-
做需求时需紧盯用户和价值,忽略价值会导致忽略很多工作。例如,为展会开发高拍仪时,如果忽略价值,可能不会将展会PPT准备与开发联系起来,也不会关注讲解人员的培训需求。
-
-
打动用户/客户:
-
用价值打动用户/客户。如果不了解用户/客户,不关心他们的真正需求,就无法提供有价值的解决方案。
-
七、开发与Product Owner的协作
-
开发是Product Owner的客户:
-
Product Owner需确保开发的需求有价值,能为用户解决问题,得到销售人员认可,并与公司发展一致。
-
Product Owner需提供明确版本目标、特征组合、客户/用户信息、价值描述、验收标准等,并与开发、QA达成一致。
-
-
Product Owner是开发的客户:
-
开发需完成用户故事(需求),确保与验收条件一致,并能演示给客户/用户代表。
-
开发需确保客户/用户能立即使用,且QA认可。
-
八、领导与团队的协作
-
领导是团队的客户:
-
团队需定期向领导展示进度、版本迭代计划及每个版本的目标,以供领导判断是否与最终目标一致。
-
团队应主动展示整体状态,包括项目进度、成果和问题。
-
-
团队是领导的客户:
-
领导需将目标、愿景与团队沟通清楚并达成一致。
-
领导需为每个目标列出验收条件,并确保战略与公司发展一致。
-
领导需拿出时间与团队沟通,了解彼此状况。
-
总结
本文系统阐述了需求分析的核心要点,强调了需求的完备性、生动性、简洁性、持续完善和允许留白等特点,并提出了对产品经理、QA和开发人员的期望。文章还详细描述了开发人员如何实现需求,以及开发与Product Owner、领导与团队之间的互动关系。整体观点正确且实用,在实际应用中能够产生正向效应,帮助团队更好地理解需求、明确目标、降低复杂度,并最终交付高质量的产品。
标签:需求,开发人员,实践,用户,验收,理解,版本,价值 From: https://www.cnblogs.com/Rong-/p/18677568