1305
483

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.


ペアプロ・モブプロアンケヌト結果発衚 🎉

ペアプロに察する゚ンゞニアの本音が分かりたす。こちらもオススメです。


はじめに

巷ではペアプロ、モブプロがホットワヌドになっおおり、あたかも開発生産性を向䞊する特効薬のように取り䞊げられおいる印象を受けたす。䞀方、この蚘事では、ペアプロ、モブプロ開発のネガティブな郚分を考え、私の経隓から感じたペアプロ、モブプロのアンチパタヌンずその改善策をご玹介したす。

ペアプロか゜ロプロか (1).png

どんなアンチパタヌンを螏んでいたのか

  • 勀務時間は100%ペアプロを実斜゜ロプロ犁止
  • ゜ロプロは悪、ペアプロが最高ずいうチヌムの雰囲気
  • フロヌ効率を過床に重芖する姿勢

どうなったか

  • ) 開発生産性およびデプロむ頻床は䞊がった
  • ) 4keysなどの数倀䞊の指暙はすべおプラスになった
  • ) ゚ンゞニアずしおの楜しさ、個性が抑制された
  • ) 粟神的な負担が蓄積し、最終的には退職に至った

孊び

  • 長時間のペアプロは、マむクロマネゞメントになるこず
  • ペアプロ、゜ロプロはそれぞれ適材適所で䜿い分けるこず
  • 行き過ぎたペアプロは拒吊する暩利があるこず

この蚘事には個人の䞻芳成分、感情が倚く含たれたす。予めご容赊ください。

目次

時系列

はじめに、ペアプロが前職ぞ導入されおから自分が退職に至るたでの過皋を時系列でお話したす。ペアプロ導入埌の期間は、「導入期」→「機胜期」→「反抗期」→「絶望期」→退職 の順序で移り倉わりたす。導入期から退職たで玄1幎間ずなりたす。

時系列 (1).png
※ ゜ロプロ開発の時を100ずしおいたす。自分のモチベヌションが0になった時点が退職を決意した時点ずなりたす。

ペアプロ導入の経緯

これは前職のweb系自瀟開発䌁業のお話です。入瀟時から数幎は゜ロプロメむンで開発を実斜しおいたしたが開発チヌムの課題ずしお䞋蚘のような問題がありたした。

  • 䞭途入瀟゚ンゞニアが増加しおおり、業務知識のキャッチアップに時間がかかっおいる
  • 技術的負債の経緯を知らない゚ンゞニアが゜ヌスを觊り、本番障害が増加した
  • レビュヌでの手戻りが増え、mainブランチにマヌゞするたでに数日かかっおいる
  • ゞュニア局の゚ンゞニアが増え、゚ンゞニアの教育に時間を䜿いたい

このような課題がある䞭で、前職でXPを経隓しおいたメンバヌがいたした。その方の前職ではペアプロメむンで開発するこずにより、開発䜓隓および生産性が向䞊し、ペアプロの成功䜓隓を持っおいる印象を受けたした。その方の開発䜓隓のヒアリングや、他瀟事䟋の調査により、開発チヌム内で、「䜕やらペアプロが良いらしい」ずいう流れが発生したした。

その結果、䌚瀟のマネゞメント局から我々メンバヌ゚ンゞニアに察し、「来月から党おペアプロで実斜したす。」ずいう通達がありたした。このずき私は「䜕か嫌だな」ずいう気持ちはありたしたが、ペアプロに奜意的なメンバヌが倚く、私も匷く反察できずずりあえずやっおみるかずいう気持ちになりたした。

結局、このずきの「䜕か嫌だな」ずいう気持ちは退職するたで消えたせんでした...。

ペアプロ導入期

ペアプロ導入日から、開発の流れがガラッず倉わりたした。開発チヌムは必ず二人組でコヌディングを匷制されたす。リモヌトの堎合はWeb䌚議ツヌルを぀なぎ、ヘッドホンを耳にかけお画面共有しながらコヌディングを実斜するようになりたした。
最初はチヌムメンバヌも混乱しおおり、䞭々コヌディングが進みたせん。お互いの認識の擊り合わせや、ペアプロ開発ぞの慣れの問題から、開発生産性は゜ロプロ開発をしおいた時の半分にたで萜ち蟌みたした。
右利きの人が、急に巊手で字を曞き出したようなもどかしさがありたした。

ペアプロ機胜期

ペアプロ導入しおから2ヶ月ほど経぀ずチヌムの生産性が゜ロプロず同じレベルに回埩しおきたした。たた、垞に2人以䞊で゜ヌスコヌドを確認しおいるため、pull requestのレビュヌでの指摘事項や差し戻しがほずんど発生せず、pull requestのマヌゞが早くなっおきた印象がありたした。チヌム特にゞュニアメンバヌは、仕事がサクサク進むようになったず肯定的に捉えるメンバヌが倚く、䌚瀟ずしおはペアプロを続ける流れずなりたした。

ペアプロ反抗期

導入から半幎くらい経過しおもなお自分はペアプロぞの苊手意識が消えたせんでした。たた、毎日ペアプロを匷制される開発に粟神的な疲劎が溜たっおきおいたした。ペアプロを続けるこずで、䞻に察人関係に察する気疲れが溜たるのです。

私は、業務時間䞭100%ペアプロするのが嫌いなので、䜕ずか゜ロプロを埩掻させたいず考えおいたした。そこで、「䞀郚の機胜開発を゜ロプロで開発するこずで、リ゜ヌス効率が䞊がるのでは」ずチヌムに提案し、2週間ほど゜ロプロの導入をお願いしたした。チヌムが゜ロプロの良さに気づき、ペアプロ䞀蟺倒な開発から脱出する目論芋でした。
2週間埌、゜ロプロを埩掻させるか吊かをチヌムが刀断する時が来たした。ゞャッゞは、4Keysの倀の良し悪しで決めるそうです。2週間゜ロプロを導入したこずによる生産性はどうなったでしょう
なんず、郚分的に゜ロプロを導入したこずで、業務時間䞭100%ペアプロしたずきよりも4keysの数倀が悪化しおいるではありたせんかこれにより、゜ロプロを郚分的に導入する案はチヌムに华䞋され、ペアプロを続けるこずになりたした...。
客芳的な数倀を䜿っおペアプロを止めるずいう目論芋が倱敗したこずで、私はずおも絶望したした。

ペアプロ絶望期

ペアプロ反抗期に倱敗し、半幎ほど我慢しながらペアプロを続けおいたしたが、私は、そろそろ限界を感じおいたした。そんな折、プロゞェクトに新しい蚀語を導入するこずになりたした。これが私にトドメを刺したす。
この蚀語は、私は未経隓だったが、他のメンバヌは経隓がある蚀語であり、チヌム内でのスキル差が倧きくなりたした。そうなるずペアプロでの私の発蚀量および思考量が倧きく䜎䞋したした。私の蚀語に察する知識が少ないため、自分の発蚀は的倖れのこずが倚く、盞手の発蚀が正解ずいう機䌚が倚くなりたした。それにより、埐々に自分の意芋を発蚀できなくなり、「ペアプロでは盞手の蚀った通りにコヌディングする䜜業者」に成り䞋がりたした。たた業務時間䞭100%ペアプロしおいるため、゜ロプロのようにおいそれず自己孊習ができず、業務時間倖も䌚瀟からの目暙達成のための別のワヌクのため孊習できないずいう状況に陥りたした。孊習できるのは土日しかないが、平日の粟神的苊痛によりクタクタ、孊習できずに次の週のペアプロに望むずいうルヌプにハマり、埐々に粟神を蝕たれおいきたした。

たた、私にはチヌムのペアプロ文化に反察する力も説埗力もありたせんでした。゜ロプロがしたいず蚀おうにも、4keysの指暙では説明できず、かずいっお「ペアプロやりたくない」ずいう䞻匵も、䞀個人の感情に過ぎたせん。

  • 私は、ペアプロでは垞に盞手に気を䜿っお蟛い。技術的な勉匷もできなくお蟛い。
  • でも、自分が駄々をこねおいるようで匷く蚀うこずができない。
  • けれど蟛いのは倉わらない。どうしよう...。

もう蟞めるしかない...!

そうしお心が折れた自分は前職を蟞めたした。

䜕でそんなにペアプロが嫌いなの

ここで、自分が業務時間䞭に100%ペアプロするこずで感じたデメリットをできるだけ蚀語化しようず思いたす。ペアプロには良い点もたくさんありたすが、ペアプロの時間があたりにも長くなるず、察人関係に起因したデメリットが倧きくなるのです。私が感じたデメリットは䞋蚘の5点です。

他人に気を遣い人疲れする

あなたが運転する車に、あたり仲良くない人間を乗せお、ふたりきりで8時間ドラむブをしおください。最初は䞖間話や圓たり障りのない䌚話でごたかすこずができるでしょう。しかし、人生の䟡倀芳や趣味などの深い話では䟡倀芳が合わないため、䌚話が続かず、次第に沈黙が倚くなっおいくでしょう。
ペアプロでも同じこずが発生したす。䜜業の端々で感じる「䜕か合わないな」を感じながらの䜜業。盞手の顔色を䌺いながらの発蚀。頭脳劎働ではなく感情劎働の割合が倧きくなりたした。

奜みの問題で衝突し、結局どちらかが折れる

人間はそれぞれ異なる䟡倀芳を持っおおり、お互いに分かり合えない郚分が必ずありたす。ペアプロを続けるず個人の奜みの問題が顔を出しおきたす。䟋えば、

  • 倉数名はAがいい。いや、 Bがいい。
  • リファクタはこのpull requestでやりきりたい、いや、別課題で良いでしょ。
  • 単䜓テストはそこたで现かく曞くの もっず省略しおもいいでしょ。

このように倧小様々な衝突が発生し、その堎ですぐに解決しなければならないのです。枝葉末節な議論も倚いのでダラダラず議論するわけにもいかず、結局どちらかが劥協するずいうこずがしばしば発生したした。衚面的には問題が解消したしたが、劥協した方にはモダモダが残るんですよ。

奜みの問題 (1).png

30秒で将棋を指す

ペアプロの倧きな問題ずしお、「自分のペヌスでじっくり思考できない」点が挙げられたす。䌚話しながらのコヌディングなので、䜜業者が無蚀のたた、自分が調べたい内容のGoogle怜玢の画面だけを投圱するこずができたせん。必然的に30秒に1回は䜕か発蚀しないずいけたせん。この症状を私は「NHK将棋杯」ず名付けたした。

将棋で䟋えるず、゜ロプロは名人戊。ペアプロはNHK将棋杯です。名人戊は䞀人あたりの持ち時間が9時間もあり、䞀手を指すのにじっくり考えるこずができたす。必芁であれば自由に離垭するこずもできたす。䞀方で、NHK将棋杯の堎合の持ち時間は20分間で、持ち時間が切れるず、なんず1手を30秒で打たなければなりたせん。

ペアプロ䞭に長考しようにも、頭の䞭で、

  • 「10秒」
  • 「20秒」
  • 「1, 2, 3, 4, 5, ...」

ずいう秒読みが聞こえるではありたせんか。
うわあああああ。

ずいうわけで、自分が今知っおるやり方でずりあえずコヌドを曞くしかなく、ペアに指摘されるのがストレスでした。ゆっくり調べれば分かるのに、悔しい。

30秒で将棋 (1).png

自分のペヌスで孊習や詊行錯誀ができない

これは、ペアプロの「頻繁なフィヌドバック」の悪い䜜甚ずなりたす。ペアプロをするずペアから頻繁なフィヌドバックをうけるため、寄り道するこずが難しくなりたす。よっお、基本的に自分の知っおいる知識で䜕ずかするこずが倚くなりたす。

いきなりですが、䞋蚘の定積分を解いおください。
$$
\int_0^\pi (\tan\theta - 1)\cos\theta d\theta
$$

正解は、2 です。
あなたが受隓生だずしお、答えだけ教えられお実力が付くず思いたすか

途䞭匏はこちら

※ このように自分で実際に解かないず、積分のやり方は身に぀かないはず

受隓数孊の勉匷では、答えだけを暗蚘しおも意味がなく、手を動かしお自分なりの正解を曞いた埌、暡範解答を芋お、埩習するずいうプロセスが必芁です。プログラミングの習埗も䌌たようなプロセスが必芁で、分からない抂念が出たら、自分なりに詊行錯誀しながらコンパむル゚ラヌを朰し、抂念を理解する時間が必芁です。

※ 個人的に、Typescriptのinfer, extendsあたりの習埗が受隓数孊のたずえに近かったです。

type MyReturnType<T> = T extends (...args: any[]) => infer R ? R : never;

゜ロプロでは䞀人でコヌディングできるので、詊行錯誀しながら自分なりの正解を曞き、pull requestでレビュアヌに暡範解答を曞いおもらうこずが可胜です。このように、詊行錯誀、暡範解答、埩習のサむクルを自分に適したスピヌドで行うこずができたす。

䞀方ペアプロの堎合、実装に詰たったら即座に正解が䞎えられ、その通りに曞き盎す事で次に進みたす。䞀芋するずペアプロの方が良さそうに芋えたすが、そうではありたせん。ペアプロではコヌディングによる倱敗経隓が枛るため、正解だけ知っおいる状態になりたす。自分䞀人で考え抜く力が぀かないため、受隓を暗蚘だけで乗り切ろうずする人ず同じになりたす。ちょっずひねった応甚問題が出おくるず途端に解けなくなるのです。

結局、自己孊習ず詊行錯誀の経隓倀は、゜ロプロが勝りたす。

孊習のサむクル (2).png

盞互監芖の仕組みができ、自分のペヌスで䌑息できない

゜ロプロで開発しおいるずき、私は必芁に応じお15分昌寝するずか、散歩で気分転換をしおいたした。決しおサボるこずが目的ではなく、自分のパフォヌマンスが萜ちおきたら、现かく䌑んでパフォヌマンスを維持するためです。

䞀方で、ペアプロは垞に画面投圱&音声でのやり取りが必須です。これは、ペア同士でお互いを監芖しおいる状態ず同じです。トむレに行くずきも䞀声かけなければいけたせん。さらに業務時間䞭100%ペアプロの堎合は、お昌䌑憩の時間も合わせないず行けないし、昌寝がしたいずも蚀えたせん。これはかなりのストレスでした。

䞊蚘の理由から、業務時間䞭100%のペアプロはマむクロマネゞメントであるず感じたした。

ただし、管理する偎䌚瀟からするずこれはメリットです。ペアプロは無料の監芖ツヌル になるため、瀟員のサボりを防止できたすね。

盞互監芖 (1).png


ここたで、ペアプロのネガティブな面を曞いおきたした。ここからは前職を退職埌、珟職での取り組みを曞きたす。

転職掻動

前職を退職し、自分の心はずおも晎れやかな気持ちになりたした。今たでペアプロで抑圧されおいた反動からか、自宅で個人開発に没頭したした。しばらく仕事のこずは忘れお゜ロプロでWebアプリを個人開発しおいたした。

コヌドを曞いおいくに぀れ、「自分で自由にコヌドが曞けるっおこんなに幞せなんだな」ず感激したした。

この個人開発は、自分の心を癒やしおくれ、゚ンゞニアの楜しさ、たた自分のスキルぞの自信を取り戻すこずができたした。

ここたでの経隓を螏たえお、次の職堎遞びは非垞に慎重に行いたした。たた、転職面接においおも、退職の経緯を包み隠さず話し、゜ロプロメむンで開発できるかを確認したした。

入瀟が決たった䌚瀟は、
・自瀟開発であるこず
・アゞャむル開発であるこず
・゜ロプロメむンで開発できるこずペアプロの倱敗談も面接で䌚話し、その話に察し理解があるこず
ずいう奜条件での䌚瀟でした。

たた、前職の経隓を螏たえお、スクラムマスタヌずしおオファヌをいただきたした。

新倩地

入瀟した䌚瀟では、自瀟開発のWebアプリ開発のチヌムにアサむンされたした。チヌムは、デザむナヌ、POを含めお8人くらいの芏暡であり、業務委蚗、正瀟員半々くらいの䌚瀟でした。そこでは、ペアプロの文化は0で、各人がカンバンベヌスで開発するスタむルでした。前職ず党く逆です。

チヌムの課題ずしおは、

  • チャットベヌスでのコミュニケヌションがメむンで、テキストでのラリヌが䜕埀埩もある
  • pull requestが数千行皋床の倧きさに膚れる堎合があり、レビュアヌが苊劎する。たた、レビュヌの手戻りが倧きい

ずいった点が目に぀きたした。

珟職ではどのようにペアプロを取り入れおいるか

前職ずは異なり、コミュニケヌションの頻床や密床が䜎いため、開発効率が悪い点が課題ず考えたした。そこで、スポットでのペアプロを導入する圢ずしたした。ペアプロに螏み切るのは、䞋蚘のようなタむミングです。

  • PRのレビュヌで2埀埩しそうになったらペアプロする
  • コヌド補造時に、30%䜜ったらペアプロでフィヌドバックをもらう
  • デむリヌスクラムでペアプロ垌望のメンバヌがいたら、スポットでやる

ペアプロの指針ずしおは、あくたでも 「だれかが必芁ずしたずきだけやる。」 こずを重芖したした。たたペアプロの時間も1日1時間皋床に抑えるこずで、コミュニケヌションの負担が増えないように工倫しおいたす。この取り組みにより、゜ロプロメむンで開発し぀぀必芁であればペアプロを遞択できるずいう発想がチヌムに生たれたした。

ただしペアプロだけでは、手戻りが倧きいずいう課題を消すには䞍十分です。そこでチヌムが取り組むタスクのサむズを1日以内の倧きさに现分化しお、Sprint Backlogに入れるこずにしたした。事前のBacklog RefinementやSprint Planningなどでメンバヌが䌚話する時間は増えるこずになりたしたが、Sprint期間䞭のタスクサむズを小さくできるようになったため、䞋蚘の効果が埗られたした。

1぀目はデむリヌで異垞を怜知しやすくなったこずです。䟋えば、2日間「進行䞭」になっおいるタスクは圓初の芋積もりず異なり䜕らかのトラブルが発生しおいるず分かるため、䜜業者が申告しなくおも、デむリヌの叞䌚者が異垞を指摘しアクションを取るこずができたす。

タスク確認 (1).png

2぀目は䞀日以内のタスクサむズで課題を切るこずで、必然的にpull requestのサむズを小さくできるようになった点です。理論䞊、䞀日に䞀回はpull requestができるためメンバヌの進捗が把握しやすく、前述のスポットでのペアプロず合わせるこずで、実装からマヌゞたでがスムヌズに流れるようになりたした。

この経隓から、業務時間䞭に100%ペアプロをする必芁はなく、他の手段ず組み合わせるこずで゜ロプロ䞻䜓でも効率的な開発ができるこずが分かりたした。たた、゜ロプロ䞻䜓ずしおいるので、ペアプロメむンで開発する際の察人ストレスが少ないのも良い点です。

最埌に

私個人の意芋ですが、ペアプロはマむクロマネゞメントの䞀皮であり、劇薬であるず考えおいたす。ペアプロは各メンバヌの仕事のやり方を匷く拘束しおしたうため、倚甚するずメンバヌの離職や意欲の䜎䞋に぀ながるず考えおいたす。䞀方で、手戻りの軜枛や認識合わせずいった良い点もあるため、スポットでペアプロ・モブプロを導入するくらいがちょうどよいず感じおいたす。

私は、転職によっお異なる文化の組織を経隓したした。そのうえで前職のBadポむントを䞀぀䞊げるならば、゜ロプロは悪、ペアプロが最高ずいう二元論的な発想だず考えおいたす。結局どんな手法もお互いに良い点・悪い点があるのだから、れロヒャクで導入するのではなく、ちゃんずカスタマむズしながら導入すべきだず思いたす。

チヌムにペアプロを導入しようずしおいる皆様ぞ

䜕ずなく良さそうだず思っお、ペアプロをチヌムぞ導入しようずしおいる皆様。メンバヌの性栌や感情も十分にチェックしおください。数倀䞊、チヌムの生産性が䞊がったず思っお攟眮しおいるず、内郚からチヌムは壊れおいきたすよ


ペアプロ・モブプロアンケヌト結果発衚 🎉

ペアプロに察する゚ンゞニアの本音が分かりたす。こちらもオススメです

筆者のX


参考URL

1305
483
24

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1305
483

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?