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
グルーミングしながら進めるプロダクト開発
Search
Takafumi ONAKA
PRO
March 30, 2022
Technology
0
2.5k
グルーミングしながら進めるプロダクト開発
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
44
17k
ADRを運用して3年経った僕らの現在地
onk
PRO
22
23k
1文字エイリアスのすゝめ
onk
PRO
0
71
すこやかなサービス運営のための PWG (Performance Working Group)
onk
PRO
0
1k
オブザーバビリティの Primary Signals
onk
PRO
2
6.1k
Cache Stampede
onk
PRO
1
2.2k
ORM - Object-relational mapping
onk
PRO
2
3.8k
デュアルトラックアジャイルとの向き合い方
onk
PRO
5
13k
技術記事を書く&楽しむチームの作り方
onk
PRO
0
2.1k
Other Decks in Technology
See All in Technology
要件定義・デザインフェーズでもAIを活用して、コミュニケーションの密度を高める
kazukihayase
0
120
CDK CLIで使ってたあの機能、CDK Toolkit Libraryではどうやるの?
smt7174
4
190
品質視点から考える組織デザイン/Organizational Design from Quality
mii3king
0
210
機械学習を扱うプラットフォーム開発と運用事例
lycorptech_jp
PRO
0
610
AWSで始める実践Dagster入門
kitagawaz
1
730
開発者を支える Internal Developer Portal のイマとコレカラ / To-day and To-morrow of Internal Developer Portals: Supporting Developers
aoto
PRO
1
480
ブロックテーマ時代における、テーマの CSS について考える Toro_Unit / 2025.09.13 @ Shinshu WordPress Meetup
torounit
0
130
「その開発、認知負荷高すぎませんか?」Platform Engineeringで始める開発者体験カイゼン術
sansantech
PRO
2
390
【NoMapsTECH 2025】AI Edge Computing Workshop
akit37
0
230
なぜテストマネージャの視点が 必要なのか? 〜 一歩先へ進むために 〜
moritamasami
0
240
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
10
75k
AI時代を生き抜くエンジニアキャリアの築き方 (AI-Native 時代、エンジニアという道は 「最大の挑戦の場」となる) / Building an Engineering Career to Thrive in the Age of AI (In the AI-Native Era, the Path of Engineering Becomes the Ultimate Arena of Challenge)
jeongjaesoon
0
240
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
KATA
mclloyd
32
14k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.2k
Documentation Writing (for coders)
carmenintech
74
5k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
BBQ
matthewcrist
89
9.8k
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週間スプリントのスクラム開発 • 粒度の違うコミュニケーションを組み合わせている ◦ チーム内プロジェクトは週次で定例を持つとか ◦ 月次でインフラの会や、エンジニアの会があるとか • 気づきを自然と共有できる場を提供している
◦ 関連する人だけの場にして、言い出しづらい要因を減らす まとめ
• 各人の「思い」を引き出しやすい場を意識して作っている ◦ 誰が何をやりたいか、誰がどこに不満を持っているか ◦ 認識を揃えて、加速したい • これが出てくるチームにするためにグルーミングが必要 ◦ リモートだと意識して雑談コミュニケーションを取らないと、関係
性を作りづらい ◦ 関係性=反応を想像できる=言い出しやすさに繋がる まとめ