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
natacon
August 24, 2022
Programming
1
450
DDD導入にどう立ち向かう? 開発現場への適用方法あれこれ②
2022/8/24 3社合同DDD勉強会
natacon
August 24, 2022
Tweet
Share
More Decks by natacon
See All by natacon
"個"の集まりに"チームというフィクション"をデザインしてみた ― 認知とつながりが変わると、アウトカムの捉え方も変わる ―
natacon
0
71
Backend LT フェーズ変化、プロダクトの成長に伴う技術的変遷
natacon
0
140
課題解決ではなく、価値創造を求めるVoicyの開発チームの組織設計と立ち上げの勘所
natacon
5
1.5k
契約による設計の「契約」とは何を指しているか
natacon
0
410
DDDにどう立ち向かう?リファクタリングのあれこれ
natacon
1
1.1k
DDD導入にどう立ち向かう? 開発現場への適用方法あれこれ①
natacon
1
350
Other Decks in Programming
See All in Programming
The Niche of CDK Grant オブジェクトって何者?/the-niche-of-cdk-what-isgrant-object
hassaku63
1
720
ZeroETLで始めるDynamoDBとS3の連携
afooooil
0
130
Git Sync を超える!OSS で実現する CDK Pull 型デプロイ / Deploying CDK with PipeCD in Pull-style
tkikuc
4
480
JetBrainsのAI機能の紹介 #jjug
yusuke
0
120
リッチエディターを安全に開発・運用するために
unachang113
1
280
バイブコーディング超えてバイブデプロイ〜CloudflareMCPで実現する、未来のアプリケーションデリバリー〜
azukiazusa1
2
730
PHPカンファレンス関西2025 基調講演
sugimotokei
5
1k
What's new in Adaptive Android development
fornewid
0
120
CDK引数設計道場100本ノック
badmintoncryer
2
590
20250708_JAWS_opscdk
takuyay0ne
2
150
バイブスあるコーディングで ~PHP~ 便利ツールをつくるプラクティス
uzulla
1
300
React 使いじゃなくても知っておきたい教養としての React
oukayuka
14
4k
Featured
See All Featured
Balancing Empowerment & Direction
lara
1
510
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
47
9.6k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Code Reviewing Like a Champion
maltzj
524
40k
Designing for Performance
lara
610
69k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Raft: Consensus for Rubyists
vanstee
140
7k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Transcript
DDD導入にどう立ち向かう? 開発現場への適用方法あれこれ② 2022/08/24 株式会社Voicy 灘脇裕一 (@natacoon)
自己紹介 灘脇 裕一 Backend Engineer 機能開発チームリーダー スクラムマスター 2012.04 - HRTech
2020.07 - Voicy 本日はよろしくお願いします! @natacoon 好きなモノ: 服、ワイン、スプラトゥーン 株式会社Voicy
本日のアジェンダ どのタイミングでモデリングする? 1 2 だれとモデリングする? ①のスライド
Voicy
Voicy 声で人の視界を広げ、ワクワクする社会へ。 たのしい声。せつない声。くやしい声。うれしい声。 ここに来れば、パーソナリティは本音を語ることができ、リス ナーは本音を聞くことができる。 そんな、声のプラットフォームを築くことで、人の視界は広が り、ワクワクする社会が生まれていく。2016年の創業以来、私 たちのこの想いは変わることはありません。
そのために、これからもVoicyは進化し続けます。
Voicy プロダクト
前段 - もともとDDDは全くやっておらず、手続き的なコードが増えてきた - 以前はプロダクトに備えている機能はシンプルだったので、問題はなかった - が、徐々にプロダクト・開発組織も大きくなり始めたことにより、システムが実現しようと していることがコードから読み取りづらくなってきていた - 会社全体で概念レベルの理解がズレはじめていた
前段 今日の内容は モデリングをしていくために どういう流れで越境していっているか というお話です
だれとモデリングする?
だれとモデリングする? - Voicyは課題解決型ではなく、価値創造型の事業であるため、明確なステークホルダー、ド メインエキスパートがいない - プロダクトとして、どういう形であるべきかを自分たちで模索・定義しながら作る
だれとモデリングする? チームのはなし 職能横断型で、意思決定から実装までをチーム単体で動ける構成 PdM デザイ ナー iOS Android Backend Frontend
QA
だれとモデリングする? - 理想チームメンバー全員で行いたい - とはいえ、スプリントで使える時間は限られているので最低メンバーを決める - 意思決定に必要なメンバー PdM デザイ ナー
iOS Android Backend Frontend QA エンジニアは誰か1人いればOK (本音はエンジニアは2名以上が良いと思う)
だれとモデリングする? このメンバーで何する? PdM デザイ ナー Engineer
だれとモデリングする? ユーザーストーリーマッピング ユースケース ドメインモデル(概念レベル)
どのタイミングでモデリングする?
どのタイミングでモデリングする? 開発フローのはなし - 以前はウォーターフォール寄りの開発フローだった - 途中からスクラムを組む形に変え、組織体制見直しも行ってチーム編成・体制も変わってき た
どのタイミングでモデリングする? 自分たちのこれまでの進め方を理解する - PdM、デザイナーでFigmaの画面イメージ、遷移イメージで会話され始めることが多かった - この流れのままデザインベースで開発事項を決め、エンジニアに伝達する流れ - モデルを描くとすれば、この伝達するタイミング以降だった
どのタイミングでモデリングする? 描いてみてディスカッションしてみた - 最初からモデルベースで話をはじめたほうが良くない?(デザイナー発言) ・・・え、ほんとに?😲😲😲
どのタイミングでモデリングする? 仮説を立てる段階で、Figmaではなくモデルで考える →画面はモデルを表した一つの形に過ぎない
どのタイミングでモデリングする? 画面/遷移イメージ → モデル
どのタイミングでモデリングする? モデル → 画面/遷移イメージ
どのタイミングでモデリングする? - 画面ベースで構想が湧くチームもあれば、モデルベースのほうが適切なチームもある - チームによるので、一概にこれが正しいかではない
どのタイミングでモデリングする? イシューリスト ユーザーストーリー (大きめ) プロダクトバックログ スプリントバックログ ココ - 少しでも早めにやることで不確実性を狭める -
ユーザーストーリーを分割し、その範囲においてのモデルを考える活動を行う - 一定以内に予定する開発事項のモデリングを、先立ってスプリントゴールに組み込んでいく - →その後のリファインメントもやりやすくなる
まとめ - 事業の特性によりドメインエキスパートがいない場合は、モデルとユーザース トーリーなどを並行で考えることで、仮説を立てながらモデリングを行うこと でカバーする - 画面/遷移イメージから構想に入ったほうがやりやすいこともあるが、細かい挙 動に目が行きやすい。その場合はモデルベースで振る舞いを考える部分から始 めてみよう -
スプリントにモデリングを組み込むのむずかしい・・・
お知らせ Meetyでカジュアル面談をやってます! 転職関係ない話もウェルカムなのでお話しましょう URL: https://meety.net/matches/KjRwJrKGDbKO Voicy ダウンロードリンク