チームが機能するって?

各々が役割を全うする事?とにかく急ぎ作業を前倒す事?
皆で一生懸命やり遂げる事?

微妙に的が外れてますね。。。

チームが機能するというのは、『成果に対して各自が最善を尽くす事』を目的とした行動がチーム全体で行われている事だと思います。

エンジニア側から見れば、自分の作業を効率化する為に、周りの雑音をシャットアウトしただ黙々と作業し続ける事が生産的であり、目的達成に最善だと思われるかもしれませんが、
チームであるという事はそれだけではありません。

時には、自分の作業を後ろ回しにしても、他人に教えたり、プルリクを見たりする事で全体の効率が良くなる事が必要になります。

例えば、牛丼を作る過程で、2人で作るとします。
1)Aさんはご飯を並盛、大盛、並盛で作り、Bさんへ渡す。
2)Aさんはご飯を並盛、並盛、大盛で作り、Bさんへ渡す。

1と2でどちらの方がBさんは牛丼を盛りやすいでしょうか?
当然2の方ですよね。同じ処理をさせた後に別の処理をした方が牛丼という生産において圧倒的に楽です。
※ただし、Bさんが超プロフェッショナルであれば、どちらにしても問題ないです。
その場合は、Aさんのスペック次第で考慮すべきで、1のパターンで作った方が早い可能性もあります。