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
akkino/D-En
October 26, 2024
Programming
1
1.6k
プロジェクト新規参入者のリードタイム短縮の観点から見る、品質の高いコードとアーキテクチャを保つメリット
JJUG CCC 2024 Fall
https://ccc2024fall.java-users.jp/
akkino/D-En
October 26, 2024
Tweet
Share
More Decks by akkino/D-En
See All by akkino/D-En
チームでDDDを実践するためのことはじめ
d_endo
0
800
経験学習型キャリア探索法 ~ふりかえりで始めるキャリアパスの見つけ方~
d_endo
2
1.3k
負荷試験の観点から見るGraphQLにおけるPHPのコードチューニング
d_endo
1
2.7k
Step Functions Expressで作るフルマネージドなサーバーレスバッチ
d_endo
1
2.6k
AWS認定資格のススメ
d_endo
1
490
Laravel + Lighthouseで始める低コストなGraphQL入門
d_endo
4
4.1k
30分でOpenID Connect完全に理解したと言えるようになる勉強会
d_endo
47
29k
今だからこそ考える「科学技術の倫理学」
d_endo
2
1.4k
アホで乗り越える失敗との付き合い方
d_endo
2
1.4k
Other Decks in Programming
See All in Programming
CQRS/ESのクラスとシステムフロー ~ RailsでフルスクラッチでCQRSESを組んで みたことから得た学び~
suzukimar
0
180
ドメイン駆動設計とXPで支える子どもの未来 / Domain-Driven Design and XP Supporting Children's Future
nrslib
0
350
ts-morph実践:型を利用するcodemodのテクニック
ypresto
1
480
クラシルリワードにおける iOSアプリ開発の取り組み
funzin
1
730
私のRubyKaigi 2025 Kaigi Effect / My RubyKaigi 2025 Kaigi Effect
chobishiba
1
200
マテリアルって何者?RealityKitで扱うマテリアル入門
nao_randd
0
130
Investigating Multithreaded PostgreSQL
macdice
0
130
Feature Flag 自動お掃除のための TypeScript プログラム変換
azrsh
PRO
4
550
バランスを見極めよう!実装の意味を明示するための型定義 TSKaigi 2025 Day2 (5/24)
whatasoda
2
710
TypeScriptのmoduleオプションを改めて整理する
bicstone
4
380
JVM の仕組みを理解して PHP で実装してみよう
m3m0r7
PRO
1
230
TVer iOSチームの共通認識の作り方 - Findy Job LT iOSアプリ開発の裏側 開発組織が向き合う課題とこれから
techtver
PRO
0
600
Featured
See All Featured
Writing Fast Ruby
sferik
628
61k
Speed Design
sergeychernyshev
30
960
How to Ace a Technical Interview
jacobian
276
23k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
105
19k
Navigating Team Friction
lara
185
15k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.8k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Producing Creativity
orderedlist
PRO
345
40k
The Power of CSS Pseudo Elements
geoffreycrofte
76
5.8k
Transcript
© 2024 Loglass Inc. 2024.10.27 株式会社ログラス 遠藤大輔 プロジェクト新規参入者の リードタイム短縮の観点から見る、 品質の高いコードとアーキテクチャを保つメリット
1
© 2024 Loglass Inc. プロフィール 遠藤 大輔 株式会社ログラス プロダクト開発部 エンジニア
株式会社ゆめみでエンジニア、アーキテクトとして開発に携 わったのち、2024年6月に株式会社ログラスへ入社。 インポート領域を中心にフィーチャーチームのエンジニアとし てプロダクト開発に従事している。最近は組織的に導入され たアジャイルフレームワークのFASTにおいてスロット(チー ム)をリード中。 Daisuke Endo 2
© 2024 Loglass Inc. 本日のアジェンダ 1. 新規参入者のリードタイムの短縮と内部品質・組織文化の関係性 2. 内部品質と組織文化がリードタイム短縮にどれほど寄与するのか? 3.
まとめ アジェンダ
© 2024 Loglass Inc. 01 新規参入者のリードタイムの短縮と 内部品質・組織文化の関係性 4
© 2024 Loglass Inc. 機能をリリースするまでにかかるトータルリードタイム 要 件 定 義 設
計 開 発 テ ス ト リリース 01|新規参入者のリードタイムの短縮と内部品質・組織文化の関係性
© 2024 Loglass Inc. 機能をリリースするまでにかかるトータルリードタイム 要 件 定 義 設
計 開 発 テ ス ト キ ャ ッ チ ア ッ プ 新規参入者が リリース 01|新規参入者のリードタイムの短縮と内部品質・組織文化の関係性
© 2024 Loglass Inc. 成長する組織・プロダクトとキャッチアップのコストの増大 成長する組織・プロダクト 複雑化するコードと仕様 キャッチアップにかかる 時間とコストの増大 結果的にリードタイムが増加
01|新規参入者のリードタイムの短縮と内部品質・組織文化の関係性
© 2024 Loglass Inc. キャッチアップにかかる時間が 「ゼロ」 になったとしたら どんな世界になりますか? 8
© 2024 Loglass Inc. キャッチアップの時間が「ゼロ」になった世界 増員コストゼロ 即座に100%の開発 開発速度の向上 価値提供速度の最大化 個⼈もチームも組織もみんなハッピー
01|新規参入者のリードタイムの短縮と内部品質・組織文化の関係性
© 2024 Loglass Inc. 学び方の四象限 反省型 ・振り返り、KPT 指導型 ・FBをもらう ・怒られること
観察型 ・見て真似する(盗む) 学問型 ・本を読む 自分で考えて学ぶ 他人の考えから学ぶ 自分の経験から学ぶ 他人の経験から学ぶ 参照元:https://speakerdeck.com/nrryuya/kiyatutiatuhusu-du-kasu-i-number-toha?slide=4 01|新規参入者のリードタイムの短縮と内部品質・組織文化の関係性
© 2024 Loglass Inc. 参照元:https://speakerdeck.com/nrryuya/kiyatutiatuhusu-du-kasu-i-number-toha?slide=4 学び方の四象限 反省型 • 手を動かし、実験し、技術の手 触り感を掴む
• 設計などは自分でウンウン悩 んで初めて身につく 指導型 • レビューやペアプロを通して、 良い方法を学ぶ 観察型 • 人のコードから良い実装や設 計をパクる • 他の作業を見ながら、思考回 路を想像する 学問型 • 技術の本質を論理的に理解す るには、学術文献が重要 • 実装のデザインパターンなど も先人が整理してくれている 自分で考えて学ぶ 他人の考えから学ぶ 自分の経験から学ぶ 他人の経験から学ぶ 01|新規参入者のリードタイムの短縮と内部品質・組織文化の関係性
© 2024 Loglass Inc. 参照元:https://speakerdeck.com/nrryuya/kiyatutiatuhusu-du-kasu-i-number-toha?slide=4 学び方の四象限 反省型 • 手を動かし、実験し、技術の手 触り感を掴む
• 設計などは自分でウンウン悩 んで初めて身につく 指導型 • レビューやペアプロを通して、 良い方法を学ぶ 観察型 • 人のコードから良い実装や設 計をパクる • 他の作業を見ながら、思考回 路を想像する 学問型 • 技術の本質を論理的に理解す るには、学術文献が重要 • 実装のデザインパターンなど も先人が整理してくれている 自分で考えて学ぶ 他人の考えから学ぶ 自分の経験から学ぶ 他人の経験から学ぶ 開発組織からサポート可能 01|新規参入者のリードタイムの短縮と内部品質・組織文化の関係性
© 2024 Loglass Inc. 内部品質の向上と組織文化の醸成 規律のあるコード 内部品質を大事にする文化 観察型 指導型 学問型
01|新規参入者のリードタイムの短縮と内部品質・組織文化の関係性
© 2024 Loglass Inc. 02 内部品質と組織文化がリードタイム短縮に どれほど寄与するのか? 14
© 2024 Loglass Inc. 様々な取り組みをしているが、 実施にどれぐらい効果があるのか? 検証してみよう! 02|内部品質と組織文化がリードタイム短縮にどれほど寄与するのか?
© 2024 Loglass Inc. • 入社してから大まかにコードを理解するまで の期間 • 入社して最初のPRを作成するまでの期間 •
担当領域の現在の理解度 • コードや仕様を理解するのに役立ったポイント 開発部のメンバーにアンケート チーム名 02|内部品質と組織文化がリードタイム短縮にどれほど寄与するのか?
© 2024 Loglass Inc. アンケート結果 入社してから大まかにコードを理解するのにかかった期間 入社してから最初のPRを作成するまでの期間 1週間以内:53.3% 1ヶ⽉以内:86.6% 1週間以内が90%以上
約9割が1週間〜1ヶ月で 大まかにキャッチアップができている 02|内部品質と組織文化がリードタイム短縮にどれほど寄与するのか?
© 2024 Loglass Inc. アンケート結果 60〜80%なら短期間で成果が出ている 100%のキャッチアップには時間がかかる ほぼ全領域を理解できている 一部だけなら理解できている ほぼ理解できていない
担当領域の現在の理解度 02|内部品質と組織文化がリードタイム短縮にどれほど寄与するのか?
© 2024 Loglass Inc. アンケート結果:役立ったポイント • 規律のあるコード ◦ オニオンアーキテクチャ ◦
ドメイン駆動設計・ドメインモデル図 ◦ プロダクトのコードの作法・設計標準 • 内部品質を大事にする文化 ◦ Unitテストの充実さ ◦ ペアプログラミング・オンボーディング ◦ リファクタリングが当たり前の文化 02|内部品質と組織文化がリードタイム短縮にどれほど寄与するのか?
© 2024 Loglass Inc. 特に効果のあった施策 • オニオンアーキテクチャ・ドメイン駆動設計 • プロダクトのコードの作法・設計標準 •
リファクタリングが当たり前の文化 02|内部品質と組織文化がリードタイム短縮にどれほど寄与するのか?
© 2024 Loglass Inc. オニオンアーキテクチャ・ドメイン駆動設計 02|内部品質と組織文化がリードタイム短縮にどれほど寄与するのか?
© 2024 Loglass Inc. オニオンアーキテクチャ・ドメイン駆動設計 • パッケージ戦略が明確でどこにどのような機能があるのかわかりやすい ◦ 責務が明確でなんとなく探すだけで見たいところが見つかる ◦
複雑な部分とそうでない部分がはっきりしている ◦ フロントのURLからバックエンドまで一貫してコードのありかが追いやすい • プロダクトが何を実現したくて、どういった機能があるのかがコードから大 まかに想像できる 02|内部品質と組織文化がリードタイム短縮にどれほど寄与するのか?
© 2024 Loglass Inc. 参照元:https://speakerdeck.com/nrryuya/kiyatutiatuhusu-du-kasu-i-number-toha?slide=4 学び方の四象限 反省型 • 手を動かし、実験し、技術の手 触り感を掴む
• 設計などは自分でウンウ 指導型 • レビューやペアプロを通して、 良い方法を学ぶ 観察型 • 人のコードから良い実装や設 計をパクる • 他の作業を見ながら、思考回 路を想像する 学問型 • 技術の本質を論理的に理解す るには、学術文献が重要 • 実装のデザインパターンなど も先人が整理してくれている 自分で考えて学ぶ 他人の考えから学ぶ 自分の経験から学ぶ 他人の経験から学ぶ 02|内部品質と組織文化がリードタイム短縮にどれほど寄与するのか? 他人の経験や思考へのアクセスが容易
© 2024 Loglass Inc. プロダクトコードの作法・設計標準 02|内部品質と組織文化がリードタイム短縮にどれほど寄与するのか?
© 2024 Loglass Inc. プロダクトコードの作法・設計標準 • 設計標準のドキュメントがしっかりメンテナンスされていて理解しやすい ◦ ドメインモデリングガイド ◦
リファクタリングの指標 ◦ テストコード設計標準 ◦ テスト分析設計 • メンバーが出版している書籍が理解に役立った 02|内部品質と組織文化がリードタイム短縮にどれほど寄与するのか?
© 2024 Loglass Inc. 参照元:https://speakerdeck.com/nrryuya/kiyatutiatuhusu-du-kasu-i-number-toha?slide=4 学び方の四象限 反省型 • 手を動かし、実験し、技術の手 触り感を掴む
• 設計などは自分でウンウ 指導型 • レビューやペアプロを通して、 良い方法を学ぶ 観察型 • 人のコードから良い実装や設 計をパクる • 他の作業を見ながら、思考回 路を想像する 学問型 • 技術の本質を論理的に理解す るには、学術文献が重要 • 実装のデザインパターンなど も先人が整理してくれている 自分で考えて学ぶ 他人の考えから学ぶ 自分の経験から学ぶ 他人の経験から学ぶ 02|内部品質と組織文化がリードタイム短縮にどれほど寄与するのか? 他人の経験と考えがドキュメント化
© 2024 Loglass Inc. リファクタリングが当たり前の文化 https://levtech.jp/media/article/interview/detail_273/ 02|内部品質と組織文化がリードタイム短縮にどれほど寄与するのか?
© 2024 Loglass Inc. リファクタリングが当たり前の文化 • 開発組織に自然とリファクタリングする文化が存在 • ペアプログラミングやPRのコメントなどで、リファクタリングに関する会話が 自然に発生し、「どうなるとコードが読みやすいか?(適切な責務になる
か?)」についての知見が共有される • リファクタリングの指標に関するドキュメントがある 02|内部品質と組織文化がリードタイム短縮にどれほど寄与するのか?
© 2024 Loglass Inc. 参照元:https://speakerdeck.com/nrryuya/kiyatutiatuhusu-du-kasu-i-number-toha?slide=4 学び方の四象限 反省型 • 手を動かし、実験し、技術の手 触り感を掴む
• 設計などは自分でウンウン悩 んで初めて身につく 指導型 • レビューやペアプロを通して、 良い方法を学ぶ 観察型 • 人のコードから良い実装や設 計をパクる • 他の作業を見ながら、思考回 路を想像する 学問型 • 技術の本質を論理的に理解す るには、学術文献が重要 • 実装のデザインパターンなど も先人が整理してくれている 自分で考えて学ぶ 他人の考えから学ぶ 自分の経験から学ぶ 他人の経験から学ぶ 02|内部品質と組織文化がリードタイム短縮にどれほど寄与するのか? 組織文化による学習機会の最大化
© 2024 Loglass Inc. キャッチアップが短縮できる規律のあるコードと それを維持する内部品質を大事にする文化が醸成されている リードタイムの短縮に繋がっている 02|内部品質と組織文化がリードタイム短縮にどれほど寄与するのか?
© 2024 Loglass Inc. 03 まとめ 31
© 2024 Loglass Inc. まとめ • リードタイムの短縮には内部品質の高さと組織文化の醸成が重要 ◦ 特に新規参入者はキャッチアップのコストを削減できると効果的 •
施策の検証を行った結果、効果が出ていることを確認できた ◦ 最初の1週間〜1ヶ月で大まかなキャッチアップが完了 • キャッチアップの短縮ができる設計があり、それを維持する文化が醸成され ていることが重要 ◦ 規律のあるコード ◦ 内部品質を大事にする文化 03|まとめ
© 2024 Loglass Inc. 参照元:https://speakerdeck.com/nrryuya/kiyatutiatuhusu-du-kasu-i-number-toha?slide=4 学び方の四象限 反省型 • 手を動かし、実験し、技術の手 触り感を掴む
• 設計などは自分でウンウン悩 んで初めて身につく 指導型 • レビューやペアプロを通して、 良い方法を学ぶ 観察型 • 人のコードから良い実装や設 計をパクる • 他の作業を見ながら、思考回 路を想像する 学問型 • 技術の本質を論理的に理解す るには、学術文献が重要 • 実装のデザインパターンなど も先人が整理してくれている 自分で考えて学ぶ 他人の考えから学ぶ 自分の経験から学ぶ 他人の経験から学ぶ 開発組織からサポート可能 03|まとめ 再掲
© 2024 Loglass Inc. 内部品質の向上と組織文化の醸成 規律のあるコード 内部品質を大事にする文化 観察型 指導型 学問型
03|まとめ 再掲
© 2024 Loglass Inc. キャッチアップが短縮できる規律のあるコードと それを維持する内部品質を大事にする文化が醸成されている リードタイムの短縮に繋がっている 03|まとめ 再掲
© 2024 Loglass Inc. キャッチアップにかかる時間が 「ゼロ」になった世界で またお会いしましょう 36
© 2024 Loglass Inc. 37