提醒:本文最后更新于 1 年前 ,文中所描述的信息可能已发生改变,请谨慎使用。

以下内容摘抄自 《解构领域驱动设计》@张逸

对于客户提出的需求,要分清楚什么是问题,什么是解决方案,真正的需求才可能浮现出来。

看清了问题的真相之后,我们才可能有据可依地寻找真正能解决问题的解决方案。

做好软件需求工作,业务驱动需求思想是核心。

传统的需求分析是站在技术视角展开的,关注的是“方案级需求”;业务驱动的需求思想则是站在用户视角展开的,关注的是“问题级需求”

如何区分方案级需求和问题级需求。方案级需求就好比一个病人到医院看病,不管病情就直接让医生开阿斯匹林;而问题级需求则是想医生描述自己的身体症状。
病情是医生要解决的问题,处方是医生提供的解决方案。

站在技术视角展开的需求分析,实际就是没有明确问题空间和解空间的界限。

项目中遇到的问题

  • 项目经理瞎指挥,业务方为了尽快上线,粗略了解技术方案后,直接干预研发代码实施过程,长期以来积攒了大量业务分支,导致代码难以维护,且缺少文档支持
  • 需求方业务方短视,为了短期利益忽略了系统的长期维护成本,无法站在整体架构角度去思考问题的原因,误把局部最优解当成全局最优解来实施,导致系统与系统之间职责边界模糊,引入大量技术债从而难以维护。