Lambdaカクテル

京都在住Webエンジニアの日記です

コードコミュニケーションによるMP減少を雑談で補充している

就業間際、ちょうどその日は疲れていたのでくたくたになっていていて、コードレビューの指摘を打ち返す気力が出ずに黙って修正を受け入れる、という感じになってしまうことがあるけど、当然同僚はコードを良くするためにレビューしているので、どっちが良いとか悪いという話ではない。一方でコードレビューで修正をどんどん突き付けられるとくたびれていくのも事実で、自分が人生の主導権を握っているという気持ちが薄らいでいき、流されるままの浮草のような気持ちになっていく。一番良いのはお互いに元気な状態でコードレビューをしてコードが最高の状態になっている、というものになるはず。

コードコミュニケーションとエネルギー

ここではざっくりと、レビューや仕様に関する会話、折衝、議論などをひっくるめてコードコミュニケーションと定義する。コードコミュニケーションを行うとエネルギーが減る。

例えばレビュイーとレビュワーとの意見が食い違ったときはバトルが行われることになる(バトルというのはあくまで比喩であり知的諧謔である)。でもこのバトルでは一種のエネルギーが減るので、どこかで補充しなければならない。エネルギーが切れてしまうと無気力になってしまったり、唯唯諾諾とレビュワーの修正を受け入れ続けたり、逆に無視してマージを強行しようとする、といった悪い行動に結び付いていく。エネルギーが足りていると、「いや俺はこう思うんだが??」といった反論によってより良い方向性にソフトウェアを誘導できる。

エネルギーの消耗局面

このエネルギーは何かというと、チームメンバーに対するなんらかの心理的信頼であったり、俺たちは良いソフトウェアを作るために働いているから「問題VS俺たち」なんだ、という共通の目的意識だろうと思う。難しい仕様や設計だと議論がうまく進まなかったり、意見がぜんぜん通らなかったり、メンバーごとの知識差が露出することになる。こうした内部的摩擦によってエネルギーが消耗していってしまう。このエネルギーはある意味、メンバー間の引力かもしれない。

例えばOSSだとこのエネルギーの既定値は低めだと思う。おそらく顔も知らない人間とコミュニケーションするので、意見の衝突がそのままメンバーの乖離につながったり、コミュニティの分裂を起こす。それが良き方向に働くこともあるけれど、多くのメンバーは腐心して丁寧に丁寧にコミュニケーションする。

このエネルギーがチーム全体で尽きかけると、敵対的行動が起こったり、そもそも退職したりといったことが起こって士気が瓦解する。

エネルギーの回復局面

さて、この自分のチームでは金曜日の夕方に茶会を開いて、オンラインで雑談したりする時間を持っているのだけれど、これはエネルギーの補充に対応している(と、自分は勝手に思っている)。この場では厳しい議論は行なわない。最近見た面白いテックニュースや、動向についての話、飼っているネコの話などが行なわれる。

こうしたグルーミング的行動によって互いへの信頼が回復され、メンバーはまた快適に仕事に戻っていく。

人は石垣

ソフトウェア開発はコミュニケーション無用で"コミュ障"でも努まるといった言説はいまどき見聞きしなくなったが、すくなくとも自分の経験上では、ソフトウェア開発のかなりの部分は、他の仕事と同様に人から成っている。複数人で権限と責任を分掌して共通の目的を達成しなければならない。それはまぎれもなくチームワークである。

特にオチなし。

Webアプリケーション開発関連の記事を投稿しています.読者になってみませんか?