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
420
DDD導入にどう立ち向かう? 開発現場への適用方法あれこれ②
2022/8/24 3社合同DDD勉強会
natacon
August 24, 2022
Tweet
Share
More Decks by natacon
See All by natacon
Backend LT フェーズ変化、プロダクトの成長に伴う技術的変遷
natacon
0
120
課題解決ではなく、価値創造を求めるVoicyの開発チームの組織設計と立ち上げの勘所
natacon
5
1.4k
契約による設計の「契約」とは何を指しているか
natacon
0
330
DDDにどう立ち向かう?リファクタリングのあれこれ
natacon
1
1.1k
DDD導入にどう立ち向かう? 開発現場への適用方法あれこれ①
natacon
1
320
Other Decks in Programming
See All in Programming
SwiftUI API Design Lessons
niw
1
290
音声プラットフォームのアーキテクチャ変遷から学ぶ、クラウドネイティブなバッチ処理 (20250422_CNDS2025_Batch_Architecture)
thousanda
0
170
AWS で実現する安全な AI エージェントの作り方 〜 Bedrock Engineer の実装例を添えて 〜 / how-to-build-secure-ai-agents
gawa
8
810
List とは何か? / PHPerKaigi 2025
meihei3
0
870
Memory API : Patterns, Performance et Cas d'Utilisation
josepaumard
0
130
設計の本質:コード、システム、そして組織へ / The Essence of Design: To Code, Systems, and Organizations
nrslib
3
380
Unlock the Potential of Swift Code Generation
rockname
0
250
リストビュー画面UX改善の振り返り
splcywolf
0
140
サービスレベルを管理してアジャイルを加速しよう!! / slm-accelerate-agility
tomoyakitaura
1
180
プロダクト横断分析に役立つ、事前集計しないサマリーテーブル設計
hanon52_
2
440
Strategic Design (DDD)for the Frontend @DDD Meetup Stuttgart
manfredsteyer
PRO
0
140
AI Coding Agent Enablement - エージェントを自走させよう
yukukotani
14
6.1k
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
99
5.5k
Thoughts on Productivity
jonyablonski
69
4.6k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
GitHub's CSS Performance
jonrohan
1030
460k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.4k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.1k
The Language of Interfaces
destraynor
157
24k
A Modern Web Designer's Workflow
chriscoyier
693
190k
What's in a price? How to price your products and services
michaelherold
245
12k
Git: the NoSQL Database
bkeepers
PRO
430
65k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.8k
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 ダウンロードリンク