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.5k
プロジェクト新規参入者のリードタイム短縮の観点から見る、品質の高いコードとアーキテクチャを保つメリット
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
780
経験学習型キャリア探索法 ~ふりかえりで始めるキャリアパスの見つけ方~
d_endo
2
1.3k
負荷試験の観点から見るGraphQLにおけるPHPのコードチューニング
d_endo
1
2.7k
Step Functions Expressで作るフルマネージドなサーバーレスバッチ
d_endo
1
2.6k
AWS認定資格のススメ
d_endo
1
480
Laravel + Lighthouseで始める低コストなGraphQL入門
d_endo
4
4k
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
Being an ethical software engineer
xgouchet
PRO
0
210
Dissecting and Reconstructing Ruby Syntactic Structures
ydah
1
860
PHPで書いたAPIをGoに書き換えてみた 〜パフォーマンス改善の可能性を探る実験レポート〜
koguuum
0
170
趣味全開のAITuber開発
kokushin
0
200
VitestのIn-Source Testingが便利
taro28
7
2.2k
Amazon CloudWatchの地味だけど強力な機能紹介!
itotsum
0
180
タイムゾーンの奥地は思ったよりも闇深いかもしれない
suguruooki
1
730
Chrome Extension Techniques from Hell
moznion
1
160
スモールスタートで始めるためのLambda×モノリス(Lambdalith)
akihisaikeda
2
300
Qiita Bash
mercury_dev0517
2
210
カオスに立ち向かう小規模チームの装備の選択〜フルスタックTSという装備の強み _ 弱み〜/Choosing equipment for a small team facing chaos ~ Strengths and weaknesses of full-stack TS~
bitkey
1
100
The Efficiency Paradox and How to Save Yourself and the World
hollycummins
0
110
Featured
See All Featured
Code Review Best Practice
trishagee
67
18k
Adopting Sorbet at Scale
ufuk
76
9.3k
Facilitating Awesome Meetings
lara
54
6.3k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
A better future with KSS
kneath
239
17k
Being A Developer After 40
akosma
91
590k
Bash Introduction
62gerente
611
210k
Building an army of robots
kneath
304
45k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Practical Orchestrator
shlominoach
186
11k
Why Our Code Smells
bkeepers
PRO
336
57k
Code Reviewing Like a Champion
maltzj
522
40k
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