はじめに~HRTは本当に大事。でも意識しすぎて失敗することも
最近バズった記事からHRTに関わる記事やコメントを見る機会が増え、HRTが大事と改めて意識しました。
それとともに、HRTを実践するのは難しいなと改めて感じたのでまとめてみました。
まずはHRTについてQiitaガイドラインから
HRTとは、書籍『Team Geek――Googleのギークたちはいかにしてチームを作るのか』で紹介されている「Humility(謙虚)」、「Respect(尊敬)」、「Trust(信頼)」を示す言葉です。書籍では“あらゆる人間関係の衝突は、謙虚・尊敬・信頼の欠如によるものだ”と述べられています。
Qiitaを利用する際には、このHRTを意識するよう心がけましょう。記事は記事を書いた本人ではありません。
とても素晴らしい言葉で、自分の中でこうありたいと思う理想でもあるので心に刻み付けています。
しかし、意識していても中々うまくいかないことも。そんな私の今まで体験してきたチーム開発やチーム間交渉、会議の中でのHRTに関わる失敗談をまとめたいと思います。
- 謙虚にし過ぎて相手の増長を生み
- 尊敬し過ぎて支配者を生み
- 信頼し過ぎてプレッシャーを生む
「Humility(謙虚)」が過度になり「Hostility(敵意)」を増長させる
謙虚に、誠意を持って、場を収めようとしても、一定数の敵意を持った方の声が大きくて収まらない場面もあります。
お互い謙虚になって大人の対応をというのが理想なのですが、「相手が攻めてこない!」とばかりに相手が徹底攻勢を見せることも。
例えばコードレビューの場、とあるコードの書き方で議論に。例えばこんなコードがあったとして、
char *bytecode=buffer;
//bytecodeを4byteづつ抜き出して中身をチェックしたい
for(int i=0;i<buffer_length;i+=4) {
checkbyte(bytecode+i);
}
好みによってはこんな書き方をする人もいると思います。個人的にはどのアドレスを見ているかがわかりやすい上が好きだけど、こういっちゃなんですがどっちでもいいです。
//bytecodeを4byteづつ抜き出して中身をチェックしたい。とりあえずbuffer_lengthは4byte区切りだと思ってください。
for(char *current = bytecode;current != bytecode + buffer_length; current += 4) {
checkbyte(current);
}
ここに対してAさん「(上の書き方があまり好きじゃないから)何故その書き方にしたの!?理由は?」と指摘がはじまる。
もし私がレビュー参加者ならAさんに指摘理由を聞き、Aさんとレビューイ双方が納得いく形を模索したいところですが、Aさんのこだわりが強いと
「何故私のやり方では駄目なのか!」と譲らず、結局Aさんの意見が通るという形になることが多々あります。
この例はコードの書き方なので対した問題ではないですが、以下のような責任や役割分担が絡む場面でこだわりを発揮されると収めどころにいつも困ってしまう。
- 会社間でのレビュー
- 仕様、要件面での調整
変に無理は通さず収めようとして or 無理なものは無理と伝えたやり方が下手で、火に油を注いだりしたことも多数。うーん、難しい
「Respect(尊敬)」が過度になり「Ruler(支配者)」を生む
相手を尊敬し、敬意をもって接するのは素晴らしいことです。
ただ現場によっては経験の長い人等特定の人への尊敬が行き過ぎて、「まずはこの人の意見を聞いてみないと不安」みたいなご意見番が出来上がるなんてことを見かけることがあります。
また、経験のある技術者であればそれ相応にこだわりを持っていたりしますよね。
結果、こだわりのある技術者の意見を通さないと次に進めないという構図が出来上がり、「どうすればあの人の意見に合うだろう」ということばかり考えるような、現場の支配者による統治が生まれてしまうなんてことも。
特定の人だけでなく全員に対して尊敬を払い、対等に意見を言い合える現場を作っていきたいものです。うーん、難しい
「Trust(信頼)」が過度になり「Tired(疲れた)」
これは私個人が今一番直したいところでもあるんですが、後輩や同僚に対して相手を信頼しすぎて
相手への信頼⇒期待⇒期待が過度に⇒プレッシャー
へと変異してしまい、結果**(私の信頼感から生まれた)プレッシャーで相手を追い込み成長を阻害してしまう**ことがあります。やってしまったと後で振り返れるシーンがあったのはまだいいですが、多分気付いていない部分で意図せず人を傷つけてしまったことが沢山あるんだろうなと予想できます。
もう本当に後悔しかない。うーん、難しい
どうすればよかったのか
答えは何年生きても出ないと思いますが、自分なりの反省点をまとめます。
前提: 優しい世界になるのは全員の意識共有が必要
HRTが通用しない方も一定数います。またこちらがHRTを実践している!と思っているだけで相手にそれが伝わっていなければ意味がありません。
常に優しい世界で世界が回っている、回せているわけではないので、その前提はきちんと認識しておかないと。
「Humility(謙虚)」、時には「Heroic(勇敢)」に
声の強い方に対して譲れる部分は譲ればいいです。ですがここは譲れないという部分に対しては、自分を「Trust(信頼)」し、毅然とした態度を取る。
譲れない場面については「Heroic(勇敢)」に立ち向かう。
「謙虚に振る舞い場を収める」と「譲れない部分に対して勇敢に立ち向かう」のバランスをとってふるまうことが出来れば、全員にとってよりよいプロジェクト進行が出来るはず!
「Respect(尊敬)」、ある程度は「Reasonable(合理的)」に
尊敬・敬意は特定の人に対して贈るのではなく、全員に贈るべきものだと思います。また、みんなが尊敬する相手が常に正しいことを言っているとも限らない。
自分や他者の意見も「Trust(信頼)」して、またもし自分がRespectされる立場だったとしても「Humility(謙虚)」を忘れずに、その場その場で「Reasonable(合理的)」な判断を心がければ、皆が対等なプロジェクトになるはず!
「Trust(信頼)」、偏らないよう「Thoughtfulness(思いやり)」を
相手に信頼を寄せすぎて疲れさせてしまわない為には?まずそのような状況にならないよう「Thoughtfulness(思いやり)」を持って接する。
負担がかかっているのであれば周囲がサポートできるよう状況を「Transmit(伝え)」、周りが負担を「Take over(肩代わり)」出来るようにする。
そうですよね、支えあったり刺激を受けながら開発出来るからこそ、大変ながらもチーム開発は面白いんですよ!
モチベーション低下なら「Trust(信頼)」を「Transmit(伝える)」のもいいかも
先ほどのアンサーは「過度な期待・プレッシャー」⇒「負荷向上」⇒「Tired」というケースに対してのものですが、
「過度な期待・プレッシャー」⇒「モチベーションの低下」⇒「Tired」というケースならきちんと「Transmit(伝える)」のがいいかもしれません。
私が勝手に相手を信頼して、勝手に相手に対して期待を込めても、それが相手に伝わらなければ意味がないです。
「Transmit(伝える)」ことを意識し、「tactical(戦術的)」な仕事の振り方を考えた上で行動に移す。
相手のモチベーションを保つためにどうするべきかをしっかり考えた上で行動に移す必要がありますね。
最後に~HRT、3つで1つ・全員にシェア出来れば失敗は減らせるかも
一通りまとめて感じたことは、HRTそれぞれが単独で存在しているわけではなく、3つが地続きで繋がっている。各ポリシーの裏で別のポリシーも保つ。
また、全てのことを周りに対しても自分に対しても実践する、思いやりを持った環境を作れるよう周りと考えをシェアすることが出来れば、どれかが行き過ぎて失敗するということは減らせる気がしました。
技術者が働く上で技術的な悩みは自分の中でどうとでもなるけど、人間関係の悩みはどれだけ技術や経験を積んでも必ず付きまといます。
今後も同じような失敗に出会うことは沢山あると思うけど、参加したプロジェクトがHRTの浸透した場所になるよう、出来ることはやっていこう!
また、私自身を振り返るきっかけを作ってくださった皆さまありがとうございます。
さあ、ポエムはこのくらいにして、マイナーでもいいから技術記事を投稿するぞ!
参考(この記事を書こうと思ったきっかけ)
Qiitaの記事には絶対コメントを付けてはいけない (わけがない)
その他考えさせられるところのあったいくつかの自分 or 他の方のコメント(リンクは割愛させていただきます)
※2018/10/23
@taptappun さんのコメントを受けて「Trust(信頼)」⇒「Tired(疲れた)」の対策を「Thoughtfulness(思いやり)」に変更。
「Transmit(伝える)」は1例に移動。(アドバイスありがとうございます)
2018/10/21 追記
色々なコメントを受けてどうしても書きたいことが出てきたので追記
「Respect(尊敬)」、「Trust(信頼)」がどうしてもできない相手に対して
記事の前提でふれたように、どうやってもHRTが通用しない方、やっぱりいます。
どうやっても悪意で返してくる、どうやっても自分が「Respect(尊敬)」、「Trust(信頼)」出来ない人。
そういった人に対しても常にHRTの姿勢で対面し続けよう、そうすればいつかは改善してくれる!
なんていうのは正直理想論にしかすぎません。
じゃあどうしようというのも答えが出ませんが、一例として思ったことを挙げさせてもらいます。
課題を分離し、自分の課題としてのHRTを実践しませんか?
嫌われる勇気というアドラー心理学について書かれた本があります。
その中に出てくる課題の分離。簡単に説明するとこんな感じです。
- 課題には「自分の課題」、「他者の課題」があり、「自分に対する課題を解決出来るのは自分のみ」
- 課題を上記に分離し、「自分の課題は自分で決断を下す」、「他者がどう他者の課題に対応したかは介入しない」(出来るのは勧めることだけ)
HRTの件に対して課題を分離していくと、以下のようになりますかね(太字は自分の課題)
- 自分はHRTを持って相手に接する。
- 自分は周りにもHRTを持ってもらいたいと行動を起こす。
- 結果一部の人は明らかに「Respect(尊敬)」、「Trust(信頼)」を持たない振る舞いを続ける (相手の課題)
- 「Respect(尊敬)」、「Trust(信頼)」を持たない一部の相手に対してどうするかを選択する。
この1, 2, 4といった課題に対しては、自分でどうするか選択することが可能です。
例えばこれで4に対する選択として「一部の相手と距離を置く」という選択をしたとしても、1の自分がHRTを持っているということに矛盾はないはずです。
人類総HRT化計画は無理でも、自分の課題に対してHRTの実践を選択することならはじめられるのではないでしょうか?
"「Respect(尊敬)」、「Trust(信頼)」に値しない"人とは?
この記事でもいただきましたし、他の記事でも見かけたことがあるこの言葉。
「Respect(尊敬)」、「Trust(信頼)」に値しない人。一体どのような人のことを指すのでしょうか?
HRTをどうやっても持たない人は値しない? ⇒それはそう判断してもしょうがないかも
私の中では上で書いた"明らかに相手に「Respect(尊敬)」、「Trust(信頼)」を持たない振る舞いを続ける"人が該当するのかなと考えています。
攻撃的で「どうしてもこの人の敵意には耐えられない、無理」となる人。
そういう方に対しては、距離を置く選択を取らないと自分が壊れてしまいますし、無理に「Respect(尊敬)」、「Trust(信頼)」しろとは思いません。
それが相手の選択結果ですしもうしょうがないです。
自分より知識や経験のない人は値しない? ⇒それは違うよ
ただ、中には自分より知識や経験のない人を"「Respect(尊敬)」、「Trust(信頼)」に値しない"とみているのかな?と思う場面があったりします。
(特に経験の浅い方の書く記事に対するコメントのような場面)
こういった経験、知識の有無を"「Respect(尊敬)」、「Trust(信頼)」に値しない"としている人がいるとしたら、それに私は同意できません。
経験が無い若手に対しても相手の考え方や態度、生活スタイルなどなんでも参考になるし、経験の有無だけで勝手にマウントを取るやり方はHumility(謙虚)に欠ける態度ではないかと思います。
恐らくですが、QiitaガイドラインにHRTが掲げられているのも、こういった姿勢を取られる方への注意が含まれているのではないかと思います。
私も実はやらかしている…
これは記事を書くきっかけになった1つである、自分がコメントでやらかした体験談でもあります。
私も(恐らく)自分より経験の浅いQiita投稿者に対して、初記事から自分と違う観点が興味深かったため、よくコメントしていました。
しかしその時のコメントを今思い返すと「Respect(尊敬)」を欠いており、結果その投稿者は記事を削除してしまったということがありました。
記事を削除されて思い返して後悔しても時すでに遅し。
あの時投稿していた方がこの記事を見ているかわかりませんが、あの時は私の意見、考えを押し付けてしまい申し訳ありませんでした。
参考
嫌われる勇気(amazonへのリンク)
新人プログラマ応援タグをつけた理由も追記:サーチライト/筋肉少女帯より抜粋
俺の歌とペンが
サーチライトになるんだ
俺みたいになるなよ
考えてやるのさ
俺みたいになるなよ 俺みたいになるなよ 俺みたいにはなるなよ 俺みたいには なるなよ