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.1k
プロジェクト新規参入者のリードタイム短縮の観点から見る、品質の高いコードとアーキテクチャを保つメリット
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
590
経験学習型キャリア探索法 ~ふりかえりで始めるキャリアパスの見つけ方~
d_endo
2
1.2k
負荷試験の観点から見るGraphQLにおけるPHPのコードチューニング
d_endo
1
2.5k
Step Functions Expressで作るフルマネージドなサーバーレスバッチ
d_endo
1
2.4k
AWS認定資格のススメ
d_endo
1
440
Laravel + Lighthouseで始める低コストなGraphQL入門
d_endo
4
3.9k
30分でOpenID Connect完全に理解したと言えるようになる勉強会
d_endo
47
28k
今だからこそ考える「科学技術の倫理学」
d_endo
2
1.3k
アホで乗り越える失敗との付き合い方
d_endo
2
1.4k
Other Decks in Programming
See All in Programming
距離関数を極める! / SESSIONS 2024
gam0022
0
280
광고 소재 심사 과정에 AI를 도입하여 광고 서비스 생산성 향상시키기
kakao
PRO
0
170
Creating a Free Video Ad Network on the Edge
mizoguchicoji
0
120
Nurturing OpenJDK distribution: Eclipse Temurin Success History and plan
ivargrimstad
0
890
アジャイルを支えるテストアーキテクチャ設計/Test Architecting for Agile
goyoki
9
3.3k
AI時代におけるSRE、 あるいはエンジニアの生存戦略
pyama86
6
1.1k
型付き API リクエストを実現するいくつかの手法とその選択 / Typed API Request
euxn23
8
2.2k
ローコードSaaSのUXを向上させるためのTypeScript
taro28
1
610
Amazon Bedrock Agentsを用いてアプリ開発してみた!
har1101
0
330
PHP でアセンブリ言語のように書く技術
memory1994
PRO
1
170
エンジニアとして関わる要件と仕様(公開用)
murabayashi
0
280
cmp.Or に感動した
otakakot
2
140
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
109
49k
BBQ
matthewcrist
85
9.3k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
720
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Producing Creativity
orderedlist
PRO
341
39k
Why Our Code Smells
bkeepers
PRO
334
57k
Optimizing for Happiness
mojombo
376
70k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
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