2

假设您正在与客户的领域专家合作。你意识到(或至少有合理的信念)你对他们问题的模型比他们的更清晰。你如何说服他们他们应该按照你的方式行事。

就我而言,需求的主要推动力是相当清楚的(例如,产品的交易系统)。根据我的经验和研究,我会推荐一个有两个 TraderParties 的 TradeContract。每个 TraderParty 购买一种产品并出售一种产品。如果我必须在 XML 中对组合进行建模,我可以将其建模为:

<tradeContract>
    <id>1234</id>
    <tradeParty>
       <id>1</id>
       <name>Ann</name>
       <long type="money" value="20.00"/>
       <short reference="book.123"/>
    </tradeParty>
    <tradeParty>
       <id>2</id>
       <name>Bob</name>
       <long reference="book.123"/>
       <short type="money" value="20.00"/>
    </tradeParty>
    <product>
       <id key="book.123">123</id>
       <type>book</type>
       <title>Harry Potter and the Prisoner of Azkaban</title>
    </product>
</tradeContract>

以上只是安以 20.00 美元从鲍勃那里购买的哈利波特与阿兹卡班囚徒的模型。更抽象地说,这模拟了两方四足交易。为了争论,我们假设使用 XML 的系统验证tradeContract并协调交易。

如果您的领域专家觉得这对他们来说太复杂了怎么办?虽然您可以很容易地承认一些中间步骤来获得上述域模型,但您如何说服他们“咬紧牙关”并尽早使用上述域模型更好?

补充:中小企业提出的模型...

领域专家一直在谈论的是我提出的模型,但看起来他们不相信他们的业务流程还没有准备好。(不过,我认为现在有一些方法可以解决)。

他们立即想要的模型是:

<tradeParty>
   <id>1</id>
   <name>Ann</name>
   <transaction type="long" product="money" value="20.00"/>
</tradeParty>

Ann 赠送了 20.00 美元的这个模型。然后必须输入一个单独的事务:

<tradeParty>
   <id>1</id>
   <name>Ann</name>
   <transaction type="short" product="book" reference="book.123"/>
</tradeParty>

为了建模,她获得了哈利波特的书。我认为这很麻烦,因为我们无法模拟我们的系统是否会欺骗 Ann。同样,交易合约中 Bob 一方也发生了类似的交易碎片化。

4

2 回答 2

2

我从不尝试改变领域专家的心理模型……毕竟他们是专家。但是,如果我将其建模与他们的模型略有不同,那么我确保它仍然可以产生相同的效果。所以我接受他们的观点,以我自己的方式建模,然后以他们理解的方式呈现给他们。

从您的技术角度到他们面向业务的角度,总会有这种翻译。这就是您的业务分析师的角色。

您的领域专家提出的模型是什么?如果如您所说,您的模型捕获了需求,那么请使用您的模型,但向领域专家展示的技术视图较少……请改用图表。他们不必知道从图表生成的 XML。

于 2009-01-01T06:16:47.510 回答
1

我从不尝试改变领域专家的心理模型……毕竟他们是专家。

我认为这大部分是真的。但是,我知道认为领域专家不如我“明白”的感觉。虽然很容易将其归咎于他们不了解技术方面,但通常这表明开发人员和领域专家之间的沟通没有达到标准。这可能非常危险。

如果您认为最有效的内容与领域专家想要的内容之间存在巨大的脱节,则可能是您错过了他们认为理所当然的领域关键部分。尝试从不同的角度询问问题。有时你会通过另一种推理路径得到不同的结果。灯泡可能会继续存在,突然之间,您对问题的理解比以前要好得多,因此您将能够与领域专家进行更好的沟通。

您的领域专家提出的模型是什么?

我认为这也会很有趣。

于 2009-01-01T07:12:25.103 回答