如果程序员是域专家,他们就不会是程序员.:-)
例如,我为考古学家做了很多软件开发.如果我像我工作的用户一样了解考古学,那么我将在现场挖掘和测量而不是编程.这毫无意义.
话虽如此,我认为程序员需要尽可能地了解域名,但不要忘记优先级.
如果您需要领域专业知识,请将领域专家带入团队.
是和否。
正如 Kyle 指出的那样,程序员经常在每个项目中更改域,这几乎排除了您成为任何给定域的“专家”的可能性。另一方面,您需要充分了解问题以 a) 制定解决方案,以及 b) 测试它是否确实解决了手头的问题。
不声明领域知识的一个原因是您的客户被迫拥有项目的这一部分。我强迫他们的最好方法是要求对项目进行清晰的整体描述(不超过几页)加上大量用户故事......由用户编写。您可以引导他们完成如何编写 US 的过程,但除非他们密切参与创建,否则他们不会真正拥有最终解决方案。
拥有 US 并将它们用于设计和测试,将项目所有权置于其最终归属的地方——掌握在系统用户的手中。