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
実践DDD ~苦悩と悟り~
Search
レバレジーズTechアカウント
June 30, 2023
Technology
0
3.4k
実践DDD ~苦悩と悟り~
実践DDD ~苦悩と悟り~
レバレジーズTechアカウント
June 30, 2023
Tweet
Share
More Decks by レバレジーズTechアカウント
See All by レバレジーズTechアカウント
デザインシステム基盤構築実践
leveragestech
1
1.9k
荒廃したテックブログの再生_技術広報LT大会
leveragestech
4
5.5k
文系大学生と学び考える開発生産性
leveragestech
1
27
「マイクロサービスアーキテクチャ」と「アーキテクチャ特性」で読み解くレバテックのこれまでとこれから
leveragestech
0
49
社内共通ルールを値オブジェクトにして社内ライブラリとして運用してみた話
leveragestech
7
2.9k
Effect-TSを利用した副作用を分離する設計について
leveragestech
0
760
マネジメント未経験の脳筋が開発チームのリーダーになって感じた苦悩と学び
leveragestech
0
79
モノリス改善史~運用改善とバージョンアップの軌跡~
leveragestech
0
28
CREって何? CREが生まれた背景と、自社の事例
leveragestech
0
54
Other Decks in Technology
See All in Technology
【SORACOM UG 東海】あらゆるモノがつながる社会へ、IoT と SORACOM
soracom
PRO
1
140
今日からできる!簡単 .NET 高速化 Tips -2024 edition-
xin9le
7
3.9k
BPStudyの200回を中心にIT業界を振り返る。そしてこれから
haru860
3
410
Building Dashboards as a Hobby
egmc
0
370
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2024年版)
infiniteloop_inc
5
18k
成長をサポートするピープルマネジメントのやり方
sioncojp
9
1.2k
社内アプリで Cloudflare D1を プロダクト運用してみた体験談(Tokyo)
haochenx
0
120
Tellus の衛星データを見てみよう #mf_fukuoka
kongmingstrap
0
270
「スニダン」開発組織の構造に込めた意図 ~組織作りはパッションや政治ではない!~
rinchsan
4
610
M5と自作基板をくっつけてみた〜M5 Japan Tour 2024 Spring 福冈 (Fukuoka|福岡)〜
keropiyo
0
130
IPUT App Dev. Co. -Overview 2024/4
iputapp
0
130
アクセス制御にまつわる改善 / Improving access control
itkq
0
590
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
321
23k
What’s in a name? Adding method to the madness
productmarketing
PRO
17
2.7k
The Straight Up "How To Draw Better" Workshop
denniskardys
228
130k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.1k
A Tale of Four Properties
chriscoyier
152
22k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
34
8.9k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
Building a Modern Day E-commerce SEO Strategy
aleyda
21
6.4k
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
22
1.6k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Web Components: a chance to create the future
zenorocha
306
41k
Transcript
© 2023 Levtech Department All Rights Reserved. 実践DDD ~苦悩と悟り~ テックフェス2023春
レバテック開発部 前原 宗太朗
© 2023 Levtech Department All Rights Reserved. 自己紹介 前職:
DPS(広告配信)サーバーの開発 入社: 2022/06/01 好きな言語: Rust 趣味: League of Legendsを愛しています 面白いけど人に薦めれないゲームランキング1位(自分調べ) 最近一番泣いたのは、幕張で行われたlolのオフイベのオープニング その前はlol worlds 2022の決勝のオープニング 前原 宗太朗(29)
© 2023 Levtech Department All Rights Reserved. 我々は何 Revtech-PJとは(略称:リバプロ)
レバテックの「データ」「プロダクト」「オペレーション」「システム」を、 再設計(ReDesign)、再構築(ReArchitect)し、 非連続な事業成長へ向けて再始動(Restart)するプロジェクトの総称。 Revtech-PJというプロジェクトやってます
© 2023 Levtech Department All Rights Reserved. 我々は何 Revtech-PJとは(略称:リバプロ)
レバテックの「データ」「プロダクト」「オペレーション」「システム」を、 再設計(ReDesign)、再構築(ReArchitect)し、 非連続な事業成長へ向けて再始動(Restart)するプロジェクトの総称。 Revtech-PJというプロジェクトやってます → 要はレバテックの作り直しをしようとしてます
© 2023 Levtech Department All Rights Reserved. 本日のストーリー 今日話すこと DDDに夢見る前原少年(29)が
DDDを実践し 苦悩の末、悟りの境地に達し 新たなる一歩を踏み出す
© 2023 Levtech Department All Rights Reserved. ドメイン駆動設計とは ドメイン駆動設計とは ソフトウェアの設計と開発プロセスにおいて、ビジネスのニーズや目標(ドメイン)を
中心に据え、それを直接的に反映したソフトウェアを開発するアプローチ 要は、、、 ビジネスの目標を中心に添えましょう 目標を達成するシステムを作りましょう
© 2023 Levtech Department All Rights Reserved. ドメイン駆動設計のイメージ ドメイン駆動設計とは •
内部品質が上がる ◦ ビジネスに理解のある人間と開発者間で共通の言語を使える ▪ 認識の齟齬が起きにくくなる ◦ 目的ごとにシステムが分解される(境界づけられたコンテキスト) ▪ システムが単一責務になるので、認知負荷も下がってアジリティも上がってみんなハッ ピー ▪ システムの境界がわかるので、自然とマイクロサービスを構築できる
© 2023 Levtech Department All Rights Reserved. 実際にやってみた (これだけで5分以上話せる内容なので割愛) ドメイン駆動設計やってみた
サービスの目的 システムの 大目的 システムの中 目的 コアドメインの 特定 流れ
© 2023 Levtech Department All Rights Reserved. ドメイン駆動設計やってみた
© 2023 Levtech Department All Rights Reserved. 苦悩 実際やってみて •
アウトプットがあっているかどうかがわからない ◦ どうなっていれば正解? ◦ 別の切り口もあるんじゃない? ◦ システムが単一目的になっている?疎結合になりそう?
© 2023 Levtech Department All Rights Reserved. 悟り DDDは銀の弾丸ではない 実際やってみて •
ドメインを継続的に改善していく意識が大事 ◦ どうなっていれば正解? ▪ 計測して継続的に改善する ◦ 別の切り口もあるんじゃない? ▪ 開発していく中で、ドメインの解像度を上げていく ◦ システムが単一目的になっている?疎結合になりそう? ▪ 粗くドメインを定義して、モジュラモノリスで構築
© 2023 Levtech Department All Rights Reserved. よかったと思うこと 実際やってみて •
草案となるドメインが定義できた ◦ 開発を進める上でも、議論の土台となる • コアドメインの共通認識がとれた ◦ どの領域が競争優位となり、 自社でリソースを投下して開発すべきか ◦ 逆にどの領域では既製品を使うべきか
© 2023 Levtech Department All Rights Reserved. 本当にやりたかったことは? DDDの夢から覚めて、初心に立ち返る •
品質の向上 ◦ 品質には副特性があって、 達成手段の一つとしてDDDがある 大事なのは、、、 どの品質を、どの水準まで達成したいの? その中でDDDはどの位置付けなの?