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
jimpei
October 02, 2024
Programming
3
660
文化が生産性を作る
Engineering Productivity Meetup #3 in 福岡
https://cybozu.connpass.com/event/328524/
jimpei
October 02, 2024
Tweet
Share
More Decks by jimpei
See All by jimpei
「コードがむずかしい」からの脱却
jimpei
43
18k
Deployment Painをなくそう
jimpei
3
580
Other Decks in Programming
See All in Programming
2024/11/8 関西Kaggler会 2024 #3 / Kaggle Kernel で Gemma 2 × vLLM を動かす。
kohecchi
4
540
From Subtype Polymorphism To Typeclass-based Ad hoc Polymorphism- An Example
philipschwarz
PRO
0
190
プロジェクト新規参入者のリードタイム短縮の観点から見る、品質の高いコードとアーキテクチャを保つメリット
d_endo
1
1.1k
役立つログに取り組もう
irof
28
9.3k
Hotwire or React? ~Reactの録画機能をHotwireに置き換えて得られた知見~ / hotwire_or_react
harunatsujita
8
5k
ピラミッド、アイスクリームコーン、SMURF: 自動テストの最適バランスを求めて / Pyramid Ice-Cream-Cone and SMURF
twada
PRO
10
1.1k
C#/.NETのこれまでのふりかえり
tomokusaba
1
180
詳細解説! ArrayListの仕組みと実装
yujisoftware
0
540
Identifying User Idenity
moro
6
9.4k
Hotwire or React? ~アフタートーク・本編に含めなかった話~ / Hotwire or React? after talk
harunatsujita
1
110
Duckdb-Wasmでローカルダッシュボードを作ってみた
nkforwork
0
100
ふかぼれ!CSSセレクターモジュール / Fukabore! CSS Selectors Module
petamoriken
0
120
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
95
5.2k
Gamification - CAS2011
davidbonilla
80
5k
Building Adaptive Systems
keathley
38
2.3k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
RailsConf 2023
tenderlove
29
890
GitHub's CSS Performance
jonrohan
1030
460k
Intergalactic Javascript Robots from Outer Space
tanoku
268
27k
How GitHub (no longer) Works
holman
310
140k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
46
2.1k
Building an army of robots
kneath
302
42k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
390
A Tale of Four Properties
chriscoyier
156
23k
Transcript
1 文化が生産性を作る 2024.10.02 Engineering Productivity Meetup #3 in 福岡 @jimpei
2 SIer -> Yahoo! JAPAN -> mercari (2021/08)
Software Engineer メルカリでお困りごとを解決するドメインでの プロダクトを開発してます 濱村 甚平(@jinpeih)
3 文化が生産性を作る
4 文化が生産性を作る • 物的生産性 / 付加価値生産性 • DORA / Four
Keys / SPACE 生産性には色々語るべきポイントが多い
5 文化が生産性を作る • 物的生産性 / 付加価値生産性 • DORA / Four
Keys / SPACE どれにフォーカスするにせよ、チームで改善や取り組みをしてますよね? 生産性には色々語るべきポイントが多い
6 本日の問い
7 本日の問い 『その改善や取り組みは どこまでチームで 合意できていますか?』
8 なぜ合意が気になったか
9 私達のチームは順調でした ・数値は目標ではなく健康診断のみに利用 ・健全であるという自負も持っていた デプロイ頻度 月30回, 年間400回 変更失敗率 1%未満 deploys
/ a day / a developer 0.4
10 なぜ合意が気になったか • デプロイ頻度:30/月, 400/年 • D/D/D: 0.4 • 事故はほぼ0
→ 計測してない 私達のチームは順調でした
11 チームに変革期が訪れる
12 BE BE FE FE FE FE PdM EM ~
2023/3
13 BE BE FE FE FE FE PdM EM BE
BE FE FE FE FE PdM EM BE (new) ~ 2023/3 2023/4 ~ 異動や退職
14 BE BE FE FE FE FE PdM EM BE
(new) 2023/4
15 BE BE FE FE FE FE PdM (new) EM
from FE BE (new) FE (new) BE BE FE FE FE FE PdM EM BE (new) 2023/4 2024/4 ~ Role Change
16 BE BE FE FE FE FE PdM (new) EM
from FE BE (new) FE (new) BE BE FE FE FE FE PdM EM BE (new) 育休(2ヶ月) 2023/4 2024/4 ~ Role Change
17 人がまるっと変わるとどうなる?
18 人がまるっと変わるとどうなる? • 生産性が下がってしまう のでは? • 仕組み化されているので大丈夫かも ? • 下がったとしても一時的ではないか?
懸念と楽観が入り交じる
19 人がまるっと変わるとどうなる? • 生産性が下がってしまう のでは? • 仕組み化されているので大丈夫かも ? • 下がったとしても一時的ではないか?
懸念と楽観が入り交じる 結果 問題なかった
20 なぜ合意が気になったか • デプロイ頻度:30/月, 400/年 • D/D/D: 0.4 • 事故はほぼ0
→ 計測してない 私達のチームは順調でした
21 生産性を支えた仕組み 統一されたマイクロサービスの開発フロー • FE, BE, 内部ツール, BFF(GraphQL),,,などいくつかのマイクロサービスがある
• 開発フロー ◦ masterから直接PRを作る ◦ PRでlabelをつけるとPR用の開発環境が作られる ◦ マージするとDEV環境に自動でデプロイされる ◦ release tagをつけるとInternal リリースされる ◦ 問題なければCanaryリリース&本番リリース • ログやモニタリングも同様のツール・仕組み ◦ 問題があったときに見るべきものがわかりやすい
22 生産性を支えた仕組み 裁量と責任を持った意思決定ができるチーム • PdMやステークホルダーと一体となっている ◦ 朝会にも毎日いる
◦ リリース頻度が高いので、朝会で都度デモ&フィードバックをもらう ◦ 細かい認識合わせと意思決定をこの場で決めることができる(大体
23 問題なかった = これからも問題は起きない? これ以上旧メンバーが 抜けるとまずそう... BE BE FE FE
FE FE PdM (new) EM from FE BE (new) FE (new)
24 問題なかった = これからも問題は起きない? これ以上旧メンバーが 抜けるとまずそう... BE BE FE FE
FE FE PdM (new) EM from FE BE (new) FE (new) 仕組みだけでなく ちゃんと文化にする 必要がある
25 大事にしたい価値観とは 例えば, 個人的には .. CI待ちは無駄な時間だよね 意思決定には説明責任あるよね 作ったものは自分で責任を持つ QAしやすくしたい 人力・属人化するものはなくしたい
価値のあるものを作るべきである PRはすぐレビューする PRとデプロイは小さく 仕事(チケット)のサイズを小さく
26 大事にしたい価値観とは 例えば, 個人的には .. CI待ちは無駄な時間だよね 意思決定には説明責任あるよね 作ったものは自分で責任を持つ QAしやすくしたい 人力・属人化するものはなくしたい
価値のあるものを作るべきである PRはすぐレビューする PRとデプロイは小さく 仕事(チケット)のサイズを小さく 聞くと、うんうん、となりますか? が、チームメンバーも全く同じ気持ちですか?
27 実は私たちのチームは暗黙的に合意していたことに気づいた 改善アクションも大事だが アクションが検討される合意が大事 • 日々のディスカッションで価値観はぎりぎり擦り合わさっていたと思う • さらにメンバーが入れ変わると暗黙的な価値観の合意は維持できない可能性が あると感じた
28 これからどうするか • チームでの開発について考え方や価値観などの同意を取る • 同意を作る過程と結果 で目線と意識 を可能な限り揃える ワーキングアグリーメントの作成
29 まとめ 開発生産性に対する取り組み、チームでしっかり合意できていますか? 暗黙的ではなく、ワーキングアグリーメント を作るのはいかがでしょうか?
30 おわり