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
250
ペアプログラミングにQAが加わった!職能を超えたモブプログラミングの事例と学び
tonionagauzzi
March 28, 2025
Tweet
Share
More Decks by tonionagauzzi
See All by tonionagauzzi
Android 15以上でPDFのテキスト検索を爆速開発!
tonionagauzzi
0
260
Googleの新しいコーディングAIエージェントJulesを使ってみた
tonionagauzzi
0
430
Compose におけるパスワード自動入力とパスワード保存
tonionagauzzi
0
340
Androidテスト基礎講義
tonionagauzzi
0
220
Android Composeでの自動入力(作成:GPT-4o)
tonionagauzzi
0
91
Jetpack Composeで自動入力(Autofill)を実装しよう(作成:claude-3.7-sonnet)
tonionagauzzi
0
90
Jetpack Composeにおける自動入力の実装と注意点(作成者:Gemini 2.5 Pro Exp 03-25)
tonionagauzzi
0
90
Jetpack Composeで自動入力を完全攻略(作成:o3)
tonionagauzzi
0
86
サイボウズの開発チームが行っているスクラムの紹介
tonionagauzzi
0
1k
Other Decks in Technology
See All in Technology
『バイトル』CTOが語る! AIネイティブ世代と切り拓くモノづくり組織
dip_tech
PRO
1
110
新規事業におけるGORM+SQLx併用アーキテクチャ
hacomono
PRO
0
140
速習AGENTS.md:5分で精度を上げる "3ブロック" テンプレ
ismk
5
730
ComposeではないコードをCompose化する case ビズリーチ / DroidKaigi 2025 koyasai
visional_engineering_and_design
0
100
AWS IoT 超入門 2025
hattori
0
310
スタートアップにおけるこれからの「データ整備」
shomaekawa
2
350
【Oracle Cloud ウェビナー】クラウド導入に「専用クラウド」という選択肢、Oracle AlloyとOCI Dedicated Region とは
oracle4engineer
PRO
3
130
業務効率化をさらに加速させる、ノーコードツールとStep Functionsのハイブリッド化
smt7174
2
130
[Keynote] What do you need to know about DevEx in 2025
salaboy
0
160
生成AIとM5Stack / M5 Japan Tour 2025 Autumn 東京
you
PRO
0
250
成長自己責任時代のあるきかた/How to navigate the era of personal responsibility for growth
kwappa
4
310
LLMアプリの地上戦開発計画と運用実践 / 2025.10.15 GPU UNITE 2025
smiyawaki0820
1
400
Featured
See All Featured
Writing Fast Ruby
sferik
629
62k
What's in a price? How to price your products and services
michaelherold
246
12k
Fireside Chat
paigeccino
40
3.7k
Code Review Best Practice
trishagee
72
19k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
Navigating Team Friction
lara
190
15k
4 Signs Your Business is Dying
shpigford
185
22k
How to train your dragon (web standard)
notwaldorf
96
6.3k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
19
1.2k
Scaling GitHub
holman
463
140k
Agile that works and the tools we love
rasmusluckow
331
21k
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