Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ペアプログラミングにQAが加わった!職能を超えたモブプログラミングの事例と学び
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
tonionagauzzi
March 28, 2025
Technology
370
1
Share
ペアプログラミングにQAが加わった!職能を超えたモブプログラミングの事例と学び
tonionagauzzi
March 28, 2025
More Decks by tonionagauzzi
See All by tonionagauzzi
Kotlin2.3明示的バッキングフィールド
tonionagauzzi
1
340
【Android】テキスト選択色の問題修正で心がけたこと
tonionagauzzi
0
240
Android 15以上でPDFのテキスト検索を爆速開発!
tonionagauzzi
0
350
Googleの新しいコーディングAIエージェントJulesを使ってみた
tonionagauzzi
0
720
Compose におけるパスワード自動入力とパスワード保存
tonionagauzzi
0
480
Androidテスト基礎講義
tonionagauzzi
0
370
Android Composeでの自動入力(作成:GPT-4o)
tonionagauzzi
0
150
Jetpack Composeで自動入力(Autofill)を実装しよう(作成:claude-3.7-sonnet)
tonionagauzzi
0
150
Jetpack Composeにおける自動入力の実装と注意点(作成者:Gemini 2.5 Pro Exp 03-25)
tonionagauzzi
0
160
Other Decks in Technology
See All in Technology
海外カンファレンス「JavaOne」参加レポート ユーザー系IT企業における目的・成果/JavaOne Report Purpose and Results in the User IT Company
muit
0
110
20260528_生成AIを専属DSに_Howの次にすべきことを考える
doradora09
PRO
0
250
ビジュアルプログラミングIoTLT vol.23
1ftseabass
PRO
0
150
『家族アルバム みてね』における インシデント対応との向き合い方 / Approach incident response in Family Album
kohbis
2
250
管理アカウント単一運用からAWS Organizationsに移行するの大変で滅
hiramax
0
300
ITエンジニアを取り巻く環境とキャリアパス / A career path for Japanese IT engineers
takatama
4
1.8k
Amazon CloudFrontにおけるAIボットアクセス制御のポイント
kizawa2020
5
300
NFLコンペ2026 解法
lycorptech_jp
PRO
0
130
Fabric-cicd によるAzure DevOps デプロイ
ryomaru0825
0
120
Javaコミュニティをもっと楽しむための9箇条
takasyou
0
460
Strands Agents超入門
kintotechdev
1
140
類似画像検索モデルの開発ノウハウ
lycorptech_jp
PRO
4
1k
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
74k
Chasing Engaging Ingredients in Design
codingconduct
0
200
Designing Powerful Visuals for Engaging Learning
tmiket
1
380
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Building AI with AI
inesmontani
PRO
1
1k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
310
Six Lessons from altMBA
skipperchong
29
4.3k
Building an army of robots
kneath
306
46k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
200
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
150
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
540
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
Transcript
ペアプログラミングにQAが加わった! 職能を超えたモブプログラミングの 事例と学び 2025.03.28 1
2 01 02 03 04 05 06 07 はじめに この発表の狙い
私のチーム構成 私のチームのモブプロの特徴 開発の進め方 共同モブプロの効果と課題 まとめ P03 P07 P09 P14 P17 P23 P27 目 次
©️ Cybozu, Inc. 1. はじめに 3
UB Tech vol.20 • 名前:トニオ(@tonionagauzzi) • 役割:Androidエンジニア • 趣味:ブログ •
所属:サイボウズ株式会社 自己紹介 4 はじめに
UB Tech vol.20 会社概要 サイボウズ株式会社 事業内容 グループウェアの開発・販売・運用 / メソッド事業 代表取締役社長
青野 慶久 創業 1997年8月 所在地 東京都中央区日本橋2-7-1 東京日本橋タワー 拠点 東京,大阪, 松山, 名古屋, 福岡, 広島, 仙台, 札幌, 横浜, 大宮, 上海, 深圳,成都,台北, ホーチミン, サンフランシスコ, シドニー, バンコク, クアラルンプールなど 資本金 613百万円 証券取引所 東証プライム[証券コード4776] 従業員数 連結1,276名、単体1,003名 ※2023年12月末時点 ※役員除く無期雇用(正社員)数 5
UB Tech vol.20 企業理念 6 存 在 意 義 Pu
rpos e チームワークあふれる社会を創る 文 化 Cu ltur e 1.理想への共感 共通の理想を作り、理想に共感して行動する 2.多様な個性を重視 多様な個性を重視し、互いに活かし合う 4.自主自律 5.対話と議論 お互いの考えの前提を理解し、論じ合って意思決定をする 3.公明正大 オープンな信頼関係の基盤を作る 一人ひとりが個人としての主体性を持ち、 よりよいチーム作りに関わっていく
©️ Cybozu, Inc. 2. この発表の狙い 7
UB Tech vol.20 2. この発表の目的 • 対象者 • 社内でのペアプログラミング(モブプログラミング)の実践事例について知りたい方々 •
発表の効果 • 開発者のペアプロにQAが加わった事例と学びをざっくり知れる • パネルディスカッションでサイボウズ社員(私)に聞いてみたいことが出てくる 対象者と効果 8
©️ Cybozu, Inc. 3. 私のチーム構成 9
UB Tech vol.20 3. 私のチーム構成 開発チーム全体の体制*1 kintone開発チーム 10 2024年8月時点 ※1:https://blog.cybozu.io/entry/2024-08-17-kintone-team-alignment
UB Tech vol.20 3. 私のチーム構成 私の所属するサブチームの体制 kintone Androidチーム 11
UB Tech vol.20 3. 私のチーム構成 私の所属するサブチームの体制 kintone Androidチーム 12 ←ペアプロ→
ペアプロ期
UB Tech vol.20 3. 私のチーム構成 私の所属するサブチームの体制 kintone Androidチーム 13 モブプロ
モブプロ期
©️ Cybozu, Inc. 4. 私のチームのモブプロの特徴 14
UB Tech vol.20 • 開発者とQAはスキルが異なるので、役割はある程度固定化される • QAはコードの読み方を知らない • 実装は開発者2人が交代で画面を映して進める •
テストなど品質関連のことはQAが画面を映してリードする • 職能を超えたチャレンジを推奨している • 簡単なライブラリ更新のPRはQAがマージする • 開発者が試験実施する • スクラムイベントのファシリテートを全員が交代で担当する 役割がある程度決まっている 15 4. 私のチームのモブプロの特徴
UB Tech vol.20 • ドライバーが画面を映しながら自主判断でどんどん作業を進める • 一般的なモブプロではドライバーはナビゲーターの言う通りタイピングするが、 サイボウズ流モブプロは基本ドライバー任せ • ナビゲーターは画面を見て肯定的に思ったことは頷き、疑問は質問する
• 促進と改善の2つのフィードバックループが回る ドライバー任せである 16 4. 私のチームのモブプロの特徴
©️ Cybozu, Inc. 5. 開発の進め方 17
UB Tech vol.20 • 実装プランニング • タスク分割 • 実装 •
テスト仕様書作成 • コードレビュー • テスト仕様書レビュー • テスト実施 • (必要に応じて)修正 • マージ 1つのプロダクトバックログアイテム(以下、PBI)でやること 18 5. 開発の進め方
UB Tech vol.20 “ペア”時代の進め方 19 5. 開発の進め方
UB Tech vol.20 “ペア”時代の進め方 20 5. 開発の進め方 開発者のスイッチングコストがあった QAから見て開発者が何をしているかわからなかった
UB Tech vol.20 QA加入後”モブ”の進め方 21 5. 開発の進め方
UB Tech vol.20 QA加入後”モブ”の進め方 22 5. 開発の進め方 開発者が1つのPBIに集中できる! QAが開発者の作業内容や状況を知れる!
©️ Cybozu, Inc. 6. 共同モブプロの効果と課題 23
UB Tech vol.20 1. 参加者全員の自立と成長 • 職能を超えてプロダクトやスクラムイベントにオーナーシップを持てる 2. チームの共通知識が増える •
不具合の調べ方、技術的な課題などの前提知識が全員に行きわたる • Android Studioの便利Tipsや、テスト設計手法などの便利なことも全員に行きわたる 3. コードとテストの協調が取れる • 「ここは不安なので手厚めに」とか言いやすく、みんなでテストしている感覚 4. シフトレフトテスト/シフトライトテストがやりやすくなる • 「シフトレフト、シフトライトとは?」という話は今回省略します。 共同モブプロの効果(4つ) 24 共同モブプロの効果と課題
UB Tech vol.20 1. リソース効率は落ちる • 並列で作業したほうがタスクの”数”はこなせる • 改善策:簡単な問題、単純作業は1人で作業する 2.
自動テストを書きにくくなる • モブ自体がテストになっており、自動テスト作成が後回しになりがち • TDD導入してみたけど形骸化しやすかった • モブをやめてみるとTDDしやすかった(個人の体験) • 改善策:受け入れ条件をテストケース化して受け入れテスト駆動開発(ATDD)する 共同モブプロの課題(4つ) 25 共同モブプロの効果と課題
UB Tech vol.20 3. QAの役割が不明なときがある • モバイルアプリの特性上、デプロイが実装終盤になるので、”待ち”が発生する • 改善策:実装初期にデプロイし、QAが早い段階で実装中のアプリを触れるようにする 4.
時間管理が難しい • 全員の予定を拘束するので、他の予定を入れづらい • 外からは、常にミーティングしているチームに見える • 長時間モブをすると自覚以上に疲れてしまう • 改善策:個人作業を意識して入れる 1日ごとのモブの時間を制限する 出入り自由のワーキングアグリーメントを定める チーム外の人と雑談しに行く 共同モブプロの課題(4つ) 26 共同モブプロの効果と課題
©️ Cybozu, Inc. 7. まとめ 27
UB Tech vol.20 • 開発者とQAのモブプロにより、チームの一体感は高まりました。 • 一方で、一体感が高まりすぎると効率が落ちるなど課題も感じました。 • (開発者目線)QAさんがモブにいてくれるとめっちゃ助かります!!! モブは、開発の効率化や品質向上だけでなく、チームの学習と成長も後押しする!
28 7. まとめ
©️ Cybozu, Inc. 29