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

シン・モブプログラミング 第三形態

 シン・モブプログラミング 第三形態

サイボウズでは2018年に、kintoneの開発部隊からモブが部分的に始まり、それが、チームの拡大とともにkintoneの開発チーム全体に広がった。そのモブは、高い心理的安全性をベースに、チームにおける認知活動が行われていた。チームメンバー同士の多様性による創発と、高いレビュー効果があいまって、モブ・プログラミングの効果を出していた。
とそこで、最近、モブに対する反発の行動が一部にでてきた。以前もあった一過性のものと思っていたが、今回は思いのほか深く、あるチームの運用にも影響を与えることがあった。HunterのChrisにも意見を聞き、我々はそれに今向き合い、新たな形を模索しながら、今でもモブの活動は行われている。

Atsushi Nagata

May 30, 2022
Tweet

More Decks by Atsushi Nagata

Other Decks in Technology

Transcript

  1. 2016/11 スクラム導入 1チーム体制 2017/7 モブの導入 2017/9 モブ・プログラミングの改善、毎月リリース開始 2018/1 2チーム体制 2018/2

    Devの全作業ペア・モブ化 2018/4 Sprint 2のプロセスの改善 2018/5 1週間スプリント、 Sprint 2にQAがモブで参加 2018/7 Woody Zuill ; Agile Japan Keynote 2018/8 1個流し開始、3チーム体制 2018/10 モバイルチーム 2018/11 4チーム体制 2019/1 Chris Lucian RSGT2019 keynote サイボウズ Kintoneのモブ・プログラミング
  2. 2017/9 モブ・プログラミングの改善 P: ペアプロやモブプロの良いやり方をあまり知らずに、やっているところがある。 ペアやモブに向いているタスク、そうでないタスクがある気がする ペアやモブの良いところと課題の認識 どういう時にペア(モブ)を組むべきか • 複雑な問題を解決したい時 •

    教育・スキル伝達が目的のとき • 一人でやるのは不安な時 交代の時間はどうするか コードに集中しづらい時どうするか 集中しづらい時は一人で作業したり確認の時間をとってOK ペア(モブ)を組むべきでない時 • 集まっても問題が解決しない時 • 教育or効率アップに繋がらない作業 +集まってやるほどの複雑な作業じゃない場合 レビューの必要性 コードに集中しづらい
  3. 2016/11 スクラム導入 1チーム体制 2017/7 モブ・プログラミングの導入 2017/9 モブ・プログラミングの改善、毎月リリース開始 2018/1 2チーム体制 2018/2

    Devの全作業ペア・モブ化 2018/4 Sprint 2のプロセスの改善 サイボウズ Kintoneのモブ・プログラミング
  4. スプリント PBI Done Sprint Planning 2 仕様書作成 プロダクトバックログアイテム 設計・実装・テスト Sprint

    Review Sprint Planning 1 バックログ 説明 割り当て タスク実行 モブ・アクティビティ Kintone 開発プロセス Sprint Planning 2 受入テスト 設計 仕様書変更 プロダクトバックログアイテム 設計・実装・テスト
  5. バックログ QA 設計 レ ビ ュ ー 仕 様 作

    成 PM デザイン QAをプランニングに呼ぶ レ ビ ュ ー 受 け 入 れ テ ス ト 設 計 システムテスト 設計・実装 受入テスト 実装実施 設計・実装 システムテスト 実施 スプリントプランニング2
  6. 2016/11 スクラム導入 1チーム体制 2017/7 モブ・プログラミングの導入 2017/9 モブ・プログラミングの改善、毎月リリース開始 2018/1 2チーム体制 2018/2

    Devの全作業ペア・モブ化 2018/4 Sprint 2のプロセスの改善 2018/5 1週間スプリント、 Sprint 2にQAがモブで参加 サイボウズ Kintoneのモブ・プログラミング
  7. タスク設計 モブ テスト仕様 タスク実行 実装モブ 懸 念 点 出 し

    ・ モ ブ QA 設計 テ ス ト 設 計 ・ モ ブ 仕 様 作 成 ・ モ ブ PO UIデザイン リスクリスト 仕様書 受入テスト 試験設計書 ゴールの共有 共有の 形式化 品質の 埋込み ビルド・CI 品質の 確認 リリース テスト実装 テスト 仕様書 テスト実行 品質の 確認 スプリントプランニング2 バックログ
  8. 2016/11 スクラム導入 1チーム体制 2017/7 モブの導入 2017/9 モブ・プログラミングの改善、毎月リリース開始 2018/1 2チーム体制 2018/2

    Devの全作業ペア・モブ化 2018/4 Sprint 2のプロセスの改善 2018/5 1週間スプリント、 Sprint 2にQAがモブで参加 2018/7 Woody Zuill ; Agile Japan Keynote サイボウズ Kintoneのモブ・プログラミング
  9. 2016/11 スクラム導入 1チーム体制 2017/7 モブの導入 2017/9 モブ・プログラミングの改善、毎月リリース開始 2018/1 2チーム体制 2018/2

    全作業ペア・モブ化 2018/4 Sprint 2のプロセスの改善 2018/5 1週間スプリント、 Sprint 2にQAがモブで参加 2018/7 Woody Zuill ; Agile Japan Keynote 2018/8 1個流し開始、3チーム体制 サイボウズ Kintoneのモブ・プログラミング
  10. • • • • • • • • • •

    • • • • • • ▪ • • • • • • • • • • • • • ▪ ▪ • • ▪ • ▪ ▪ ▪ • • • ▪ ▪ • • • ▪ • ▪ • • • ▪ ▪ • • ▪ • • • • ▪ • ▪ • • ▪ • • ▪ • • • • • ▪ • • ▪ • • • • • ▪ • • • • • • • • • • • • • • • • • • • • ▪ ▪ • • • • • • • • • • • • • • • • ▪ • • • • • • • • • • • • • • • • • • • • • • • • • • ▪ • • • ▪ • ▪ • • ▪ ▪ • • • ▪ • ▪ • • • • • • • • ▪ • • • • ▪ • • • • • ▪ ▪ • • ▪ • • • • • • • • • • • • • • • スプリント バ ッ ク ロ グ フローグラフ
  11. 2016/11 スクラム導入 1チーム体制 2017/7 モブの導入 2017/9 モブ・プログラミングの改善、毎月リリース開始 2018/1 2チーム体制 2018/2

    全作業ペア・モブ化 2018/4 Sprint 2のプロセスの改善 2018/5 1週間スプリント、 Sprint 2にQAがモブで参加 2018/7 Woody Zuill ; Agile Japan Keynote 2018/8 1個流し開始、3チーム体制 2018/10 モバイルチーム 2018/11 4チーム体制 2018/12 品質保証部がなくなる サイボウズ Kintoneのモブ・プログラミング
  12. 2016/11 スクラム導入 1チーム体制 2017/7 モブの導入 2017/9 モブ・プログラミングの改善、毎月リリース開始 2018/4 Sprint 2のプロセスの改善

    2018/5 1週間スプリント、 Sprint 2にQAがモブで参加 2018/7 Woody Zuill ; Agile Japan Keynote 2018/11 4チーム体制 2019/1 Chris Lucian RSGT2019 keynote 2019/5 モブ・メトリクスの測定 サイボウズ Kintoneのモブ・プログラミング
  13. 0 5 10 15 20 25 30 35 40 45

    50 つぶやき あいづち 質問 説明 コメント 依頼 回答 提案 気づき 学び 言い換え 合意 改善変更 確認 感謝 モブメトリクス やり取りの分布 Driver Nav1 Nav2 Nav3 モブ・プログラミング分析 専用キーボート
  14. モブ・チーム認知モデル 次のステップ 対象 次のステップ ドライバ つぶ やき 自信 質問 相槌

    改善 学び 提案 議論 返答 ナビゲータ ナビゲータ 説明 促進ループ 改善ループ
  15. 2016/11 スクラム導入 1チーム体制 2017/7 モブの導入 2017/9 モブ・プログラミングの改善、毎月リリース開始 2018/4 Sprint 2のプロセスの改善

    2018/5 1週間スプリント、 Sprint 2にQAがモブで参加 2018/7 Woody Zuill ; Agile Japan Keynote 2018/11 4チーム体制 2019/1 Chris Lucian RSGT2019 keynote 2019/5 モブ・メトリクスの測定 2019/8 Agile 2019, Mob Mentality Showに出演 2019/9 Hunter Industry社訪問 サイボウズ Kintoneのモブ・プログラミング
  16. Mob Mentality Show @mob__mentality Mob Programming in Japan! @martin_lover_se @kawaguti

    @kohzas @nagworld on the Mob Mentality Show https://youtu.be/Pu_zpVQrv70 #モブプロ @ChristophLucian
  17. タイピング ドライバ = タイピスト お頼み ファシリテーション タイピング ナビゲータ Restricted ナビゲータ

    お頼み お頼み ファシリテーション Hunter(モブ本)のモブ・認知モデル サイボウズのモブは“変異”していますが、問題はありません 私は、サイボウズのモデルが好きです
  18. Code with the Wisdom of the Crowd: Get Better Together

    with Mob Programming 2018/7/24 モブプログラミング・ベストプラクティス ソフトウェアの品質と生産性をチームで高める 2019/2/23
  19. モブ・チーム認知モデル 次のステップ 対象 次のステップ ドライバ つぶ やき 自信 質問 相槌

    改善 学び 提案 議論 返答 ナビゲータ ナビゲータ 説明 促進ループ 改善ループ
  20. チャレンジ スキル 退屈 無関心 心配 不安 覚醒 フロー コントロール リラックス

    高い 低い 低い 高い 体験の質は、チャレンジとスキルの関係によって決まる 最適な体験、 つまりフローは、 両方の変数が高いときに 起こる Sources: Adaptive from Massimini & Carili 1988, Cshikzentmihalyi 1990. Finding flow, Chsikszentmihalyi, 1997
  21. Team Flowの7つの必要条件 • Collective Ambition: チームの志、強い思い • Common Goal: チームの皆が認める共通のゴール

    • Aligned Personal Goals: 共通のゴールにも貢献する個人のゴール • High Skill Integration: 個々の長所を総合的な力にアレンジする • Open Communication: オープンなコミュニケーション • Safety: 心理的安全性 • Mutual commitment: 相互に行動とその効果を認識している 組織文化やメンタリティに強く関係している
  22. Safety • 心理的安全性 • 失敗を学習と成長の機会として受け入れる • 失敗を心配することなく受け入れられサポートされる • 互いに信頼しあう 信頼

    : 弱い立場になることをいとわないこと • 偏見のないフィードバック オープンなコミュニケーション、情報共有 対立を解消するための行動
  23. Team Flowの7つの必要条件 • Collective Ambition: チームの志、強い思い • Common Goal: チームの皆が認める共通のゴール

    • Aligned Personal Goals: 共通のゴールにも貢献する個人のゴール • High Skill Integration: 個々の長所を総合的な力にアレンジする • Open Communication: オープンなコミュニケーション • Safety: 心理的安全性 • Mutual commitment: 相互に行動とその効果を認識している PO 組織文化 メンタリティ
  24. Team Flowの4つの特長 = モブ・プログラミングで体感していること • Sense of Unity: 一体感 •

    Sense of joint progress: 一緒に進んでいるという感覚 • Mutual trust: 相互の信頼関係 • High Skill Integration: 全体的な集中状態を共有する ”チームフローは、個人が、自分のタスクや裁量で行う自律性と能力の体験を通じて 自己決定を行い、チームでの交流を通じて個人的なつながりを持つという形で幸福 を体験することができる” Team Flow: The psychology of optimal collaboration, 2019, Jeff J.J. vam dem Hout, Orin C. Davis
  25. モブ・プログラミングへの感想 : ある振り返りにて • モブプロはチームに入ってすぐの右も左もわからない時はすごく助かる • ある程度時間が経つと成長が感じられなくなる • できる人やわかる人に頼ってしまう •

    自分ひとりではいつまでもできないと感じる • わからないところは深く理解できないままになる • スキルや経験の豊富な人との差がどんどん広がるように感じる • その人たちが難しいことを解決してしまう • 自分が貢献したという感覚が得られない • 休み明けの時のキャッチアップで質問しづらい • ソロだと、どうにかしないといけない分、できることが増えている・成長している・貢献 していると実感できる この人のモブ・プログラミングを観察し分析することはあったが、このように感じて いるようには思えなかった。
  26. ソロ・コーディングと モブ・プログラミング Solo Coding vs Mob Programming Chris Lucian, Hunter

    Industry https://www.chrislucian.com/2018/09/mob-programming-and-personal.html
  27. チャレンジ スキル 退屈 無関心 心配 不安 覚醒 フロー コントロール リラックス

    高い 低い 低い 高い 体験の質は、チャレンジとスキルの関係によって決まる 最適な体験、 つまりフローは、 両方の変数が高いときに 起こる Sources: Adaptive from Massimini & Carili 1988, Cshikzentmihalyi 1990. Finding flow, Chsikszentmihalyi, 1997