原文:https://deviq.com/communication
- 极限编程核心价值:简单(Simplicity)
- 极限编程核心价值:沟通(Communication)
- 极限编程核心价值:反馈(Feedback)
- 极限编程核心价值:尊重(Respect)
- 极限编程核心价值:勇气(Courage)
沟通(Communication)
沟通(Communication)是极限编程(Extreme Programming,XP)的关键核心价值。
每个人都是团队的一部分,而且我们每天面对面交流。我们将共同合作,从需求到代码。我们将一起为我们的问题创造最好的解决方案。
Everyone is part of the team and we communicate face to face daily. We will work together on everything from requirements to code. We will create the best solution to our problem that we can together.
软件项目需要大量的沟通。如果你正在编写一个只供自己使用的应用程序,那么沟通渠道会非常迅速,这使得反馈(Feedback)周期非常紧密。但当你为利益相关者编写软件时,最终会发布软件,最终会被他人使用,使用者必须将他们的使用感受报告给另一组支持人员,反馈周期则会变差。
即使在团队内部,沟通也会很容易瓦解。首先,要考虑在给定大小的团队中存在的沟通渠道的数量。如果团队中只有你一人,恭喜你,你不需要与其他团队成员进行任何交流(当然,你仍然需要与团队之外的人进行沟通)。如果团队中有两名成员,也仅有一个沟通渠道。有三个人时,沟通渠道跳到三个。而当团队有四个人时,成员之间的渠道数量则增长到六个。下面的公式
$$ \frac {n(n-1)}{2} $$
是指数增长的。在一个10人的团队中,团队成员之间有45个独立的沟通渠道。这就是为什么大多数敏捷软件团队的结构相对较小,通常是5-10人。保持一个大团队在同一个方向上移动并且没有沟通障碍是困难的,并且随着团队规模的增加,这种困难也迅速增长。
即使在单人团队中,与未来的自我交流也会是一个挑战。编写简单易读的代码,有助于你维护之前编写的代码,确保你理解代码的功能,以及如何最好地调整代码以满足新的需求。