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
Findy Team+ Awardを受賞したかった!ベストプラクティス応募内容をふりかえり、開...
Search
yuki
December 18, 2024
Programming
0
62
Findy Team+ Awardを受賞したかった!ベストプラクティス応募内容をふりかえり、開発生産性向上もふりかえる / Findy Team Plus Award BestPractice and DPE Retrospective 2024
D-Plus Tokyo #9 2024年大忘年会!開発生産性にトライした1年を振り返ろうLT会
https://d-plus.connpass.com/event/336938/
yuki
December 18, 2024
Tweet
Share
More Decks by yuki
See All by yuki
複数プロダクトの技術改善・クラウド移行に向き合うチームのフレキシブルなペア・モブプログラミングの実践 / Flexible Pair Programming And Mob Programming
honyanya
0
400
Ansibleもくもく会 2024.8 成果報告 / Ansible Mokumoku 2024.08 Report
honyanya
0
29
SLO導入と Datadog SLO Dashboard / SLO introduction and Datadog SLO Dashboard
honyanya
0
420
CodeZine Night #2「若手エンジニアが語る技術への挑戦とキャリア戦略」
honyanya
0
130
Other Decks in Programming
See All in Programming
rails stats で紐解く ANDPAD のイマを支える技術たち
andpad
1
290
Security_for_introducing_eBPF
kentatada
0
110
The Efficiency Paradox and How to Save Yourself and the World
hollycummins
1
440
fs2-io を試してたらバグを見つけて直した話
chencmd
0
220
Scalaから始めるOpenFeature入門 / Scalaわいわい勉強会 #4
arthur1
1
300
tidymodelsによるtidyな生存時間解析 / Japan.R2024
dropout009
1
760
今年のアップデートで振り返るCDKセキュリティのシフトレフト/2024-cdk-security-shift-left
tomoki10
0
190
なまけものオバケたち -PHP 8.4 に入った新機能の紹介-
tanakahisateru
1
120
Semantic Kernelのネイティブプラグインで知識拡張をしてみる
tomokusaba
0
180
Mermaid x AST x 生成AI = コードとドキュメントの完全同期への道
shibuyamizuho
0
160
htmxって知っていますか?次世代のHTML
hiro_ghap1
0
330
テストコード文化を0から作り、変化し続けた組織
kazatohiei
2
1.5k
Featured
See All Featured
KATA
mclloyd
29
14k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
Gamification - CAS2011
davidbonilla
80
5.1k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
A Modern Web Designer's Workflow
chriscoyier
693
190k
Become a Pro
speakerdeck
PRO
26
5k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
RailsConf 2023
tenderlove
29
940
Designing for humans not robots
tammielis
250
25k
The Cost Of JavaScript in 2023
addyosmani
45
7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Visualization
eitanlees
146
15k
Transcript
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ Findy Team+ Awardを受賞したかった! ベストプラクティス応募内容をふりかえり、 開発生産性向上もふりかえる
D-Plus Tokyo #9 2024年大忘年会!開発生産性にトライした1年を振り返ろうLT会 1 Matsutani Yuki 2024.12.18 ©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 本日話すこと ”2024年大忘年会!開発生産性にトライした1年を振り返ろうLT会 ” Findy Team+
Awardを受賞はできませんでした...... ベストプラクティス賞に応募した内容をふりかえりながら、 弊社でのここ1年の開発生産性向上がどうだったのかをふりかえります! 〇〇の取り組みいいですね! 〇〇の取り組みもっと〇〇すると良さそうですね! ということをぜひ懇親会でお話させてください この取り組みよさそう、真似したい!などあればぜひ持ち帰ってください 2
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ アジェンダ - 前提知識紹介 - プロダクト開発組織について
- 開発生産性チームについて - XP・ペアプロ文化について - ベストプラクティス応募内容紹介 - 徹底的なユーザーストーリー中心のコミュニケーションと開発 - 徹底的なペア作業の実施 - 不確実性に合わせたフレキシブルなペア・モブプログラミングを実施 - 監査のために必要なフローを守った上でのリリース時間の徹底的な短縮 - 受け入れテスト基盤による、ビジネス的な価値の担保と互換性を両立したモダナ イゼーション - 開発生産性チームによる、開発生産性ふりかえりの定期実施と改善 - 定量的なふりかえり - まとめ 3
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 自己紹介 名前: Matsutani Yuki ほにゃにゃ
/ まっちゃん X: @honyanyas(yuki / ほにゃにゃ) 所属: 株式会社ADWAYS DEEE アドテクノロジーディビジョン 技術改善第三ユニット(クラウド移行チーム) リードアプリケーションエンジニア 最近のお仕事: オンプレミスからパブリッククラウドへの移行 Ansible CI/CDパイプライン改善 アドウェイズエンジニアブログ運営 趣味: YouTube(自主制作アニメ系みます、日々の更新が楽しみ) お酒(ウイスキー多め、厚岸や宮城峡・アベラワーが好き) 麻雀(見る雀、アプリ、シーズンも半分が終わった) アイコン Xアカウント 4
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 自己紹介 登壇実績: • 複数プロダクトの技術改善・クラウド移行に向き合うチームのフレキシブル なペア・モブプログラミングの実践
/ XP祭り2024 • SLO導入と Datadog SLO Dashboard / JDDUG#5 アドウェイズエンジニアブログで最近書いた記事: • 「技術広報やってます!」最近技術広報に携わっているエンジニアが最初に やりはじめたこと • 【イベント開催レポート】株式会社BuySell Technologiesさんと『2024年を 振り返ろう!若手エンジニアのための交流LTナイト』を開催しました • 編集チームの運用負荷とPVの伸び悩みからアドベントカレンダーをおやすみ しています • GitHub Actionsコンテナ利用時にansible-lintの実行結果がローカル環境と 異なったので原因調べました • 「技術広報の集い #3」に参加して、飛び込みLTしてきました 書いた記事 アイコン 5
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 自己紹介 D-Plus参加: #5から参加してます! 6
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ Delight Mission 喜び つくろう。 「よかった」が
めぐる世界を。 Value Exciting わくわく こなすより、 夢中になろう。 Value Eager 熱心 傍観者より、 冒険者になろう。 Value Exceed 超える 前例にならうより、 前例になろう。 Mission & Value めぐる世界を。 小さな変化の積み重ねが革新に繋がる ADWAYS DEEEが世界を変える つくろう。 「よかった」が
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 会社紹介 広告システムを作っております 8 Adways IR資料(2023年12月期
決算説明会)
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 会社紹介 認知メインの広告(ディスプレイ広告)ではなく 体験メインの広告(アフィリエイト、リワード)を扱っています 9
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 会社紹介 D-Plus、本日の登壇をもって3回連続登壇! 10
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 前提知識紹介 11
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ プロダクト開発組織について 大きくプロダクトチームと技術改善チームの2つに分かれています 運用チームや専任チーム(データサイエンティスト)もあります 12
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 開発生産性チームについて 開発生産性向上をミッションとしたバーチャルなチーム(兼務) Team+ CSとのやり取りや各開発チームへの働きかけをしています 13
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ XP・ペアプロ文化について 常に一緒に開発 プロダクトチームはPdMやデザイナーなどの異なるロールともペア作業をする 14 多様性のあるプロダクトチームを目指した共創の3年間の変化
複数プロダクトの技術改善・クラウド移行に向き合うチームの フレキシブルなペア・モブプログラミングの実践
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ ベストプラクティス応募内容紹介 15
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 開発フローから見てどこにアプローチできたのか? 16
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 開発フローから見てどこにアプローチできたのか? 17
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 徹底的なユーザーストーリー中心のコミュニケーションと開発 18 実施した背景・目的(Why) ディスカバリーフェーズで各ロールが連携して、ソリューションのことを決定する が、デリバリーフェーズになるとエンジニアに基本的にお任せ、チーム内の関心ご
とが多くなりがちだったりPdMが進捗を理解できない部分もあった。 概要(Who,When,How) エンジニア主体のタスク管理ではなく、PdM主体のストーリー管理とエンジニア主 体のchore管理に変更。 PdMがストーリーには価値の最小の粒度(開発は2,3日で終わる粒度、1ストーリー 1PR)で記載し、エンジニアがそれを元に開発を行い、受け入れ作業をPdMが行 う。ストーリーの実装はそのストーリーの基準を満たす最小のものとする。 リファクタリングはchoreとしてエンジニアが管理・気軽に出すことができること で、価値を確実に生み出しながらリファクタリングによる品質の向上も頻繁にでき る。 成果・効果(What) FBサイクルの高速化)PdMがデリバリーフェーズにおいて受け身にならずに進捗把 握が出き、価値とのズレを確認したらすぐにエンジニアにFBできる 価値への認識向上)価値を記載したストーリーベースで話しているので常にチーム が価値を認識し合うものになる 定量化)価値を記載したストーリーのみポインティングするのでチームとしてどれ だけ価値を出し続けられているか明確に分かる
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 19
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 20
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 詳細 ユーザーストーリーを元にした会話と定着 https://blog.engineer.adways.net/entry/2024/06/21/120000 21
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 徹底的なペア作業の実施 22 実施した背景・目的(Why) プランニングにおいて各タスクに担当者を設定した上で作業を進めていた。 その課題として、タスクが進行中のままになってしまう、担当者間で認識にずれが
生じる、そもそも担当者に偏りが生じてしまうなどの問題が起きていた。 これを解決するために、勤務時間の大半をペア作業時間とする動きを取り入れた。 概要(Who,When,How) 弊社の標準出社時間である10〜19時のうち10〜18時を、チーム外とのミーティン グなどの事情がある場合以外はペア作業時間とした。 ペアはローテーションし、それぞれの作業内容についてチーム全員がある程度理解 した状態が保たれるようにした。 成果・効果(What) 各人が個別に作業を進めていた時と比べて、一人で悩む時間やレビューを待ってい る時間が無くなり、フロー効率を高めることができた。 またペアがローテーションされることで、チーム全員がそれぞれの作業を把握して いる状態となり、属人化による負担の偏りが生じにくい状態となった。
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 23
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 24
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 詳細 常に喋っている!? TanzuLabs流XPで「徹底的な同期コミュニケーション」を体験 して得たものとは https://blog.engineer.adways.net/entry/2024/05/24/110000
25
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 不確実性に合わせたフレキシブルなペア・モブプログラミングを実施 26 実施した背景・目的(Why) 基本的に3人でモブプログラミングを実施をしていたがメンバーが4人 になることで2ペアに分かれてペアプログラミングを行ってアウトプッ
トの量を増やし、プロジェクトのスピードを上げたい。 概要(Who,When,How) 不確実性が高いもの(リファインメントを行ったが考えることが必要 になったタスク、途中で認識あわせが必要になったタスクなど):4人 全員で取り組む 不確実性が低いもの(リファインメントで進め方がみえてるタスクな ど):2人で取り組む ※基本はこのスタイル 職務や休暇の関係上チームで3人に稼働となるので、3人ベースに時間 ごとのローテーションを行なった。 成果・効果(What) チームとしてペア・モブプログラミングの選択肢が出てタスクの不確 実性を元にスタンドアップで判断することができる。(もちろん日の 途中で相談、変更もできる)
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 27
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 詳細 複数プロダクトの技術改善・クラウド移行に向き合うチームのフレキシブルなペ ア・モブプログラミングの実践 https://speakerdeck.com/honyanya/flexible-pair-programming-and-mob-pr ogramming
28
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 監査のために必要なフローを守った上でのリリース時間の徹底的な短縮 29 実施した背景・目的(Why) 毎年監査を受けており、修正コードの反映には監査法人に提出する資料の元となる 申請が必要である。
また開発から20年以上が経過するシステムであるため、手作業によるリリース及び 検証が必要な状態であった。 この状況を改善するため、手作業の排除によるリリース時間の徹底的な短縮につな がる仕組みを導入した。 概要(Who,When,How) 実施範囲で記述したメンバーを中心に1ヶ月弱ほどで開発。 またアプリケーション 内部ではGo・テスト駆動開発による開発を実施しGitHub Copilotも活用した上 で、可読性・仕様の透明性・速度のそれぞれを高い水準に保った開発を行なった。 成果・効果(What) それまでトラッキングに関するコードのリリース作業には、最短でも数時間ほど要 していたが、これが15,20分ほどに短縮された。 また手順においても、デプロイに 必要な手動によるサーバー上でのコード反映・プログラムの実行やその手順書の作 成、リリース申請が必要だったところから、ボタンを数回押すだけで必要な書類の 作成及び自動でのデプロイが可能となった。
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 30
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 31
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 受け入れテスト基盤による、ビジネス的な価値の担保と互換性を両立したモダナイゼーション 32 実施した背景・目的(Why) 広告プラットフォームのトラッキングシステムは稼働から20年以上が経過し、一部 の人しか知らない暗黙の仕様が散見される状態となっていた。
この状態を打破するために過去にもモダナイゼーションの試みがなされたものの、 金銭を扱う以上挙動の変化に神経質にならざるを得ず、作業が滞る状態となってい た 概要(Who,When,How) トラッキングシステムの一部分のみをテスト可能だった基盤について、各開発 フェーズごとに実施範囲で記述したメンバーを中心に改修。 テスト基盤は、新旧のシステムに同じデータを入力し、出力データに差異がないか を比較するものとなっている。 成果・効果(What) ビジネス的に最善な形での実装を進めつつ、テスト基盤によって互換性を担保する ことができるため、古いコードを都度翻訳していくような実装の進め方よりも安心 感を持った上でのスピード感のある実装をできた。
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 33
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 34
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 35
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 詳細 20周年を迎えたサービスでビジネスドメインと向き合いモダナイゼーションを推 進 https://blog.engineer.adways.net/entry/2024/04/26/170000 36
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 開発生産性チームによる、開発生産性ふりかえりの定期実施と改善 37 実施した背景・目的(Why) 社内で、なんとなく開発速度が遅いように感じるもののその原因が明確でなく、何 を指標とすればいいのかが定まらないといった課題が存在していた。
これに対し、開発生産性カンファレンスにおいて多くの開発組織がPR数を指標とし ていた点に注目し、部署の目標としてチームごとに平均して1人1日1PRを目標とし て設定した。 概要(Who,When,How) 単に目標を設定するだけでなく、開発生産性チームが主体となって各チームでの定 期的なふりかえりの実施(特にサイクルタイムの長いPRの要因分析やネクストアク ションの模索)を行った。 また、チーム内でサイクルタイム短縮のための実践をしやすいレビューフェーズに 注目したレビュー優先施策の実施や、Feature Flagの導入検討といった技術・文化 両面での改善の模索も行った。 成果・効果(What) 目標設定によるサイクルタイムの短縮が起こり、またそれまで顕在化していなかっ た課題を見つけることができた。
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 38
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 39
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 定量的なふりかえり 40
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 41
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 42 👍 👍 👍
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 43
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 44 👍 👍 👍 👍
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 45
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 46 👍
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 定量比較 1年前と比較して良くなっている 47 期間 2023/11/15~2023/12/14
2024/11/15~2024/12/14 DevOps分析 デプロイ頻度:4件 変更のリードタイム:52.8h 変更障害率:2.4% 平均修復時間:0.5h デプロイ頻度:8.6件(+4.6件) 変更のリードタイム:30.0h(-22.8h) 変更障害率:1.1%(-1.3ポイント) 平均修復時間:9.0h(+8.5h) サイクルタイム分析 コミット〜オープン:22.3h オープン〜レビュー:9.9h レビュー〜アプルーブ:8.3h アプルーブ〜マージ:10.3h コミット〜オープン:17.1h(-5.2h) オープン〜レビュー:3.0h(-6.9h) レビュー〜アプルーブ:1.6h(-6.7h) アプルーブ〜マージ:3.5h(-6.8h) レビュー分析 平均変更行数:387.5行 平均変更行数:219.7行(-167.8行)
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ ここからがもっと大変になるイメージ 導入後のスタートダッシュしきった状態 ここからさらに数値を上げるのは難しい、が向き合わないといけない 48
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ まとめ 49
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ ベストプラクティス応募内容をふりかえり、開発生産性向上もふりかえる いろんなプラクティスがあったみたいだけど......? - XP文化が広がることで開発生産性も上がる -
上流工程からテストまでのプロセス短縮にもつながっている 開発生産性はどうなった......? - 組織全体として1年前と良くなってきている - ここから上げていくのは大変だが向き合う必要がある 50
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ ⤴開発生産性をもっと上げる!⤴ 💪良い開発を増やす!💪 🔄🔄🔄 🤔来年は受賞できるか?🤔 51
©ADWAYS DEEE Inc. ハッシュタグ: #でぃーぷらすトウキョウ 🙇ご静聴ありがとうございました!🙇 52