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
780
文化が生産性を作る
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
リモートだからこそ 懸念だし1on1
jimpei
3
600
「コードがむずかしい」からの脱却
jimpei
43
18k
Deployment Painをなくそう
jimpei
3
620
Other Decks in Programming
See All in Programming
Windows版PHPのビルド手順とPHP 8.4における変更点
matsuo_atsushi
0
350
OpenTelemetryを活用したObservability入門 / Introduction to Observability with OpenTelemetry
seike460
PRO
0
170
❄️ NixOS/nixpkgsにSATySFiサポートを実装する
momeemt
2
170
2025/3/18 サービスの成長で生じる幅広いパフォーマンスの問題を、 AIで手軽に解決する
shirahama_x
0
130
CQRS+ES勉強会#1
rechellatek
0
360
AIエージェントを活用したアプリ開発手法の模索
kumamotone
1
700
Firebase Dynamic Linksの代替手段を自作する / Create your own Firebase Dynamic Links alternative
kubode
0
120
バックエンドNode.js × フロントエンドDeno で開発して得られた知見
ayame113
4
1.2k
保守性を高める AWS CDK のセオリー・ベストプラクティス
yamanashi_ren01
5
730
小さく段階的リリースすることで深夜メンテを回避する
mkmk884
2
100
Functional APIから再考するLangGraphを使う理由
os1ma
4
630
AI Agentを利用したAndroid開発について
yuchan2215
0
190
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
600
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Statistics for Hackers
jakevdp
797
220k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
14
1.1k
Agile that works and the tools we love
rasmusluckow
328
21k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.2k
The Language of Interfaces
destraynor
156
24k
Fireside Chat
paigeccino
37
3.3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
134
33k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.2k
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 おわり