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
130
ペアプログラミングにQAが加わった!職能を超えたモブプログラミングの事例と学び
tonionagauzzi
March 28, 2025
Tweet
Share
More Decks by tonionagauzzi
See All by tonionagauzzi
サイボウズの開発チームが行っているスクラムの紹介
tonionagauzzi
0
700
【社外版】前年の3倍登壇してみて得た気づき『登壇すれば、人と繋がれる!』
tonionagauzzi
0
86
職能を超えたモブプログラミングが品質に与えた良い影響
tonionagauzzi
2
430
Android 15 でアクションバー表示時にステータスバーが白くなってしまう問題
tonionagauzzi
0
610
楽観的スクラムマスター
tonionagauzzi
0
940
KotlinとAndroidではじめるテスト駆動開発
tonionagauzzi
0
140
好きなものを語るLT
tonionagauzzi
0
62
Google I/O 2024 Android 開発ツールの新機能
tonionagauzzi
0
600
Androidアプリのテスト駆動開発入門
tonionagauzzi
0
400
Other Decks in Technology
See All in Technology
DIってなんだか難しい? 依存という概念を「使う・使われる」 という言葉で整理しよう
akinoriakatsuka
1
770
チームビルディング「脅威モデリング」ワークショップ
koheiyoshikawa
0
110
ルートユーザーの活用と管理を徹底的に深掘る
yuobayashi
6
700
モンテカルロ木探索のパフォーマンスを予測する Kaggleコンペ解説 〜生成AIによる未知のゲーム生成〜
rist
4
1k
セマンティックレイヤー入門
ikkimiyazaki
8
2.5k
AWS CDK コントリビュート はじめの一歩
yendoooo
1
110
LINE API Deep Dive Q1 2025: Unlocking New Possibilities
linedevth
1
150
お問い合わせ対応の改善取り組みとその進め方
masartz
1
280
Road to SRE NEXT@仙台 IVRyの組織の形とSLO運用の現状
abnoumaru
0
370
Symfony in 2025: Scaling to 0
fabpot
2
150
fukuoka.ts #3 社内でESLintの共通設定を配りたい2025年春版
pirosikick
1
290
RAGの基礎から実践運用まで:AWS BedrockとLangfuseで実現する構築・監視・評価
sonoda_mj
0
420
Featured
See All Featured
The Language of Interfaces
destraynor
156
24k
A Philosophy of Restraint
colly
203
16k
Visualization
eitanlees
146
15k
A better future with KSS
kneath
238
17k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.3k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
134
33k
Optimising Largest Contentful Paint
csswizardry
35
3.2k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
50
2.4k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Unsuck your backbone
ammeep
669
57k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
470
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