【极限编程】核心价值之2:沟通

原文:https://deviq.com/communication

1. 沟通(Communication)

沟通(Communication)是极限编程(Extreme Programming,XP)的关键核心价值。软件项目需要大量的沟通。如果你正在编写一个只供自己使用的应用程序,那么沟通渠道会非常迅速,这使得反馈(Feedback)周期非常紧密。但当你为利益相关者编写软件时,发布后最终会被他人使用,使用者必须将他们的使用感受报告给另一组支持人员,反馈周期可能会受到影响。

Communication is a key value in Extreme Programming. Software projects require a great deal of communication. If you’re writing an application just for your own use, then the communication channels are all extremely fast, making for very tight feedback loops. However, when you’re writing software for stakeholders that will eventually publish the software, which will eventually be used by other people, who must report their experience to a separate group of support staff, feedback cycles can suffer.

即使在团队内部,沟通也会很容易瓦解。首先,要考虑在给定大小的团队中存在的沟通渠道的数量。如果团队中只有你一人,恭喜你,你不需要与其他团队成员进行任何交流(当然,你仍然需要与团队之外的人进行沟通)。如果团队中有两名成员,也仅有一个沟通渠道。有三个人时,沟通渠道跳到三个。而当团队有四个人时,成员之间的渠道数量则增长到六个。下面的公式

团队成员数量n与沟通渠道数量的关系

Even just within a team, communication can break down easily. First, consider the number of communication channels that exist within a team of a given size. If you’re a team of one, congratulations! You don’t need to perform any communication with other team members (though certainly you’ll still need to communicate outside of the team). With a team of two, there is only one communication link. At three, this jumps to three, and with four people, the number of links between team member nodes grows six. The formula this follows is

(N)(N-1)
——–
2

沟通渠道数量是随着团队成员数量n而指数增长的。在一个10人的团队中,团队成员之间有45个独立的沟通渠道。这就是为什么大多数敏捷软件团队的结构相对较小,通常是5-10人。保持一个大团队在同一个方向上移动并且没有沟通障碍是困难的,并且随着团队规模的增加,这种困难也迅速增长。

which grows exponentially. With a team of 10, there are 45 separate communication channels between all of the team members. This is one reason why most agile software teams are structured to be relatively small, typically 5-10 people. Keeping a large team moving in the same direction without expensive communication failures is difficult, and this difficulty grows quickly with increases in team size.

即使在单人团队中,与未来的自我沟通也会是一个挑战。编写简单和可读的代码,有助于你维护之前编写的代码,确保你理解代码的功能,以及如何最好地调整代码以满足新的需求。

Even on a team of one, communication with your future self can be a challenge. Writing code that is simple and readable helps you when you are maintaining code you wrote some time ago, ensuring you understand what it’s doing and how best to adjust it to meet new needs.

你可能感兴趣的:(【极限编程】核心价值之2:沟通)