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
tonionagauzzi
March 28, 2025
Technology
1
300
ペアプログラミングにQAが加わった!職能を超えたモブプログラミングの事例と学び
tonionagauzzi
March 28, 2025
Tweet
Share
More Decks by tonionagauzzi
See All by tonionagauzzi
【Android】テキスト選択色の問題修正で心がけたこと
tonionagauzzi
0
190
Android 15以上でPDFのテキスト検索を爆速開発!
tonionagauzzi
0
300
Googleの新しいコーディングAIエージェントJulesを使ってみた
tonionagauzzi
0
540
Compose におけるパスワード自動入力とパスワード保存
tonionagauzzi
0
410
Androidテスト基礎講義
tonionagauzzi
0
310
Android Composeでの自動入力(作成:GPT-4o)
tonionagauzzi
0
110
Jetpack Composeで自動入力(Autofill)を実装しよう(作成:claude-3.7-sonnet)
tonionagauzzi
0
120
Jetpack Composeにおける自動入力の実装と注意点(作成者:Gemini 2.5 Pro Exp 03-25)
tonionagauzzi
0
120
Jetpack Composeで自動入力を完全攻略(作成:o3)
tonionagauzzi
0
110
Other Decks in Technology
See All in Technology
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
61k
コミュニティが持つ「学びと成長の場」としての作用 / RSGT2026
ama_ch
1
250
国井さんにPurview の話を聞く会
sophiakunii
1
370
AI アクセラレータチップ AWS Trainium/Inferentia に 今こそ入門
yoshimi0227
1
160
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
#22 CA × atmaCup 3rd 1st Place Solution
yumizu
1
190
人工知能のための哲学塾 ニューロフィロソフィ篇 第零夜 「ニューロフィロソフィとは何か?」
miyayou
0
440
kintone開発のプラットフォームエンジニアの紹介
cybozuinsideout
PRO
0
520
Claude Codeを使った情報整理術
knishioka
20
12k
ファインディにおけるフロントエンド技術選定の歴史
puku0x
2
1.5k
産業的変化も組織的変化も乗り越えられるチームへの成長 〜チームの変化から見出す明るい未来〜
kakehashi
PRO
1
620
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
12k
Featured
See All Featured
More Than Pixels: Becoming A User Experience Designer
marktimemedia
2
290
sira's awesome portfolio website redesign presentation
elsirapls
0
110
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
1k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
170
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
180
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
54
49k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
190
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
Accessibility Awareness
sabderemane
0
35
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
39
HDC tutorial
michielstock
1
320
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