Upgrade to Pro — share decks privately, control downloads, hide ads and more …

【PhpStorm】モブプログラミングの実践と学び【結局はバランス?】

y-tsuzaki
September 24, 2022

 【PhpStorm】モブプログラミングの実践と学び【結局はバランス?】

PHPカンファレンス2022の登壇資料です

https://fortee.jp/phpcon-2022/proposal/911ccf1e-15b0-4465-a02e-f0e4e54aa2df

y-tsuzaki

September 24, 2022
Tweet

More Decks by y-tsuzaki

Other Decks in Programming

Transcript

  1. Copyright© M&Aクラウド 【PhpStorm】モブプログラミングの実践と学 び【結局はバランス?】 PHP Conference Japan 2022 M&Aクラウド プロダクト開発部

    つざき
  2. Copyright© M&Aクラウド 2 自己紹介 つざき M&Aクラウド所属 Webアプリケーション開発 /データ基盤構築(最近) Twitter: 820zacky

  3. Copyright© M&Aクラウド お品書き お品書き ・会社/開発チーム紹介 ・モブプログラミングとは ・なぜモブプロをやることにしたのか? ・毎日モブプロやってみた  ・やり方  ・メリット

     ・デメリット ・モブプロ撤退 ・まとめ 3
  4. Copyright© M&Aクラウド 会社説明 4

  5. Copyright© M&Aクラウド 求人広告サイトのような M&Aダイレクトマッチング 5 買い手
 ・案件報酬はM&A成功報酬のみ ・最低手数料なし ・売り手ソーシングのチャネルが増える ・M&Aニーズを発信するだけで売り手を集客

    ・仲介業者を介さずにダイレクトにやり取り可能 ・潜在層にもリーチが可能 手数料無料 ※プラットフォーム案件の場合 
 ※
 売り手 1.掲載する ・買い手のM&Aニーズを自ら調べることが可能 ・仲介業者を介さずにダイレクトにやり取り可能 ・買い手のM&A担当者に直接コンタクトをとれる ・仲介業者を使わないので手数料が無料 2.オファーする M&A・出資ニーズを掲載 買い手のメリット 売り手のメリット ・仲介業者を使わないので手数料が無料 
 〇〇領域の会社を 募集します この会社と一緒に やっていきたい! 5 PR
  6. Copyright© M&Aクラウド M&Aクラウドの開発チーム 現在、エンジニア8名 Laravel, Nuxt.js, Svelte Kitを使って開発をしてます 6

  7. Copyright© M&Aクラウド モブプログラミングとは 7

  8. Copyright© M&Aクラウド モブプログラミングとは モブプログラミング(モブプロ、モビング) 3人以上のエンジニアで 1つのプログラムを書き、チームで成果物を完成させる、チーム作業のテクニック 「 効果的なモブプログラミングからは、チームによるすばらしいソフトウェアが生まれる。欠陥が減り、キー パーソンに頼る部分が少なく、堅牢でじっくり考え抜かれたプログラムが高いフロー効率で完成していく のである。」

    モブプログラミング・ベストプラクティス より引用 8
  9. Copyright© M&Aクラウド なぜモブプロをやることにしたのか? 9

  10. Copyright© M&Aクラウド なぜモブプロをやることにしたのか? モブプロ導入前の生産性向上の試み ・PRレビュー時のペアプロ ・WIP制限 10

  11. Copyright© M&Aクラウド なぜモブプロをやることにしたのか? PRレビュー時のペアプロ 11

  12. Copyright© M&Aクラウド なぜモブプロをやることにしたのか? WIP制限 同時に作業する数を制限することで、各フェーズの問題点がわかりやすくなる。 マルチタスクがなくなって効率が上がる。 1人4ポイント以上同時に持ってはいけないルールにした。 12

  13. Copyright© M&Aクラウド なぜモブプロをやることにしたのか? PRレビュー時のペアプロとWIP制限の成果 サイクルタイムが減少した 3.0日->1.8日 ベロシティとの負の相関( -0.76)があることも確かめられた 13

  14. Copyright© M&Aクラウド なぜモブプロをやることにしたのか? PRレビュー時のペアプロとWIP制限の成果 → サイクルタイムが下がりベロシティが向上した → もっと共同作業してもっと WIPを減らすにはどうしたら? →モブプロをやってみよう!

    14
  15. Copyright© M&Aクラウド 毎日モブプロやってみた 15

  16. Copyright© M&Aクラウド モブプログラミングやってみた モブプログラミング・ベストプラクティス 16

  17. Copyright© M&Aクラウド モブプログラミングやってみた モブプログラミング・ベストプラクティス リソース効率よりもフロー効率 ←リソース効率を優先の例 道路をフルに使って大量に車を移動させる 渋滞が起こる ←フロー効率を優先 道路に余裕を持たせると渋滞が起こらない

    17
  18. Copyright© M&Aクラウド モブプログラミングやってみた モブプログラミング・ベストプラクティス ロール ・タイピスト(ドライバ) ・その他のモブ(ナビゲータ) タイピストはプログラマーではない タイピストが勝手にコードを書き進めてはいけない その他のモブがしてくれと言ったことを実現するスマートアシスタント

    18
  19. Copyright© M&Aクラウド モブプログラミングやってみた モブプログラミング・ベストプラクティス 進め方 ・10分でタイピスト交代 ・休憩  ・30分に一回: 5分  ・2,3時間に一回:

    15~20分  ・停滞したら都度休憩 19
  20. Copyright© M&Aクラウド - モブプロベストプラクティスでは物理オフィス、物理 PCを前提 - Code With Meを利用 -

    PhpStormで使える共同編集機能 - SlackのHuddle(音声通話)との併用 - Slackで呼びかけてシームレスに作業開始 - Code With Meがよくフリーズするので音声通話は別がよい モブプログラミングやってみた リモートでのモブプロ 20
  21. Copyright© M&Aクラウド • モブプロ参加者は3名(2チーム体制のうち1チームで実践) • 毎日やる • 基本的には10:00〜16:00のコアタイムで実施 • 進めるタスクは3人で1個

    • 期間:2ヶ月弱 モブプログラミングやってみた 実践方法 21
  22. Copyright© M&Aクラウド 毎日モブプロやってみてわかった メリット 22

  23. Copyright© M&Aクラウド モブプログラミングやってみた メリット • 複数人で問題解決した方がより良い答えがでる 
 • 未知領域、苦手領域のキャッチアップが楽に(属人性の改善) 


    • レビュー高速化
 • 開発知識の平滑化 23
  24. Copyright© M&Aクラウド モブプログラミングやってみた メリット: 複数人で問題解決した方がより良い答えがでる 体感として、話し合いの中でいいアイデアが浮かぶことが多い 
 1人でタスクを終わらせることばかり考えて実装していると、 
 つい安直で長期の保守性の悪い手法を選択しがち

    
 
 複数人で話し合う方が、「このタスクの目的はなんだっけ?」というところからしっかり考えて堅牢なコー ドが実装できる
 →計測できていないが、バグや障害の 減少、リファクタリングコストの減少など、長期的なリターンがあ ると感じている
 24
  25. Copyright© M&Aクラウド モブプログラミングやってみた メリット: 未知領域、苦手領域のキャッチアップが楽に(属人性の改善) 
 
 チームで一つのタスクに取り組むので「得意な人が得意なタスクを取る」みたいなことが 発生しない
 開発の属人性が減りスキルアップにもつながる


    
 25
  26. Copyright© M&Aクラウド モブプログラミングやってみた メリット: レビュー高速化 
 
 モブプロをしていないとレビューに時間がかかる
 ・「これってどういうタスクなんだっけ?」というところからスタート 


    ・チャットコミュニケーションの ラリー
 ・レビュー時にひっくり返る(作り直し) 
 
 → 一緒にタスクをやっているのでPRのレビューは
 サラッと差分を見直すだけで大抵すむ
 26
  27. Copyright© M&Aクラウド モブプログラミングやってみた メリット: 開発知識の平滑化 
 
 「え? PhpStormってこんな便利な機能があったんですか!?」 


    「こんなショートカットキーがあったのか!」 
 「◦◦さんの仕事の進め方勉強になるな・・・ 」
 
 など、一緒に作業してみると新しい発見がたくさん。 
 27
  28. Copyright© M&Aクラウド 毎日モブプロやってみてわかった デメリット 28

  29. Copyright© M&Aクラウド モブプログラミングやってみた デメリット ・ベロシティが下がった ・技術を深ぼる時間が取りづらい ・傍観者モードになってしま う ・人によって合う合わないがある 29

  30. Copyright© M&Aクラウド モブプログラミングやってみた デメリット:ベロシティが下がった チームのベロシティが下がった(約 20%低下) 3人で1タスクなので、勤務時間や家庭の事情、個別の会議などで時間が取れない時はタスクが進めら れなかった 単純計算だと3倍時間がかかる(ベロシティ 66%低下)はずだが

    20%に止まったのは、フロー効率の力を感じる まだまだモブプロのやり方に改善の余地があったので ずっと改善していけばベロシティは上がっていくかも・・・? 30
  31. Copyright© M&Aクラウド モブプログラミングやってみた デメリット:技術を深ぼる時間が取りづらい 1人でやっている時にはタスク完了にはそこまで影響しないけど技術的に気になったことを深掘りする時 間が取りやすいが モブプロをしていると、他の人が理解しているとそのままスルーしてしまうことがある 強い気持ちで「ここの技術的背景をもうちょっと深掘りたい」とチームに提案することが必要 31

  32. Copyright© M&Aクラウド モブプログラミングやってみた デメリット:傍観者モードになってしまう 気を抜くと、話についていけなくなったり、他人に考えることをおまかせしてしまう (とくに私。勤勉なエンジニアのみなさんには、この話は関係ないかもしれない) 集中が途切れないように休憩を提案したり、 流れを止めて「よく理解できなかったので詳しく教えてもらえますか」と質問する勇気が必要 32

  33. Copyright© M&Aクラウド モブプログラミングやってみた デメリット:人によって合う合わないがある チームが変わって新メンバーがモブプロをやることになったが、 1日中ずっと通話しながら作業をするのが嫌という声があった 一日中通話しっぱなしで仕事をすることを強要されると強いストレスを感じるのもわかる モブプロの理念の浸透、チームの成熟度とか、人の気質の相性とかも大事 33

  34. Copyright© M&Aクラウド モブプロの撤退 34

  35. Copyright© M&Aクラウド モブプロの撤退 正式なモブプロ採用は見送りに • ベロシティ悪化 • 火付け役(つざき)が開発から抜けた • 新メンバーからの不評(非同期でやりたい)

    35
  36. Copyright© M&Aクラウド モブプロの撤退 部分的にモブプロ実施 • タスクの着手時(設計相談・コードの調査) • PRレビュー • 開発知識の平滑化をしたいとき

    ◦ 難しいタスク、よく知らない機能をやるとき ◦ チーム体制が変わった時 36
  37. Copyright© M&Aクラウド 共同作業の量の変化 37

  38. Copyright© M&Aクラウド M&Aクラウドにおけるエンジニア同士の共同作業量の時間変化 38

  39. Copyright© M&Aクラウド M&Aクラウドにおけるエンジニア同士の共同作業量の時間変化 「タスクはチームの仕事」 という文化 39

  40. Copyright© M&Aクラウド M&Aクラウドにおけるエンジニア同士の共同作業量の時間変化 「タスクはチームの仕事」 という文化 レビュー時のペアプロ WIP制限の導入 40

  41. Copyright© M&Aクラウド M&Aクラウドにおけるエンジニア同士の共同作業量の時間変化 「タスクはチームの仕事」 という文化 レビュー時のペアプロ WIP制限の導入 モブプロ導入 41

  42. Copyright© M&Aクラウド M&Aクラウドにおけるエンジニア同士の共同作業量の時間変化 「タスクはチームの仕事」 という文化 レビュー時のペアプロ WIP制限の導入 モブプロ導入 モブプロ撤退🥹 42

  43. Copyright© M&Aクラウド M&Aクラウドにおけるエンジニア同士の共同作業量の時間変化 「タスクはチームの仕事」 という文化 レビュー時のペアプロ WIP制限の導入 モブプロ導入 モブプロ撤退🥹 部分的モブプロ

    43
  44. Copyright© M&Aクラウド M&Aクラウドにおけるエンジニア同士の共同作業量の時間変化 自分達のチームにちょうどいいモブプロ(共同作業)のバランスをみつける必要がある 44

  45. Copyright© M&Aクラウド まとめ • 毎日モブプロしてみた ◦ ベロシティが下がったがベロシティには現れないメリットがある ◦ メンバーの気質によってモブプロとの相性がある •

    部分的にモブプロすることにした • チームにとってちょうどいいバランスが大事 45
  46. Copyright© M&Aクラウド 資金調達プラットフォーム 2022年冬提供開始 PR 昨今の資金調達ニーズ急増にあわせ、従来は M&Aクラウド内で提供していた 「資金調達の機能」を切り出し、資金調達に特化した新サービスを構築中です。 これにより、日本中のスタートアップ企業の資金調達をスムーズにし、よりスピード感を持った事 業成長に貢献してまいります。

    46
  47. Copyright© M&Aクラウド Thanks for watching this :) 47