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

モブワークっぽいのをやっている話/Trying mobwork

いも
January 28, 2020

モブワークっぽいのをやっている話/Trying mobwork

社内LTの資料です

いも

January 28, 2020
Tweet

More Decks by いも

Other Decks in Technology

Transcript

  1. モブワークっぽいのをやっている話
    2020/01/28 DeLT 1

    View full-size slide

  2. ⾃⼰紹介
    いもです
    クライアントエンジニアやってます
    2020/01/28 DeLT 2

    View full-size slide

  3. モブワークとは?
    その前に、ペアプロとモブプロについて話さないといけない
    2020/01/28 DeLT 3

    View full-size slide

  4. ペアプロ(ペアプログラミング)とは
    ⼆⼈で協⼒してコードを書く
    ドライバーとナビゲーターに役割を分ける
    ドライバーがコードを書き、ナビゲーターがサポート
    適時休憩を挟み役割を交代する
    2020/01/28 DeLT 4

    View full-size slide

  5. モブプロ(モブプログラミング)とは
    3⼈以上で⾏うプログラミング
    コードを書く⼈以外は「モブ」となる
    モブはコードを⾒たり実装⽅法とかをやいのやいの⾔う
    書く⼈とモブを⼊れ替えてみんなでやる
    2020/01/28 DeLT 5

    View full-size slide

  6. モブワークとは
    モブの考えをエンジニア以外にも適⽤する働き⽅
    様々な職種が混ざりモブとなる
    ⼿を動かす⼈も時と場合で変化する
    プログラマーが書いてる後ろでプランナーがガヤガヤしたり
    デザイナが書いてる後ろでエンジニアがガヤガヤしたり
    つまりはみんなで集まって作る
    2020/01/28 DeLT 6

    View full-size slide

  7. チームの歴史
    複数のスクラムチームからなる
    11⽉くらいに今のチームに所属
    チームは7,8⼈
    クライアント、サーバ、デザイナ、ディレクター、QA
    (⾃分含め)エンジニア3⼈
    元々ペアプロをしていたっぽい
    3⼈になったのでモブプロを開始
    現在は2⼈
    2020/01/28 DeLT 7

    View full-size slide

  8. チームのモブプロのやり⽅
    やりたいことを⼩さい単位で付箋に書き出す
    ○○を表⽰する、データを更新するetc..
    どうやって実装するか?をやいのやいの話す
    既存で再利⽤できる仕組みはあるか?
    どこに気を付けるべきか?
    1つずつ潰していく
    実装したらユニットテストできるだけ書く
    2020/01/28 DeLT 8

    View full-size slide

  9. モブワークの発端
    ふりかえりで出てきたProblem 「スクラムでQAの関わり⽅」
    仕事がスプリント前半暇で後半忙しくなる問題
    QAだけ1周ずらす作戦も考えたりした
    2020/01/28 DeLT 9

    View full-size slide

  10. 「実装時から⼊ったらいいんじゃない?」
    2020/01/28 DeLT 10

    View full-size slide

  11. QAさんと⼀緒にモブワーク
    基本はモブプロと⼀緒
    付箋を書き出し、1つずつ潰す
    QAさんも混ぜて影響範囲、気を付けるべきところを考える
    Unityエディタ上で⼀緒に確認
    実機でも確認する
    参考資料:Agile開発に⼊り込むQAの⽅法
    https://speakerdeck.com/nihonbuson/agile-qa-night
    2020/01/28 DeLT 11

    View full-size slide

  12. 変化
    専⾨職の凄さを思い知る
    QAさんの観点から⾒る「考慮すべきポイント」はエンジニアとはまた違う
    こちらが思いつかなかった懸念や検証項⽬を提案してくる
    毎回「あーそういえば・・」的な感じになる
    初期段階でだいぶ懸念を潰せる
    2020/01/28 DeLT 12

    View full-size slide

  13. 変化
    テスト駆動開発(TDD)しやすくなる
    資料だとテストシナリオを書いてたので最初は真似してみた
    テストシナリオがそのままユニットテストになりそうだった
    QAさんと話した「Aの場合Bになる」がそのままテストコードになった
    ↑をコードを書く前に決めるので、⾃然とTDDになる
    2020/01/28 DeLT 13

    View full-size slide

  14. 変化
    共通⾔語を作ることを意識し始める
    他職種とやる以上、エンジニア独⾃の⾔語だけで会話はできない
    何をやりたいかは作っているもののドメインで会話をする
    Missionクラスではなく「宿題」機能の仕様を語る
    どうやるかの段階で詳細なコードを議論すればよい
    シームレスにディレクタやデザイナも会話に混ざれる
    2020/01/28 DeLT 14

    View full-size slide

  15. ⽣産性いいの?
    少なくとも悪くはない(体感)
    ⼀⼈だったらもっとヤバいことになってた的な事はあった
    ⼿戻りとかはほぼ起きていない
    TDD始めた当初に慣れてなくて作業が遅れるというのはあった
    ペアプロを⾏っても⽣産性が半分になることはない、という論⽂はある
    https://www.researchgate.net/publication/2333697_The_Costs_and_Benefits_of_Pair_Pro
    gramming
    2020/01/28 DeLT 15

    View full-size slide

  16. 常にモブワークすべき?
    四六時中ではある必要はなさそう
    本当にエンジニアだけで解決できる作業もある
    リファクタリングとか、設計を考えるときとか
    「モブすっぞ!」と気軽に声かけできるようになってることは重要
    2020/01/28 DeLT 16

    View full-size slide

  17. モブワークおすすめ?
    やってみないと分からない
    常に⼈とコミュニケーションを取るような働き⽅になる
    個⼈の性格、相⼿との関係性はモロに出る
    普段コミュニケーション取れてない状態で始めるのは多分つらい
    疲労感はすごい
    みんなで作るのは楽しい
    でも、やってみないとわからないのは間違いない
    2020/01/28 DeLT 17

    View full-size slide