$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
グルーミングしながら進めるプロダクト開発
Search
Takafumi ONAKA
PRO
March 30, 2022
Technology
0
2.6k
グルーミングしながら進めるプロダクト開発
2022-03-30 Hatena Engineer Seminar #19
https://hatena.connpass.com/event/241412/
Takafumi ONAKA
PRO
March 30, 2022
Tweet
Share
More Decks by Takafumi ONAKA
See All by Takafumi ONAKA
気づけばこうなる運用 ~運用現場の現実と理想~
onk
PRO
0
10
強いチームと開発生産性
onk
PRO
44
17k
ADRを運用して3年経った僕らの現在地
onk
PRO
22
24k
1文字エイリアスのすゝめ
onk
PRO
0
87
すこやかなサービス運営のための PWG (Performance Working Group)
onk
PRO
0
1.1k
オブザーバビリティの Primary Signals
onk
PRO
2
6.3k
Cache Stampede
onk
PRO
1
2.3k
ORM - Object-relational mapping
onk
PRO
3
4k
デュアルトラックアジャイルとの向き合い方
onk
PRO
5
13k
Other Decks in Technology
See All in Technology
Product Engineer
resilire
0
130
ECMAScript仕様の最新動向: プロセスの変化と仕様のトレンド
uhyo
2
460
Docker, Infraestructuras seguras y Hardening
josejuansanchez
0
140
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
16k
pmconf2025 - データを活用し「価値」へ繋げる
glorypulse
0
420
バグハンター視点によるサプライチェーンの脆弱性
scgajge12
2
390
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
9.9k
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3.3k
21st ACRi Webinar - AMD Presentation Slide (Nao Sumikawa)
nao_sumikawa
0
200
なぜ使われないのか?──定量×定性で見極める本当のボトルネック
kakehashi
PRO
1
710
命名から始めるSpec Driven
kuruwic
3
820
.NET 10 のパフォーマンス改善
nenonaninu
2
4.7k
Featured
See All Featured
Balancing Empowerment & Direction
lara
5
780
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Making Projects Easy
brettharned
120
6.5k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Designing Experiences People Love
moore
142
24k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
73
A Tale of Four Properties
chriscoyier
162
23k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Site-Speed That Sticks
csswizardry
13
990
Why Our Code Smells
bkeepers
PRO
340
57k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Transcript
Hatena Engineer Seminar #19 id: グルーミングしながら進めるプ ロダクト開発 カクヨムの10年を見据えた技術
2022.03.30 onk
• 大仲 能史 a.k.a. id:onk • 芸歴 18 年 •
サーバサイドとインフラが得意な フルスタックエンジニア 自己紹介
今日のテーマ グルーミング
グルーミング グルーミングまたは毛繕いとは、動物が体の衛生や機能維持などを目的 として行う行動である。一部分は後天的に習得され、以降の世代へと伝 播する場合もある(湯、土、木の葉、砂塵の利用など)。毛繕い、羽繕い、 ノミ取りなどが含まれる。自分自身に対して行うセルフグルーミング (personal grooming)と、他の個体に対して行う社会的グルーミング (social groomingあるいはallogrooming)がある。
https://ja.wikipedia.org/wiki/グルーミング
社会的グルーミング • 集団の絆を維持するための「社交」 ◦ 肉体的な接触を伴ったり、単に会話をし たり、コミュニケーションが必要 • 大きなグループを維持するには、 グルーミングに時間を費やす必要がある
今日の話 カクヨムチームが開催している定例では、意識的にグルーミングを取り入 れている。各会の設計と、グルーミングの効能を読み解いていく。
• スクラム開発 • 昼会 • スプリント会 • 週次、月次、四半期の会 • まとめ
お品書き
スクラム開発
スクラム開発とは • イテレーティブな開発手法の一つ ⇔ ウォーターフォール開発 ◦ 一定期間ずつに区切って(スプリント) ◦ 成果物を作っていく
• スプリント内では以下のイベントをやっていく ◦ スプリントプランニング ◦ デイリースクラム ◦ スプリントレビュー ◦ スプリントレトロスペクティブ
スクラム開発とは • スプリントプランニング ◦ このスプリントで何を作るかを決める ◦ ここで決めたものをスプリント内で作りきる • デイリースクラム
◦ いわゆる「朝会」 ◦ 困りや不安を引き出し、解決する
スクラム開発とは • スプリントレビュー ◦ 作ったものをみんなで眺める ◦ ゴールを達成できているか ◦ 更に価値を高められるか
• スプリントレトロスペクティブ ◦ レトロスペクティブ=ふりかえり ◦ 次スプリントでもっと上手くやるための教訓を引き出す
スクラム開発とは • 以下を繰り返して、不確実なプロジェクトを達成する開発手法 ◦ 細かくリリースを繰り返して価値を探索する ◦ イテレーションが進むと、より上手く進められる プランニング 設計・開発
リリース ふりかえり プランニング 設計・開発 リリース ふりかえり プランニング 設計・開発 リリース ふりかえり
僕らのスクラム • 10人程度の開発メンバー ◦ 企画2、デザイナー3、エンジニア6 • 2週間スプリント(月〜翌金) • 昼会(毎日30分+30分)
◦ デイリースクラム • スプリント会(最後の金曜に1時間半) ◦ スプリントレトロスペクティブ+スプリントプランニング • スプリントレビューは柔軟に開催している
コミュニケーションツール • Slack ◦ テキストチャット、Huddle • Google Meet ◦
ビデオ会議 • Scrapbox ◦ 同時編集できるWiki的なツール • Asana ◦ プロジェクト管理ツール • GitHub、Figma
昼会
• 一般的なデイリースクラムは「15分以内」と言われている • 僕らの昼会は1時間使っている ◦ 前半:チーム全員で30分 ◦ 後半:エンジニアだけで30分 ◦ 今のチームだと、これで良いと考えている
昼会
• Scrapboxを映しながらGoogle Meetに集合する ◦ 同時編集できる議事録ツールは最高 • アジェンダ ◦
司会者のコーナー ◦ 近況報告 ◦ 周知 ◦ Asana確認 ◦ 相談・会話したいこと ◦ 掲示板(非同期) ◦ 雑談 ◦ ジブリ制作日誌コーナー 全体昼会
• 司会者のコーナー ◦ 数字の共有とか ◦ みんなに檄を飛ばしたい内容とか ▪ 放っておくとチームの熱は自然と下がっていくので、 定期的にくべる ▪
例えば、我々の仕事はどんな意味があるのか、サポーター ズパスポートを通じて何を成し遂げたかったのか 全体昼会
• 近況報告 ◦ 今日の気持ち/体調(ニコニコカレンダー) ◦ やったこと、やること、困りポイント • 周知 • Asana確認
◦ マイルストーンが毎日何かしらあるので、その確認 ▪ 今日明日で終わらせなきゃいけないものって何だっけ 全体昼会
• 相談・会話したいこと ◦ ここに書いておくと昼会の場で話す • 掲示板(非同期) ◦ ここに書いておくと非同期で話す ◦ Slackで声を掛けるほどでもない認識合わせによく使う
◦ 非同期の場が明示されていると、定例まで遅延してしまう現象を 減らせる ▪ 昼会まで待たずに会話が行われて、物事が進む 全体昼会
• 雑談 ◦ マジで雑談 ◦ 先週の雑談から抜粋 ▪ ▪
全体昼会
• コロナ禍で雑談コーナーの掘り下げが増えた ◦ 顔合わせが減り、グルーミングが足りなくなった感覚 • 相手が血が通った人間であることを知らせる場 ◦ 人間味のあるエピソードであればあるほど良い • 誰がどの話題で食いつきが良かったかを徐々に把握していく
• チーム内の役割分担が成立すると最高 ◦ ボケ、ツッコミ、かぶせ ◦ こういう発言をすると拾ってくれるだろう、という安心感 全体昼会
• ジブリ制作日誌コーナー ◦ https://www.ghibli.jp/diary_m/diary.html • もともとは雑談の中の一幕だったが、独立コーナー化 ◦ 雑談が無いときに必ず1つはネタがある安心感 ◦ 自分たちの働き方を、比較しながら眺めることができる
• 25年前の今日の日記 ◦ もののけ姫の 公開が1997-07 全体昼会
• エンジニアだけで昼会の延長戦 • アジェンダ ◦ マージされたPR一覧 ◦ 日誌欄 エンジニア昼会
• マージされたPRを1つずつ眺める ◦ チーム内プロジェクトが複数ライン走っている ▪ インフラとか、コンテスト運用とか ▪ 各プロジェクトは企画1、エンジニア1〜2、デザイナー1 ◦ 隣のプロジェクトのPRは実装方針も曖昧にしか知らない
◦ 毎日すべてのPRを眺めることで、把握できる エンジニア昼会
• 毎日すべてのPRを眺めることで、把握できる ◦ 暮らしているだけで脳内マップが育っていく ▪ 実装や問い合わせ対応で担当していなくても、なんとなく雰 囲気を知っているコードが自然と増える ◦ 障害対応の初速が全然違う ▪
「最近変更していた〜が原因か?」という勘所がある。実装 をイメージできる ◦ レビュアー以外でも気になりをコメントしやすい エンジニア昼会
• 日誌欄 ◦ エンジニアとしてのグルーミングの場 ◦ 日々の暮らしの中での気になりを会話する ▪ レビュー時にコメントしたけど全員に伝えたいものとか ▪ 実装する上で悩んでいることとか
◦ エンジニア向けの雑談も行う エンジニア昼会
• レビュー時にコメントしたけど全員に伝えたいものとか ◦ • 実装する上で悩んでいることとか ◦ エンジニア昼会
• 参考になりそうな隣のチームの面白話とか ◦ • 技術ネタの雑談とか ◦
◦ エンジニア昼会
• 技術ネタの雑談はかなり意識している ◦ 参加しているだけで新しい話題にキャッチアップできる ◦ 話題に対して、メンバーがどう感じているかを認識できる • みんながその方向が良さそうと感じていたら、自分も時間を使おうか なという気持ちになる ◦
「本当はもっと◦◦だったら嬉しいと思ってるんだよね〜」 ◦ 変化のキッカケを雑談から生み出したい エンジニア昼会
スプリント会
スプリント会 • 各スプリントの最後にやっている ◦ 隔週金曜、1時間半 • スプリントレトロスペクティブ+スプリントプランニングの場 • アジェンダ
◦ プロジェクト毎のレビュー ◦ スプリント計画 ◦ ふりかえり
プロジェクトごとのレビュー • チーム内プロジェクトが複数ライン走っている ◦ インフラとか、コンテスト運用とか ◦ 各プロジェクトは企画1、エンジニア1〜2、デザイナー1 • 各プロジェクトの健康度をAsana上で報告する
◦ ◦ 報告するのは各プロジェクトのPjMロールの人 • 各プロジェクトの期限超過タスクの確認、調整
スプリント計画 • ロードマップの確認 ◦ 直近数ヶ月の開発計画を確認する ◦ プロジェクト体制早見表 • 次スプリントで達成するマイルストーンやリリース予定の確認
• 「要対応」プロジェクトの調整 • 次スプリントのタスク洗い出し&アサイン
ふりかえり • GKPTでふりかえる ◦ Good、Keep、Problem、Try • ファミ通クロスレビュー方式でコメントを記入する ◦ 各内容に、各人がコメントを付けられる
週次、月次、四半期の会
週次、月次、四半期の会 • 週次 ◦ 各プロジェクトの定例 ◦ プロジェクト間の関連が薄く、全体昼会だと話題が出てきづらいので、独立し た場を用意した ◦
スプリントレビューは主にここで行われている • 月次 ◦ PWG(Performance Working Group) ▪ サービスのレスポンス速度やエラー率、発報されたアラートや障害など を3ヶ月ぐらいの目線で確認し、キャパシティプランニングを行ったり、監 視設定や根本対策に思いを馳せたりする場
週次、月次、四半期の会 • 月次 ◦ エンジニア会 ▪ 本来やった方が良いこととか、バックログにねじ込みたいタ スクとかを会話する場 ▪
ここの会話で優先度が変わることは結構ある • 四半期 ◦ どうなっていたい会
どうなっていたい会 スクロールバーがこの短さになるぐらい ざっくばらんに会話している
• チームのベースは2週間スプリントのスクラム開発 • 粒度の違うコミュニケーションを組み合わせている ◦ チーム内プロジェクトは週次で定例を持つとか ◦ 月次でインフラの会や、エンジニアの会があるとか • 気づきを自然と共有できる場を提供している
◦ 関連する人だけの場にして、言い出しづらい要因を減らす まとめ
• 各人の「思い」を引き出しやすい場を意識して作っている ◦ 誰が何をやりたいか、誰がどこに不満を持っているか ◦ 認識を揃えて、加速したい • これが出てくるチームにするためにグルーミングが必要 ◦ リモートだと意識して雑談コミュニケーションを取らないと、関係
性を作りづらい ◦ 関係性=反応を想像できる=言い出しやすさに繋がる まとめ