WHITEPLUS TechBlog

株式会社ホワイトプラスのエンジニアによる開発ブログです。

コロナ禍におけるペアプログラミングのお話し

この記事はWHITEPLUS Advent Calendar 2020の15日目の記事です。

はじめに

こんにちは、ホワイトプラスでクリーニング生産パートナー向けシステム等を開発しているinouehiです。

私たちのチームではアジャイル(スクラム)で開発を運営しており、ペアプロを導入しています。ペアプロには、プログラム品質の向上、技術や業務知識の共有、標準化などのメリットがある一方で辛い部分もあります。(私はメリットの方が大きいと考えています。)

ところで、コロナの流行を受けて当社ではリモートワークを推奨しており、会社にはほとんど行っていません。

というわけで今日は、これまでに感じたリモートワークならではのペアプロのペインポイント(辛いところ)と対策について書いてみようと思います。

想定読者

  • リモートワークにおけるコミュニケーションに興味をお持ちの方
  • ペアプロに興味をお持ちの方
  • ホワイトプラスに興味をお持ちの方

その前にペアプロってなによ?

ペアプロとは2人がかりでプログラムを作る手法です。

ドライバとナビゲータに役割分担します。ドライバが主体となりプログラムを書きます。ナビゲータは、設計全体に気を配りドライバをサポートします。いわば、ドライバは木を見る人、ナビゲータは森を見る人で、二人力を合わせて課題に取り組みます。素敵な手法ですね。

詳細は他に譲ります。

本題~リモートペアプロのペインポイント~

大画面がアダとなる

我が家ではMacBook Proに34インチウルトラワイドモニタをつなげて開発を行っています。作業スペースが広くて快適な上、インテリアとしてもパンチが効いていて気分が上がります。

しかし、これがリモートワークとなるとアダとなります。相手の小さい画面に映すために、映像が縮みます。こっちの画面がなまじ大きいと、あっちに映る文字がとっても小さくなります。

これを解決するには、相手にもウルトラワイドモニタを導入してもらうか、目を鍛えてもらうのが効果的でしょう。しかし、もっと効果的なのは自分の行動を改めることだと気付いた私は、ペアプロの時、Macの画面を共有するようにしてみました。すると、相手は見やすくなりましたが、私は若干面倒なことに気が付きました。大画面で開いていたウィンドウ達をいちいちMacに移動させなければならないからです。なまじ画面が大きいため、ウルトラ遠くて面倒なのです。この時の私はまだ気付いていませんでした、zoomの部分共有機能を使えばよいということに。

些細なコミュニケーションが消失している

画面を指さして説明する、ホワイトボードに絵を書いて説明する、相手の手の動きや表情などの微妙な変化を見る、感じる、そして相手の様子を見ながらコミュニケーションのペースを計るなどといった対面では当たり前にしてきたことができにくくなります。当たり前だったがゆえに、リモートにおいても反射的に体(頭)がそのように動こうとします、が、できないため(無意識的に)ストレスになっているかもしれません。ひとつひとつは些細なことでも、積み重なるとストレスになり、億劫になり、気分が下がり、生産性が下がるかもしれません。またあるいは、当たり前すぎて、些細過ぎて、そのような習慣が消失したことに気づかないケース(気づかぬうちにストレスが発生しているケース)もあるかもしれません。

その他にも例えば、対面ならば横にいるはずの人が正面にいることで、いつも以上に圧迫感を(無意識的に)感じているかもしれません。あるいは、隣にいる時よりも画面越しの方が声を掛けるという行為に心理的ハードルがあり、結果的にコミュニケーションが減っているかもしれません。私は、このような些細なことが実はバカにならないのではないかと睨んでいます。知らんけど。

これを解決するには、意識的にコミュニケーションに気を遣う必要があるでしょう。しかし、心遣いだけでは心許ないですし、仕組みで解決することも考えてみました。画面の指さしに関しては、zoomの注釈機能が使えそうです。絵を使ったコミュニケーションについては、ペンタブレット、JamboardやMiroが役に立ちそうです。コーディングの説明については、IDE(例えばIntelliJのCode With MeやVSCodeのLive Share)やzoomのリモート操作機能がよさそうですね。

さて、と言いつつ心遣いもやっぱり大事なんじゃないかと私は考えています。知らんけど。笑
対面との違いを自覚し、不都合を乗り越えようとする心意気を持つとか。双方が互いに話しやすい雰囲気を作ろうと心掛けるとか。聞き手は理解するために、話し手には理解させるために努力そして工夫するとか。そのような態度がまずあって、はじめてツールがいかされるんじゃないかと思ってみたり。心掛けってめちゃ大事。

ちなみに当社では『心遣いで仲間を笑顔にする』など3つのバリューを大切にしています。(デザインも素敵なので是非ご覧になって欲しい。)

単純に声が聞こえにくい

まあ、何十キロも離れた場所から会話できること自体奇跡のようなもので、テクノロジー万歳なんですが、とはいえ、マイクとネットワークとスピーカー越しに届く相手の声はやはり聞き取りづらい。音がこもっているというか。(私の鼓膜が特殊という個別事情のせいかもしれませんが…)この点は、ノイズキャンセリングイヤホンやネックスピーカーによって大いに改善されると感じています。テクノロジー万歳。

他にもペインがありますか?

アート・オブ・アジャイル デベロップメント』によると、そもそもペアプロとリモートワークって相性が悪いと考えられていたようだし、チャレンジングな取り組みなのかもしれない。出版当時は今ほどツールが充実していなかったということもあるとは思いますが。(つまり、ツールを使いこなさないと、うまくいかない可能性が高まるということでもありそう。)

とはいえこのご時世、リモートでペアプロって珍しくないんだろうなあ。あなたが感じているペインや工夫もシェアしていただけるとありがたいです!

まとめ

エンジニアは技術やコンピュータと向き合う仕事、ロジカルで理屈っぽく進める仕事と言われることが多く、確かにと思う部分もあるのですが、人と向き合うことも同様に大切で、仕事を進めるためには理屈だけじゃなく感情や感性、心遣いといった類のものが殊更重要であるということに、この仕事を始めて気づきました。ペアプロも然りと感じます。
それと、課題があれば解決策もある世の中だなあとも思います。先人たちが用意してくれたツールや手法を駆使して、快適に開発を進めてゆきたいと思います。 そして、『新しい日常をつくる』というビジョンを実現すべく邁進したいと思います。快適な世の中をつくりたいですね。

さいごに

ホワイトプラスでは、ビジョンバリューに共感していただけるエンジニアを募集しています。

採用情報 | 株式会社ホワイトプラス