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

モブプログラミングはいいぞ!:方法と実践 / JavaDO #14

モブプログラミングはいいぞ!:方法と実践 / JavaDO #14

「モブプログラミングはいいぞ!:方法と実践 」

〈8/3@札幌〉モブプログラミング&Java開発入門
https://javado.connpass.com/event/139975/
https://gist.github.com/gishi-yama/eb78a6c9acad3236c77c3d305d5e85c5

Hiroto YAMAKAWA

August 03, 2019
Tweet

More Decks by Hiroto YAMAKAWA

Other Decks in Programming

Transcript

  1. ハッシュタグ:#javado #mobprogramming 公立千歳科学技術大学 情報システム工学科 専任講師 R&D: Experimental Development of ICT (ex:City-Bus

    Tacking System) 
 Computer in Education, Programming and Programmer's Learning 
 
 Community: Hiroto Yamakawa, @gishi_yama 2
  2. ハッシュタグ:#javado #mobprogramming モブプログラミング(モビング) 4 3人以上でグループを組み、
 同じ場所・同じ機材で同じプログラミングを行うチームワーク手法
 (≒ペアプログラミングの多人数化) 2012年頃にアメリカのHunter社が本格的に取り入れ、
 日本では楽天などの開発現場で実利用されていることが有名。
 日本でも書籍や実践事例が増えてきている。


    モビング(Mobbing)とも呼ぶが、あんまりよい印象の言葉ではないような...? 図引用:TAKAKING22, Mob Programming Startup Manual(https://takaking22.com/2018/mobpro_manual/) ↑の本では、
 ドライバーとナビゲーターではなく
 タイピストとモブ
 と呼んでおり、
 この資料もそれに倣う
  3. ハッシュタグ:#javado #mobprogramming モブプログラミングに期待される効果 5 ? ! モブプログラミング: 複数人の質疑や議論の結果で進む ◦ 難しい課題に複数人の知識・スキルで取り組める
 ◦

    相互に異なる知識・スキルを継承できる
 ◦ 開発とレビュー、その情報共有を兼ねられる
 ◦ コーチ、マネージャ、レビュアー、プロダクトオーナー
 といった役割の人もモブの一員として参加できる ペアプログラミング: 二人の質疑や議論の結果で進む ◦ 難しい課題に二人の知識・スキルで取り組む
 ◦ 知識・スキルを継承できる
 × 技術継承の方向性が一方向になりがち
 × ドライバーとナビゲーターの関係性やスキルの違いが
 パフォーマンスに影響しがち
  4. ハッシュタグ:#javado #mobprogramming 1. 3名以上で集まる 2. モブを行う時間と、時間内に到達を目指すゴール、役割交代のタイミング(10〜15分ごと)を決める
 〈モブ〉
 ・ 解決すべきプログラム上の課題や問題点に集中し、問題解決のための方法を考え・推測・提案する
 ・ 新たな問題が発生していないかを探す
 ・ わからないことはわかるまで質問して、学ぶ


    〈タイピスト〉
 ・モブの合意がとれた提案を、コードの形にして入力する 3. モブを開始する。役割を交代しながら、一週したら休憩などを取る 4. ゴールが達成できたら、みんなで喜ぶ(ハイタッチ!) 5. モブ終了の時間がきたら、次回のモブにむけてふりかえりを行う
 (KPT: Keep, Problem, Try など) モブプログラミングの流れ 7 ※モブ側に、コーチやマネージャー、
   レビュアーやプロダクトオーナーが参加してもよい モブ タイピスト モブ モブ モブ モブ
  5. ハッシュタグ:#javado #mobprogramming • 全員がタイピストによる操作・コーディングを確認できる大きなディスプレイ(プロジェクター) 
 1 or 2基 ※コーディングと調査用 • モブが考えをまとめるためのホワイトボード、ふせん(KJ法)

    • いくつかのアプリ(モブタイマー、IDE) ※私は Mobster というツールをよく使ってます モブプログラミングに推奨される環境 8 図引用: マーク・パール (著)、長尾高弘(訳)、 及部敬雄(解説):モブプログラミング・ベストプラクティス 使い慣れてないキーボードや
 マウスだと、若干手こずるが、
 個人差があって難しい....
  6. ハッシュタグ:#javado #mobprogramming A day Of Mob Programming 9 https://youtu.be/p_pvslS4gEI https://youtu.be/dVqUcNKVbYg

    スクラムの中にとりこんでもよい
 ⇒カイゼン・ジャーニー等を参考
  7. ハッシュタグ:#javado #mobprogramming 事前の準備を行っておく (モブプログラミングの対象に対する)基礎的な知識の準備や理解を持って望む
  問題解決につながりそうなスキル・情報の収集、 "Kata"、 対象の背景 モブプログラミングに全員が集中して取り組む 内職はしない・(一人でも)わからない or

    納得してないまま進めない・タイピストは勝手に動かない・
 検索や調べ物は足並みをそろえて皆で・資料や経過は共有する・休憩は沢山とる いきなり全てをモブプログラミングでやろうとしない プロジェクトの立ち上げ時、難易度が高い課題、チームのニュービーが軌道に乗るまで...
 など、積極的に知識・スキル・経過の共有や、知恵を出し合う部分に効果がある 自然と「ここはモブでやろう」「モブでやりたい」という声が出てくる形が最初に目指す理想形 うまくモブプログラミングをすすめるためには? 10