为什么没有什么是显而易见的:软件开发中的沟通艺术

已发表: 2020-10-22

我们都必须在日常生活中相互交流。 在私人生活中,在学校,在工作中。 无处不在,无时无刻不在。 有些人比其他人有更好的沟通技巧,但归根结底,我们都会时不时地犯错。

虽然一些错误的沟通对我们的生活影响不大(如果你点了不含酒精的啤酒,这不是世界末日;))有些可能会产生更大的后果(指出要拔错的牙齿)。 软件开发中的沟通误解是后者,可能会产生财务影响。

我们所有人最常见的问题之一就是假设另一个人可以读懂我们的想法。 有时我们都为此感到内疚。 你有没有听过这句话:“这很明显!”? 我敢打赌你有。

我不相信客观的显而易见性。 我们认为有些事情对每个人来说都是显而易见的,但对一个人来说清楚的事情,对其他人来说可能并不那么明显。 为了在软件开发中实现有效的沟通,让我们停止相信读心术,只说我们的想法。

为什么说起来容易做起来难? 我们先来分析一下通信过程。

沟通要素

50 多年前,罗曼·雅各布森(Roman Jakobson)提出了一种沟通模型,该模型对于通过相互理解来分析问题非常有用。 看一下图表:

很明显,通信不仅仅是发送者和接收者之间的消息。 上下文、渠道和代码会影响消息,并可以改变单词的接收。 即使其中两个因素存在而缺少一个因素,也会出现问题。

由于我们具体讨论的是软件开发中的通信,因此如果我们错过了上述任何因素,我们应该分析在项目细化会议期间会发生什么。 换句话说,让我们仔细看看沟通在项目管理中的重要性。

始终提供上下文

上下文提供了对任何问题的大局的解释。 人们可能看不到将产品的目标群体告诉​​后端开发人员的意义。 似乎开发团队只需要知道他们需要什么,而不是背后的业务原因。 没有东西会离事实很远。

软件开发中的通信不仅仅是功能需求。 您可以为团队提供的上下文越多越好。 正确介绍产品概念可能会很耗时,而且可能看起来浪费时间和金钱,但从长远来看,它有助于避免糟糕的技术实施。

如果团队知道产品的长期计划是什么,他们可以提供更合适的技术解决方案。 即使您不想在食品配送移动应用的第一个版本中实施促销代码,也最好让软件程序员知道它会在下一个版本中推出。

为确保您提供了完整的背景信息,请问问自己是否已经分享了您所拥有的所有信息。 如果你发现自己在想‘这对开发人员来说并不重要,他们不需要知道这一点,至少问问团队这些信息是否可以帮助他们。 您可能会对其他人认为至关重要的因素感到惊讶。

明智地使用渠道

渠道是项目管理中经常被遗忘的沟通因素。 如今,当开发团队经常在不同国家工作时,当后端在印度(现在,多达 85% 的美国公司将大部分业务外包给印度)时,前端开发在波兰,产品负责人在美国,我们都使用许多不同的工具进行交流。

选择正确的渠道并有效地使用它可能会产生影响。 电话会议、电子邮件和聊天很棒,可以让我们保持联系。 但它们也为信息被误解创造了新的方式。

我们不能假装在线聊天与在同一个房间与团队进行对话是一样的。 我们能做的就是牢记远程通信的局限性,并努力克服它们。

有效远程通信的技巧

  1. 通过电话会议进行对话时打开相机。 视情况而定,非语言交流可占信息的 50% 以上。 例如,如果你在别人能看到你的时候讽刺你,那就更容易被抓住。 您还可以查看对话者的实时反应。 您可以注意到其他人是否对您的话感到困惑。
  2. 在聊天中使用单独的房间对对话进行分类。 当项目复杂时,软件开发中的沟通也趋于复杂,新的讨论话题不断出现。 分开的房间可以让您保持信息井井有条,并以更少的麻烦到达适当的收件人。
  3. 在通过聊天写作时标记消息的收件人。 跟踪每个对话并不容易。 确保通知您正在写信的人符合您的最大利益。
  4. 在书面对话中,适当时使用表情符号。 不要用太多但要让听众知道你在开玩笑说周五下午的部署

通信代码审查

在工作之初,您需要建立一个通用代码以同样的方式理解主要术语。 即使是“显而易见的”。 例如,我们有一个要求:“作为用户,我只能在早上下订单,以便可以在同一天发送所选择的产品”。 看起来很清楚,不是吗?

嗯……那么早上在这个功能中到底意味着什么? 早上什么时候开始? 当太阳升起或在一个确切的时间,即早上 7 点? 如果在上午 7 点,您想到的是哪个时区?

项目管理中的沟通,尤其是 IT 中的沟通,需要非常清晰。 没有猜测的地方。 在我们的案例中,它可能会导致无法在 10 点之前订购产品(当主要开发人员起床时,这对他来说就是早上的意义),并且应用程序所有者因缺乏早起的订单而蒙受损失。

常用通信代码的最佳实践

  1. 使用常用术语创建词汇表。 它在项目开始时很有帮助,对于新加入者了解开发团队所说的语言非常有用。
  2. 询问接收者他们如何理解要求或短语也很好。 我不是在谈论无用的:“一切都清楚了吗?”。 请明确点。 询问详情。 确保你被理解。 进行通信代码审查。

    让我们再看一下我们的例子:为了对“早上”这个词达成一个共同的理解,请使用它的人重新表述它。
  3. 经验法则是,在软件开发中重复沟通比为猜谜游戏留出空间要好。

专业知识问题

除了上面提到的项目管理中的所有沟通方法之外,在讨论软件需求时,还有一件更重要的事情需要牢记。 无论是初创公司还是企业产品,在大多数情况下,在客户进入软件公司之前,他们都会花费大量时间考虑他们的产品。 花在这上面的时间越多,他们在这个话题上的经验就越丰富。

当您是专家时,很容易忘记并非您周围的每个人都拥有与您相同的领域知识。 这意味着对您来说显而易见的问题对于您正在与之交谈的开发团队来说并不那么清楚。

如何避免专业知识问题

  1. 退后一步,回到产品之旅的起点,向开发团队解释您所做的所有决定。 当他们了解这一切是如何开始时,他们会找到更好的技术解决方案,甚至会填补您思维方式的空白。
  2. 允许团队根据需要提出尽可能多的问题。 谚语说没有愚蠢的问题一点也不夸张。

软件工程团队如何有效沟通

尽可能清楚! 没有沟通不畅的地方,因为后果可能是痛苦的。 请记住,没有客观的显而易见性,最好重复几次,而不是错过重要信息。

研讨会图标

将您的想法变成出色的数字产品

我们一起工作吧

请记住所有三个沟通因素,并仔细检查您的信息是否按您的意图理解。 随着时间的推移,软件开发中的沟通对你来说会更容易,正确地解释需求将不再是问题。

如果您正在寻找一个在应用程序开发和通信方面都堪称专家的软件公司,那就别无所求!

只需与我们的 Miquido 专家交谈,将您的想法变为现实!