问题的背景:
随着IT项目规模和复杂性的增长,业务客户的需求常常以抽象的愿望形式出现,这在传递给开发团队时会变成其他东西。原因在于业务与IT之间的术语、期望和抽象水平之间的断裂。
问题:
如果没有考虑拆解阶段,需求要么变得不完整(细节被遗漏),要么过于模糊(无法评估和实现),要么由于语言陷阱、未考虑的术语和歧义而完全扭曲。
解决方案:
系统分析师逐步拆解每个需求:形式化业务术语,将业务目标转换为功能和任务,描述用户场景和系统行为,联系验收标准/测试用例。重要的是使用模型(UML,BPMN)、词汇表、检查清单以及团队之间的直接审查。
关键特点:
是否可以将业务愿望以自由形式保留,并在开发阶段进一步完善?
不可以,存在误解和实现错误的高风险。
是否需要在分析阶段详细说明实现细节(例如,如何存储数据)?
不需要,分析是关于“做什么”和“为什么”,而不是“如何”。技术细节属于架构和开发的责任范围。
需求的一个记录是否始终等于一个模块/功能?
不是,通常需要拆解——大的需求被分为子功能和用户故事,具有单独的验收标准。
负面案例:客户传达了“用户应看到所有销售分析”的愿望清单,在技术规格中原封不动复制。
优点:
缺点:
正面案例:分析师询问客户,列出了必要的指标清单,确定了用户角色,开发了报告原型,确认了术语词汇表。
优点:
缺点: