发布于:2021-01-22 15:48:16
0
235
0
你害怕因为缺乏控制而雇佣远程开发团队吗?你担心你的钱会因为沟通效率低下而浪费吗?你认为时区差异会破坏你的交流吗?
如果是,您的位置是对的。
在本文中,您将了解为什么通信对应用程序开发过程至关重要,异步通信是如何工作的,以及它为您带来了什么好处。
为什么沟通很难
在开发人员、客户和产品所有者之前,我们都是人。人与人之间的交流天生就很困难。你可能有很多例子,当不恰当的沟通是唯一的原因,有人感到不安或悲伤,即使没有人有这样的意图。
沟通到底是什么?我不是科学家,但对我来说,这是从一个人向另一个人传递信息——拉平人与人之间的信息鸿沟。消息正在一个接一个地发送。请看下图,显示了仅一个消息的规模,通信的复杂程度::
现在想想有多少零件会在这个过程中失败:
发件人–也许发件人是不正确的(例如,非技术项目经理试图发送技术信息,而开发人员应该发送该信息)
编码-可能您使用了错误的编码形式(例如,使用了其他人不知道的单词)
消息–消息中包含的信息太多还是太少?在给出一些反馈之前,您很少知道答案
解码–也许一个词有许多不同的含义,而接收者会选择一个您不是想要的词?
接收方–也许接收方应该是其他人?也许应该是整个团队,而不是一个特定的人?
反馈–也许根本没有反馈,发送者不知道接收者是否正确理解了所有内容?
噪音–也许发件人在您的邮件中打了一些错字,而收件人却误读了邮件中较长的单词之一?
当然,不同层次上的错误加起来。现在想想你每天发送和接收多少信息,试着确定“信息鸿沟”是真的被拉平了,还是只是一种错觉。
为什么沟通对成功的软件开发很重要
在里面,情况变得更糟。IT世界本质上是相当复杂的,因此,信息本身必须很大和/或很多。这意味着每一级的通信都有更多的机会以错误的方式干扰信息。
这样想吧。我们将为您创建的应用程序具有技术级别(这是我们的专长)和域级别(这是您的业务问题)。为了为您编写完美的应用程序,我们需要对您的领域有一个完美的了解。事实上,我们只能实现我们对你领域的理解。因此,对你的成功来说,尽可能有效地沟通你的领域和想法是极其重要的。阅读:什么是移动应用开发中的产品发现?
在我们这边(开发团队),情况是一样的。我们需要尽可能有效地沟通进展、挑战、技术障碍等,以便您做出最佳决策。
我是一名开发人员,在我看来,沟通是软件开发的瓶颈。一般来说,一个产品要想做得更好,没有技术上的限制,只有目标、问题、要求、实现的思路等一些方面不清楚。
约束理论建议我们改善瓶颈。所以,如果你想要一个更好的产品,你首先应该改善沟通。
尤其是在2020年,许多团队和公司都经历了深刻的变革。即使他们不想或没有准备好,他们也需要切换到完成或部分远程工作。他们被迫放弃过去的交流方式和习惯,在这个过程中学习新的交流方式和习惯。
在讨论更精确的建议之前,让我们先介绍一下您的远程团队中可以期待的人员。
谁是谁和假设
在本文中,我写的是Scrum团队,因为Scrum是最流行的敏捷框架,也是我们技术的重要组成部分。在Scrum中,有三个角色:
产品负责人(PO)
开发团队
Scrum Master(SM)
即使您决定不使用Scrum,我们也会坚持指定您这边的产品负责人,因为这在敏捷开发中是一个必要的角色。产品负责人是一个典型的客户选择的人,他是我们的决策者。
从本文的角度来看,有几个重要的假设值得强调:
采购订单很可能在现场(例如,这可能是您),而开发团队和Scrum Master很可能在远程。
非常重要的是,采购订单是一个人,而且只有一个人。稍后你会知道原因的。获得一本免费电子书–如何成为一个伟大的产品拥有者指南。
您需要聘用为远程应用程序所有者的最大观念转变
有效的远程通信是异步的。如果您还没有,您需要将您的思维方式转换为异步通信,而不是同步通信。
同步和异步通信是什么意思?
异步通信和同步通信有什么区别?
同步通信
对于同步通信,可以考虑类似办公室的交互。谈话的每一方必须在同一时间进行(同一地点不是必须的,但可取)。例如,在会议室开会或面对面交流。有时不需要同一个地方(想想网上会议),但以我的经验来看,这是可取的,而且仍然需要相同的时间。
异步通信
相反,异步通信是指不要求参与者在任何特定时间发送和接收消息。例如,你可以写一封电子邮件,而不是在会议上宣布一些信息。一般来说,写而不是说是迈向异步的一大步。
需要说明的是:这并不意味着在发送和接收之间要花很多时间。我们只考虑这种模式的可能性。
乍一看,这似乎是一个更昂贵的沟通方式-人们可以回答远迟于我需要它!在实践中,由于这个假设,人们学会了如何更有效地沟通,自己做出可逆的决定,并在运行中浪费更少的时间。
当然,它还有很多其他的好处。
异步通信的主要优点
人们可以自由地利用自己的时间。例如,完成Pomodoro(程序员中非常流行的技术)后,他们可以阅读并回复所有消息。
异步通信是长期存在的。面对面的对话很难以完全相同的消息转发。如果将相同的消息写在电子邮件中,则可以轻松,快速地转发该消息,并且可以搜索,引用等。
由于上述“可转发性”,它对未参加假设会议的人员(例如,将来的团队新成员)透明。
人们可以根据需要多次阅读消息,并根据需要花费很多时间。
与直接面对容易害羞的人说话相比,这是一种更轻松的交流方式。
它解决了许多问题-时区差异,连接问题,查找会议的公共时隙等。
何时异步
的确,在较小的规模(2-3人)下,面对面的交流(因此是同步的)更为有效。甚至在《敏捷宣言》中也是可取的。《敏捷宣言》是由想要更好产品的开发商制作的著名论文。如果您的团队规模如此之大,则需要重新考虑本指南的某些要点。但是,在雇用离岸团队来编写应用程序时,您会期望有4至8人的团队。在这样的规模上,同步通信不仅开始成为问题,而且太费时间来传达。因此,异步通信在这里会更好。
无论团队规模如何,还有其他一些因素有利于异步通信,例如地理差异或远程工作。
如果您出于任何原因希望专注于异步通信,那么本系列中的建议也是有效的(可能有很多原因:您需要更多信息,希望您的团队尽快壮大,您生活在有问题的时区中,以及依此类推)。
让我重复一遍。如果您的远程开发团队可以自由地异步工作和通信,那么他们成功的几率会更高。
总结
沟通不是小菜一碟,但它是极其重要的,尤其是在软件开发中。错误可能发生在不同的层面上。为了改善与远程开发团队的沟通,您必须解决it最基本的功能,即您必须将其全部转变为异步沟通。
如果您已经采用了这种思维方式,并且了解了它的重要性以及为什么它如此重要,那么您就已经完成了一半。
作者介绍