如何形成开发人员与用户交流的统一语言?

信息在传递过程中是层层衰减的。

所以,当需求从用户传递到开发人员那里时,开发人员所理解并接受的需求已经不是原来用户想要的需求。

需求误解不仅仅是因为文字容易产生歧义,还由于用户和开发人员的知识背景不同,即使是在面对面的交流的情况下,也会因为用户不了解开发人员所使用的一些技术方面的术语,也不理解用户所说的业务方面的术语而造成的误解。

为了降低需求在传递过程中的衰减,减少需求的误解,有必要在开发人员和用户之间使用一个大家能够达成共识的、统一的语言来交流需求。

统一语言是领域驱动设计的核心之一,但即使我们不采用领域驱动设计,开发人员在与用户交流的时候,如果使用统一语言来交流需求,它同样可以降低开发人员错误理解需求的概率。

当然,对于简单的软件,需要统一的术语很少,只要双方在交流的时候统一认识和说法就可以了。而对于一些复杂的软件,需要统一的术语很多,这就需要采取下列方法来形成统一语言。

  1. 通过画图的方式去发现统一语言

开发人员与用户交流的过程中,可以使用简单的画图来沟通软件要完成的业务。在沟通的过程中,经常会遇到一些双方理解不一致的术语,双方应及时进行协商,形成统一的术语后并将其名称及定义记录下来。在实践的过程中,不必使用重型的画图软件,不必在乎图形的美观与否,只要表达出对需求的理解即可。

  1. 由专家小组定义所有所需术语的词汇表

如果在用户或者开发人员的任何一方中,有既懂业务又懂软件的专家,可以由专家来定义这个项目所需的统一术语。当然,即使是专家定义的术语,也要征询开发团队及用户的意见,不能强制推广。

  1. 使用头脑风暴的方式来发现统一语言

头脑风暴方法可以快速地集合众人的智慧来解决问题,形成统一语言也可以使用这一方法。头脑风暴要有领域专家、用户、开发人员参与。每个参与人员都不要陷入自己习惯的思维模式,而是要有哲学思维,学会从不同的角度思考。

总之,统一语言是整个开发团队和用户统一使用的术语,使用它不会让人对需求的理解产生歧义。

这正是:

需求传递不失真,统一语言是核心

画图风暴预定义,三种方法帮助亲

参考书目:复杂软件设计之道:领域驱动设计全面解析与实战,作者:彭晨阳,出版社:机械工业出版社

(0)

相关推荐

  • 产品经理的职责有哪些?该做什么?

    产品经理的具体工作职责是什么: 1.市场调研 做一个产品.首先,要了解行业跟市场的情况,这个市场要在我们进来之后还有可以分的利润,如果说进来之后,发现市场已经被分完了,那我们还有什么做的意义?市场调研 ...

  • 作为开发人员,AI领域界分成几个层次?

    目前很多人都想要学习人工智能知识,入门人工智能行业.为了能够顺利成为人工智能行业中的一员,需要对AI领域的信息有更多的了解. 作为开发人员,AI领域界可以分成以下几个层次: 1.学术研究者.他们的工作 ...

  • 开发人员怎样参与需求讨论?

    作为GJB5000A的实施者,我们都知道需求管理过程域要求"获得对需求的一致理解",为了满足这一要求,我们通常的做法是让开发人员参与需求的讨论,并且期望在讨论中达成这一目标. 可是 ...

  • 开发人员解决不了管理烂的问题

     · 13小时前 我经常看到一些文章指责开发人员不理解他们为什么要做改变,不理解背后的"为什么"就盲目地实现改变是错误的. 编者按:本文来自微信公众号"InfoQ&quo ...

  • 开发人员如何规划自己的职业生涯

    听从心的召唤 在评估过自己的能力,特长和专业方向之后,一定要顺从心的选择.很多年轻人容易被物质条件,社会评价和同类攀比等多种因素影响了自己的判断和选择.相信自己的直觉,在判断自己的职业前景时一定要让心 ...

  • 2021 年 Node.js 开发人员学习路线图

    2021 年 Node.js 开发人员学习路线图

  • 在线教育系统开发|以用户的维度,开发运营

    要在几亿互联网用户中精准触达目标用户,如同大海捞针一样,所以很多在线教育App都会采用"广撒网"的策略来获取用户,但是这样也在一定程度上提高了用户的获取成本. 对于开发工作人员来说 ...

  • 开发人员选择哪个Linux版本好?六大类!

    Linux是非常流行的操作系统,也是非常适用于开发人员和程序员的平台,众所周知,Linux有很多发行版本,所针对的人群也是不同的,那么哪些Linux发行版本适用于开发人员呢?我们来看看吧. 1.Fed ...

  • 写给开发人员:【付款凭证】详解

    图:突然发现我国古代的青铜器设计得好大器,现代设计都在向西方学习,为什么不向我们自己的祖先学习呢? 正文: 凭证编制的节点在:[财务会计]-[总账]-[凭证管理]-[制单],这个节点是会计用来编制凭证 ...

  • 适用于Linux的Windows子系统的完整开发人员指南2

    This tutorial demonstrates how to install, manage, and use a full Linux environment on your Windows ...