阅读讨论二:传统需求工程与敏捷需求方法的融合路径
讨论背景:
结合《软件需求》的传统需求工程体系和《敏捷软件需求》中的精益需求实践,讨论传统结构化需求方法是否过时,以及如何平衡文档化和敏捷性。
核心观点:
- 传统方法的优势与局限:传统需求工程强调文档完备、流程规范、基线清晰,适合大型、复杂、高风险项目,比如金融、医疗系统;但周期长、响应慢,面对快速变化的业务容易僵化。
- 敏捷方法的优势与局限:敏捷需求强调拥抱变化、用户故事、持续沟通,适合互联网类快速迭代项目;但容易出现需求零散、缺乏整体规划、后期维护困难的问题,项目规模大了之后容易失控。
- 两者是互补而非对立:
- 宏观层面用传统方法搭框架:业务目标、系统边界、核心流程、非功能约束,这些顶层需求要先想清楚,不能完全走一步看一步。
- 微观层面用敏捷方法做迭代:具体功能细节、交互体验,可以通过用户故事和迭代逐步细化,快速响应变化。
- 文档要 “刚刚好”:不是不要文档,而是不写没人看的文档。核心需求、关键规则、接口定义必须有书面记录,细节可以通过沟通和代码体现。
- 需求分析的基本功不会过时:不管用什么方法,挖掘需求本质、梳理业务逻辑、验证需求完整性的能力都是基础。结构化分析、数据流图这些方法,本质是训练逻辑思维,和用不用敏捷没有冲突。
讨论总结:
没有最好的需求方法,只有最适合项目的方法。对于学习者来说,先把传统需求工程的基础打牢,再去理解敏捷的思想,才能做到融会贯通。既不能只会写厚重的文档不懂灵活应变,也不能只讲敏捷而忽视需求分析的基本功。
浙公网安备 33010602011771号