Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
グルーミングしながら進めるプロダクト開発
Search
Takafumi ONAKA
PRO
March 30, 2022
Technology
0
2.7k
グルーミングしながら進めるプロダクト開発
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
11
強いチームと開発生産性
onk
PRO
44
17k
ADRを運用して3年経った僕らの現在地
onk
PRO
22
24k
1文字エイリアスのすゝめ
onk
PRO
0
91
すこやかなサービス運営のための 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
AIプラットフォームにおけるMLflowの利用について
lycorptech_jp
PRO
1
170
初めてのDatabricks AI/BI Genie
taka_aki
0
200
マイクロサービスへの5年間 ぶっちゃけ何をしてどうなったか
joker1007
12
5.5k
Databricks向けJupyter Kernelでデータサイエンティストの開発環境をAI-Readyにする / Data+AI World Tour Tokyo After Party
genda
1
520
GitHub Copilotを使いこなす 実例に学ぶAIコーディング活用術
74th
3
3.4k
打 造 A I 驅 動 的 G i t H u b ⾃ 動 化 ⼯ 作 流 程
appleboy
0
350
Microsoft Agent 365 についてゆっくりじっくり理解する!
skmkzyk
0
360
多様なデジタルアイデンティティを攻撃からどうやって守るのか / 20251212
ayokura
0
470
AWSセキュリティアップデートとAWSを育てる話
cmusudakeisuke
0
290
今からでも間に合う!速習Devin入門とその活用方法
ismk
1
750
Kiro Autonomous AgentとKiro Powers の紹介 / kiro-autonomous-agent-and-powers
tomoki10
0
530
大企業でもできる!ボトムアップで拡大させるプラットフォームの作り方
findy_eventslides
1
810
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
331
21k
Faster Mobile Websites
deanohume
310
31k
Site-Speed That Sticks
csswizardry
13
1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
How STYLIGHT went responsive
nonsquared
100
6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.3k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.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週間スプリントのスクラム開発 • 粒度の違うコミュニケーションを組み合わせている ◦ チーム内プロジェクトは週次で定例を持つとか ◦ 月次でインフラの会や、エンジニアの会があるとか • 気づきを自然と共有できる場を提供している
◦ 関連する人だけの場にして、言い出しづらい要因を減らす まとめ
• 各人の「思い」を引き出しやすい場を意識して作っている ◦ 誰が何をやりたいか、誰がどこに不満を持っているか ◦ 認識を揃えて、加速したい • これが出てくるチームにするためにグルーミングが必要 ◦ リモートだと意識して雑談コミュニケーションを取らないと、関係
性を作りづらい ◦ 関係性=反応を想像できる=言い出しやすさに繋がる まとめ