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
KazukiHayase
April 28, 2023
Technology
4
3.6k
生産性が上がり続けるチームを作るための第一歩
KazukiHayase
April 28, 2023
Tweet
Share
More Decks by KazukiHayase
See All by KazukiHayase
Goでテストをしやすくするためにやったこと
kazukihayase
1
680
GraphQLクライアントの技術選定 2023冬
kazukihayase
9
6.1k
Introduction and Insights of the Hasura-based Architecture
kazukihayase
0
810
自分だけが頑張るのをやめて、フルスタックなチームを作る
kazukihayase
2
2.3k
Goでテンプレートからファイルを自動生成するCLIを作る
kazukihayase
0
1k
GraphQLにおけるクライアントキャッシュ戦略
kazukihayase
0
2.6k
MUIをベースにしたデザインシステムの構築
kazukihayase
0
440
Hasuraを活用するためのTips集
kazukihayase
0
33k
ReactとGraphQLで実現する宣言的データフェッチ
kazukihayase
2
3.1k
Other Decks in Technology
See All in Technology
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
950
Amazon Forecast亡き今、我々がマネージドサービスに頼らず時系列予測を実行する方法
sadynitro
0
160
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.8k
型チェック 速度改善 奮闘記⌛
tocomi
1
190
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
140
ドメインの本質を掴む / Get the essence of the domain
sinsoku
2
160
Engineer Career Talk
lycorp_recruit_jp
0
200
TypeScript、上達の瞬間
sadnessojisan
48
14k
Adopting Jetpack Compose in Your Existing Project - GDG DevFest Bangkok 2024
akexorcist
0
120
Amazon CloudWatch Network Monitor のススメ
yuki_ink
1
220
SDNという名のデータプレーンプログラミングの歴史
ebiken
PRO
2
200
Flutterによる 効率的なAndroid・iOS・Webアプリケーション開発の事例
recruitengineers
PRO
0
160
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
111
49k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
24k
Ruby is Unlike a Banana
tanoku
97
11k
What's in a price? How to price your products and services
michaelherold
243
12k
Speed Design
sergeychernyshev
25
620
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Writing Fast Ruby
sferik
627
61k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
140
Rails Girls Zürich Keynote
gr2m
94
13k
The Pragmatic Product Professional
lauravandoore
31
6.3k
Transcript
生産性が上がり続けるチームを作るための第一歩 【開発生産性 Meetup #1】開発生産性可視化による変化~事例LTから学ぶベストプラクティス~ 2023.04.26
自己紹介 名前:早瀬和輝 経歴:BuySell Technologiesに2021年に新卒入社 所属:開発2部 出品管理SaaSチーム 役職:フルスタックエンジニア、プロジェクトリーダー 趣味:開発、マンガ、アニメ、ベース、バスケ Twitter:@KazukiHayase
アジェンダ はじめに 01 過去の開発体制とチームの課題 02 立ち止まりと振り返り 03 振り返り後の開発生産性 04 まとめ
05
01 はじめに
None
出品管理チームに所属
チーム体制と開発生産性 合計 11 名のチームでスクラムで開発 EM (1名) PdM (1名) デザイナー (1名)
エンジニア (8名)
一人当たり1日平均3PR作成 コミットからマージまで平均12.2h
チームのベストプラクティス • PRの差分は60行以内に収める • PRのレビューはどんなに遅くても2時間以内に行う • スクラムイベント、PRのレビューは全員参加 • 全員フルスタックに開発
これらのベストプラクティスを実践し 生産性の高いチームになるために最初にやったこと 今日の話すこと 01
02 過去の開発体制とチームの課題
直近1年半の開発生産性の推移
直近1年半の開発生産性の推移 ここの話
当時の開発体制① BE 領域で担当者が別れており、自分は両方を担当 FE 業務委託
当時の課題① • フロントエンドの属人化 • BE・FE間のコミュニケーションコストが高い • タスクの依存関係により作業が進められない • FEのタスクを用意して指示する作業が必要
当時の開発体制② リソース効率重視で人にタスクをアサインしていた
当時の課題② かなり属人化していたので、詰まっても誰もヘルプに入れない
当時の課題② • 共通認識がないので実装もレビューもリードタイムが長くなる • 目先の実装を優先した結果、手戻りが頻発する • タスクが個人に委ねられているので進捗が見えづらい
03 立ち止まりと振り返り
立ち止まりと振り返り 前述した課題についてはチームメンバー各々が感じていた 一度立ち止まって、チームの課題と目的の整理を実施
チーム内で課題と目的を設定
話し合った結果 理想のチームの状態を実現するために、本格的にスクラムを導入 新しい取り組みに置ける、一時的な生産性の低下もチーム内で合意
取り組み始めの開発生産性 一時的に低下
04 振り返り後の開発生産性
振り返り後の開発生産性 • PRの差分は60行以内に収める • PRのレビューはどんなに遅くても2時間以内に行う • スクラムイベント、PRのレビューは全員参加 • 全員フルスタックに開発 改善を繰り返す中でベストプラクティスが生まれた
その他の取り組み 生産性指標を可視化してチームのワークフローを改善したら生産性が爆上がりした話 リファイメントとプランニングを改善することで、チームの属人化が解消された話
振り返り後の開発生産性 爆上がり
フロントエンドのタスク不足 • FEのテックリードとして新メンバーがjoin • 直近で優先度の高いFEのタスクが無くなった その後のチームの課題と解決策 異動前のチームとのギャップ • スクラム未採用のチームから新メンバーがjoin •
チームの開発の進め方に疑問を感じていた ◦ e.g. スプリントプランニングなどMtgが多い バックエンドをやってみよう! とりあえずやってみよう!
過去の経験を踏まえて 下記のような選択肢は採用しなかった • 単独でFEのタスクを進める • プランニングを省略する • 人にタスクをアサインする 過去の失敗経験から学んだ上での意思決定
直近の開発生産性 開発生産性は上がり続けている
全体の流れ なんちゃって スクラム 本格的に スクラム導入 + 生産性向上 新規メンバー 加入 さらなる
生産性向上 立ち止まり + 振り返り 生産性の低い状態に戻ることを防いだ
全体の流れ なんちゃって スクラム 本格的に スクラム導入 + 生産性向上 新規メンバー 加入 さらなる
生産性向上 立ち止まり + 振り返り ここで立ち止まり課題と目的の共通理解を 作ったからこそ生産性を上げ続けられている
05 まとめ
まとめ • 一度立ち止まることで、結果的に生産性の高いチームになれた • 最初に課題と目的を明確にして、共通の理解を持つことが重要 ◦ できればログを残して、いつでも立ち戻れるように