チームで働くということ
当たり前のことなんだろうけど、チームで働く意味っていうのを改めて考えてみた。
自分はウェブエンジニアなので働くということは知的生産を行うことを前提として考えている。
働く目的
そもそも僕たちが働く目的として、成果物を出すこと
が求められている。
もっと言えば、質の高い成果物を出すこと
である。
なぜチームで働くのか
上記の目的を達成するために、チームで働くことは1人で働くことよりも何がいいのか。
職種によって違いが出るのかもしれないが、基本的には以下の3つの問題を解決しようとしているんだと思う。
時間:1人では投下できる時間が限られている。
スキル:1人では実現できることが限られている。
これら3つを持ち寄ってチームをつくることによって、より短い時間でよりよいアウトプットが実現できる。
これがチームで働く意味である。
良いチーム
チームで働くとはつまり、個人と個人が相互に作用しながら働くということだ。
チームを組むことによって1 + 1 = 2
と足し算されれば単純なのだが、そうはいかない。
1 + 1 が3や4のように何倍にもなりうるし、逆に1.2や1.5といったように単純な足し算よりも小さい値になる可能性も十分にある。
この個人と個人の相互作用がどれくらい働くことにプラスに働くかが、いいチームなのかそうではないのかの判断基準になる。
個人と個人の相互作用に対して影響を与えている要因にはどんなものがあるか、これから考えていきたい。 当たり前の事をまとめただけになってしまったが、頭の中は整理された気がする。
「Team Geek ー Googleのギークたちはいかにしてチームを作るのか」読書メモ
Team Geek ー Googleのギークたちはいかにしてチームを作るのかを読んだ。
なぜ読んだのかというと、エンジニアとして働き始めて半年経ち、チームで開発をする中で、ふと、いいチームってどんなチームなんだろうと疑問に思ったから。そんなにいろんなチームで働いたことがないのでなんとなく気になった。
この本の目的
本書の目的は、
プログラマがソフトウェア開発を効果的かつ効率的にするために、他人の理解・コミュニケーション・コラボレーション能力を向上させること
のようだ。
いかにもいいチームを作るために必要そうなことが書かれてありそうだ。
プログラマとして成功するための2つの要因
プログラマとして成功するには、最新の言語を覚えたり高速なコードを書いたりするだけではいけない。プログラマはつねにチームで仕事をする。君が思っている以上に、チームは個人の生産性や幸福に直接影響するのである。
ソフトウェア開発はチームスポーツであり、技術的要因と同じだけ人的要因が影響する
らしい。
何をもって成功とするのかは人それぞれかもしれないが、少なくともソフトウェアを効率的にかつ効果的に開発する上で、(チームで開発するなら)技術力だけではだめらしい。
HRT(ハート)の原則
本書でHRTの原則というものが紹介されている。それは、自分自身やチームの文化、チームの外部とのコミュニケーション、ユーザーとのコミュニケーション全てに対して当てはめるべき土台となる考えのようだ。
謙虚(Humility)
世界の中心は君ではない。君は全知全能ではないし、絶対に正しいわけでもない。つねに自分を改善していこう。
尊敬(Respect)
一緒に働く人のことを心から思いやろう。相手を1人の人間として扱い、その能力や功績を高く評価しよう。
信頼(Trust)
自分以外の人は有能であり、正しいことをすると信じよう。そうすれば、仕事を任せることができる。
批判について
僕が信じている、いいチームに根付いている文化の1つとして、批判の文化がある。
相手をけなしたり拒絶するようなものではなく、相手やプロダクトの成長のために行ういわゆる建設的なフィードバックである。
ただ、やり方を少し間違えると批判する側は相手自身を否定してしまいかねないし、そういう意図がなくとも批判を受ける側は否定されているように捉えてしまう可能性がある。
じゃあどうすれば建設的な批判がうまれるのだろうか。
本書が言うには、 批判する側には尊敬が必要で、心から他人を思いやり、成果を改善してほしいと願うことが重要。 一方で批判を受ける側には自分のスキルに謙虚になるだけでなく、他の人が自分に恩恵をもたらしてくれると心から信頼することが重要だそう。
つまりはHRTの原則を持って批判をし、批判を受けろ。ということのようだ。
感じたこと
HRTの原則には納得感があった。 と同時にチーム全体にこの原則を浸透させるのって難しいんだろうなあと感じたりもした。 ただチーム全体にこの原則が浸透している状態というのは、自分自身が体現していないとだめなわけで、まずは自分をどうにかしろよ。と自分に言い聞かせている。