如果你对自己要开发的业务领域没有清晰的定义和边界,没有设计系统的领域模型,而仅仅跟着所谓的需求不断开发功能,一旦需求来自多个方面,就可能发生需求冲突,或者随着时间的推移,前后功能也会发生冲突,这时你越是想弥补这些冲突,就越是陷入更大的冲突之中。
软件只有需求分析,并没有真正的设计,系统没有一个统一的领域模型维持其内在的逻辑一致性,功能特性并不是按照领域模型内在的逻辑设计,而是按照各色人等自己的主观想象设计,项目时间一长,各种困难重重,需求不断延期,线上 bug 不断,管理者考虑是不是推倒重来,而程序员则考虑是不是要跑路。