我参与了几个项目,这些项目基本上涉及用“新”系统替换“旧”系统。一贯的模式是,构建“新”系统的团队中几乎没有人对“旧”系统有任何真正的了解。每当我对此提出质疑时,都会有人告诉我这是有目的的……通过不了解“旧”系统,团队能够以不同的方式思考,而不受那里的工作方式的限制。所以发生的情况是,团队中通常只有 1 或 2 个人对“旧”系统有所了解,每当出现有关“旧”系统如何做某事的问题时,都会向他们咨询。
但似乎总是发生的情况是,在“新”系统交付后,用户总是会提出“我们如何在新系统中执行 X(在旧系统中很容易)”形式的问题?对于开发人员来说,这往往是他们第一次听说 X。所以他们必须去研究 X 是什么,而他们给用户的答案往往是“你不能”或“你可以,但它是真的很尴尬”。
这对我来说似乎不对……在我看来,让“新”系统的每个开发人员都非常了解“旧”系统会收获很多,而且这不一定会扼杀他们的创造力,如果他们有不错的设计和开发技能。
关于哪种方法最好的任何想法?