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
77
Backend LT フェーズ変化、プロダクトの成長に伴う技術的変遷
natacon
0
140
課題解決ではなく、価値創造を求めるVoicyの開発チームの組織設計と立ち上げの勘所
natacon
5
1.5k
契約による設計の「契約」とは何を指しているか
natacon
0
410
DDDにどう立ち向かう?リファクタリングのあれこれ
natacon
1
1.1k
DDD導入にどう立ち向かう? 開発現場への適用方法あれこれ①
natacon
1
360
Other Decks in Programming
See All in Programming
DMMを支える決済基盤の技術的負債にどう立ち向かうか / Addressing Technical Debt in Payment Infrastructure
yoshiyoshifujii
5
760
副作用と戦う PHP リファクタリング ─ ドメインイベントでビジネスロジックを解きほぐす
kajitack
3
520
Claude Code と OpenAI o3 で メタデータ情報を作る
laket
0
110
JetBrainsのAI機能の紹介 #jjug
yusuke
0
180
リバースエンジニアリング新時代へ! GhidraとClaude DesktopをMCPで繋ぐ/findy202507
tkmru
7
1.7k
バイブコーディングの正体——AIエージェントはソフトウェア開発を変えるか?
stakaya
5
730
AI Ramen Fight
yusukebe
0
120
Quality Gates in the Age of Agentic Coding
helmedeiros
PRO
1
120
TypeScriptでDXを上げろ! Hono編
yusukebe
4
930
プロダクトという一杯を作る - プロダクトチームが味の責任を持つまでの煮込み奮闘記
hiliteeternal
0
390
Dart 参戦!!静的型付き言語界の隠れた実力者
kno3a87
0
160
DatadogのArchived LogsをSnowflakeで高速に検索する方法(Archive Searchでオワコンにならないことを祈って) / How to search Datadog Archived Logs quickly with Snowflake (hoping Datadog Archive Search doesn’t make this obsolete)
civitaspo
0
110
Featured
See All Featured
Gamification - CAS2011
davidbonilla
81
5.4k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
It's Worth the Effort
3n
185
28k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
332
22k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Writing Fast Ruby
sferik
628
62k
GraphQLとの向き合い方2022年版
quramy
49
14k
Thoughts on Productivity
jonyablonski
69
4.8k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
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 ダウンロードリンク