问题的背景:
项目的早期阶段通常伴随着商业目标和架构决策的不确定性,因此系统分析师面临着确定最佳需求细化级别的问题。错误的选择会导致过度设计(overengineering)或任务模糊,团队理解不清。
问题:
一些利益相关者要求看到“在岸”的细节,而另一些则担心过于细化会导致失去灵活性。阶段间的转换(从概念到设计,再到实现)需要及时更新需求并让所有参与者参与其中。
解决方案:
系统分析师采用迭代方法。在早期阶段,只记录主要的业务需求和大的模块(epic),随着开发的推进,细化级别逐渐增加:
关键特征:
谁应该确定所需的细化级别 — 分析师、架构师还是客户?
通常大家误以为这是分析师或架构师单独负责,但正确的答案是:细化级别是整个协调小组(分析师、架构师、产品负责人、技术负责人和客户)的责任,在项目方法论框架内达成一致。
高层次需求足以让团队开始工作吗?
不,高层次需求用于形成整体愿景。转向开发时,必须有明确的场景(用户故事、接受标准),否则在实施过程中会有很大的误解和错误的风险。
所有需求在发布时必须有相同的细化程度吗?
不,通常对MVP的需求要进行最大程度的细化,而优先级较低的任务则保持在草稿水平,以避免过早消耗资源。
负面案例: 初创公司的CRM项目。业务方面坚持事先对所有模块进行全面细化。分析师为所有未来功能创建了数百页的需求,尽管真正的优先级只有销售。
优点:
缺点:
正面案例: 在类似项目中,分析师为MVP(管理潜在客户和交易)形成了需求核心,其余部分则以简要描述的epic形式列出。在接近实施冲刺的过程中进行细化。
优点:
缺点: