以下の内容はhttps://showm001.hatenablog.com/entry/2020/02/05/001055より取得しました。


チーム(前編)

チームで働く

先日、AWSの西谷さんが書かれた記事を拝見しました。

 

note.com

チームで何かを成し遂げるのは本当に難しいですね。私も何度も体制づくりに挫折し、いつまでも「自分がやった方が早い」という病から抜け出せずに一人で抱え込んでしまっていました。

 

コミュニケーション

人と協調して何かを行うにはコミュニケーションが絶対に欠かせません。端的な意味での対話だけでなく、仕事を分担したり、進捗を確認したり、自分のやったことを共有したり・・。

 

コミュニケーションというのは相互理解です。相手を理解しよう、理解してもらおうという双方の努力が必要です。そのため、一定以上のオーバーヘッドは必ず発生しますし、ストレスも発生します。

 

 

ならば、オーバヘッドがあるからコミュニケーションを除外する、コミュニケーションがなくても成し遂げられるように1人で仕事をすれば効率的に行えるのでしょうか?それは場合によってはYESであり、トータルで見ればNOです。

一人でやった方が早い病であった自分が何を今更偉そうに・・というものですが、実際にチームで働いてみてそれはより強く感じるようになりました。

 

並列処理

並列処理の理論で、アムダールの法則という有名な法則ものがあります。反論も多数ある法則ではありますが、ひとまずここではその辺は置いておいてこの理論に基づいて考えてみます。

 

ja.wikipedia.org

並列処理というのは理想的には処理する要素(例えばコンピュータならサーバだったりCPUだったり、チームであれば人であったり)がn倍になるとその性能がn倍になります。この状態を「リニアにスケールする」と言います。

 

この理論は、ざっくりいうと「どれだけスケールするかは、対象の仕事のうち本質的に並列化できない部分に縛られる」「それがどれだけ小さかったとしても、高速化には限界があり、リニアにはスケールしない」と主張しています。

人のグループに置き換えてみると、2人で仕事をすれば相互のコミュニケーションが必要となり、そのオーバヘッド分で1人でやるときの半分の時間で終わる(処理能力が倍になる)わけではない、これが人数が増えればオーバヘッドは指数関数的に増えてどんどん効率はリニアからは遠ざかる・・というのはなんとなく感覚的にはあってるように思えます。

 

それでも、リニアに性能が上がって無くても1人でやるよりは時間が短くなってるんだからマシだよね?だからチームでやろう?・・・という話かというと、ちょっと違います。

チームでやると、これがリニア以上になる(スーパーリニア)場合があります。これは「チームワークで1+1が3にも5にもなる」なんていう理想論ではなく、自分なりにこういう条件なら・・という思いもあります。

もちろん、逆にオーバヘッドによる性能低下が顕著で、「チームでやらない方がマシだった」というケースもありますが、それはチームのありようや問題設定、チームの規模などどこかに問題があった場合がほとんどではないかと思います。

 

まとめ

というところまで書いたところで力尽きたので、明日以降の後編に続きます。

ポエミィな所に無理矢理理論っぽいことを持ち込んではみたものの、はてここからどうまとめようか悩んでいるのを明日以降の自分に期待してます(酷い)。




以上の内容はhttps://showm001.hatenablog.com/entry/2020/02/05/001055より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14