Slide 1

Slide 1 text

モブワークを進化させていった 話 Press Space for next page PHP Conference Japan 2023 懇親会LT Oct 8th, 2023. v0.0.1

Slide 2

Slide 2 text

自己紹介 「障害のない社会をつくる」をビジョンに掲げている「りたりこ」という会社に所属しています 以下のアカウントで活動しています 2 / 22 katzumi(かつみ)と申します katzchum k2tzumi katzumi

Slide 3

Slide 3 text

お願い 励みになるので是非ともご意見やご感想など、フィードバック頂けると助かります mm あとでスライドを公開します 3 / 22 写真撮影、SNSでの実況について    🙆‍♀📷    🙅‍♂📹💸    🙅📸👨‍👦‍👦 #phpcon #phpcon2023

Slide 4

Slide 4 text

4 / 22 What’s mob work?

Slide 5

Slide 5 text

5 / 22 GPT曰く ペアプロもモブワークの一種 モブワークとは、複数人で何かしらの作業(資料作成、プログラミング、事務作業など)を一緒にやっていく作業スタイルの ことを指します。 ペアプログラミングという言葉は聞いたことがあるかもしれませんが、モブプログラミングの一種です。 ペアプログラミングは2人1組でプログラミングを行うことで、モブプログラミングはそれを2人と決めずに複数人で行うこと らしいです。 このモブプログラミングを、プログラミングに限らず、色々な作業(資料作成、プログラミング、事務作業など)でやってし まうことを モブワーク と呼ぶことがあります。 この作業スタイルは、テレワークにおいても有効であるとされています “

Slide 6

Slide 6 text

6 / 22 モブワークのロール Driver コードをタイプする人。Navigatorの指示どおり動く ゴールを目指して手を動かし、実況しながら進めていく Navigator Driverに指示を出す人。 先回りして調査をしたりする プログラミングの例で説明すると

Slide 7

Slide 7 text

7 / 22 ラリーのドライバーとコ・ドライバーとの関連に近い 今だとAIのCopilotとも近いかも コ・ドライバーとコ・パイロットは、ラリーにおいてドライバーと密接に協力する役割を担う人物です。 コ・ドライバーは、ナビゲーションを担当し、ドライバーに次の方向や曲がり角、障害物などを伝えます。 また、車両の状態を監視し、必要に応じて修理やメンテナンスを行います。 “

Slide 8

Slide 8 text

8 / 22 モブワークを実践し ている人! 🙋‍♀

Slide 9

Slide 9 text

9 / 22 2020年からモブワ ークのスタイルで開 発を続けています

Slide 10

Slide 10 text

10 / 22 モブワークを進化させ ていったお話

Slide 11

Slide 11 text

11 / 22 モブワーク遍歴 リアル期(2020年1月〜2020年3月) フルリモート期(2020年4月〜2021年12月) 安定期(2021年1月〜2022年3月) プロジェクト立上げ期(2022年4月〜2022年6月) チームビルディング期(2022年7月〜2022年12月) シン共同開発期(2023年1月〜)

Slide 12

Slide 12 text

12 / 22 リアル期(2020年1月〜2020年3月) 対面にチームメンバーがいる中でzoomを繋げてモブプログラミングを行っていました 声は直接届く感じで、相手のデスクトップが画面共有で見れる感じ モブタイマーはリアルなストップウォッチ モブは初めてでしたが、複雑な業務で個人的にはありがたかったです 技術的な課題もモブで解決するので、立ち上がりが早かったです。 はいった職場がモブスタイルでした

Slide 13

Slide 13 text

13 / 22 フルリモート期(2020年4月〜2021年12月) 引き続きzoomで繋いでモブプログラミングをしていました この当時は時間制限がなくてzoomは神でした 音声もzoom越し経由。カメラOFF進行 すでに見知った顔なのでそんなに不安感なし 開発未経験の新人もモブワークに参加した モブタイマーをSlack bot化した 最初はデスクトップアプリで行っていたけれどタイマーを押せなかったり、気づかなかったり、テンポが良 くなかったので改善しました フルリモートになっても仕事のスタイルは変わらず

Slide 14

Slide 14 text

モブワークに関するアウトプット 14 / 22 記事にしました リモートモブプログラミングを9ヶ月間やってきたので 振り返ってみる mob-timerを作りました https://github.com/k2tzumi/mob-timer-bot

Slide 15

Slide 15 text

15 / 22 安定期(2021年1月〜2022年3月) メンバーの増減がありつつつもzoomで継続してモブワーク バーチャルオフィスを導入して、そこで画面共有を行う zoomの無料期間が終わるなどもあった 途中でslack(haddle)に浮気したりしました 大きなリリース&不具合についてもモブでこなす 暖簾分けしたチームで開発

Slide 16

Slide 16 text

16 / 22 プロジェクト立上げ期(2022年4月〜2022年6月) はじめはソロで開発をスタート 徐々にメンバーが増えていく 最初は一人。モブですらない。。 新規プロジェクトを立ち上げを行いました

Slide 17

Slide 17 text

17 / 22 チームビルディング期(2022年7月〜2022年12月) 大分足回りが揃ってきた 不安だったメンバーの受け入れもモブで1ヶ月程度で立ち上げれる手応えがあった 複雑な業務知識を独自ドメインで定義して、特化型フレームワークで実装できるようになった 具体的な実装イメージは各メンバーの共通認識としてもてるようになった ある意味定型業務化したものはソロ活動で実装するようになった 複雑なフレームワーク自体もモブで実装するようになった。 モブタイマーで交代制で実装するのではなく、LiveShareやCodeWithMeといった共同プログラミングで行 うようになった。 各メンバーのドメイン知識が溜まり、ドライバーやナビゲーターといった分担ではなく、全員がドライバー で実装するようになった。 各メンバーの得意不得意があるなかで、ゴリッとと実装する人、サポートする 人といったメンバーの特性を活かして進められるようになってきた チームメンバーが一気に6名体制に

Slide 18

Slide 18 text

18 / 22 モブワークの振り返り 合う合わないは結構人次第 疲れるのは確か。過集中になりがちなので、ブレークタイム重要 → モブタイマーの活用 複雑系の仕組みは多くの目が必要なのでマッチしていた そもそも一人で挑むには心が折れる。法律の条文を読み進めるのが難しい。書籍が出ているぐらい 個人解 釈すると危険。業務が回らない自体になりかねない 雑談が重要。ナビゲーションやツッコミがないと、理解が浅いまま進んでしまったり、最大のメリットであ る多くの目を活かすことができない 20%ルール(非モブ作業で自由に使える時間)があるのも重要 改善系を意識して行うようになる。非効率な開発を行うと、人数分のコストがかかる 多様な人が扱うので、わかりやすさ優先な設計になる

Slide 19

Slide 19 text

19 / 22 現時点での課題 まだ知識の偏りはある チーム内のコミュニケーションがハイコントラストになりがちで、新しい人が苦労する 知識量が同じぐらいの人がいないと挫けがち メンテナンスし続けるDocumentsとそうでないものの線引が難しい 作るものがある程度見えてない、リードする人がいないと迷走しがちで効率が悪い 急に組織はスケールできない。 徐々にしか人は増やせない。株分けしてチームを増やしていくイメージ

Slide 20

Slide 20 text

20 / 22 最後に モブワークを実践しているチームの方とお話をしたいです。 リモートワークを継続して行われている方もお声がけください。 複雑な業務を行われている方、どう複雑性と向き合っているか?お話させてください

Slide 21

Slide 21 text

宣伝 全国制覇目指す?w 21 / 22 PHPカンファレンスに登壇しました! 福岡 APIシナリオテストを書くべき10の理由 沖縄 ActiveRecordパターンの呪縛を学びほぐして挑むクリ ーンアーキテクチャへの入り口

Slide 22

Slide 22 text

22 / 22 ご清聴ありがとうございました