Slide 1

Slide 1 text

DDD導入にどう立ち向かう? 開発現場への適用方法あれこれ② 2022/08/24 株式会社Voicy 灘脇裕一 (@natacoon)

Slide 2

Slide 2 text

自己紹介 灘脇 裕一 Backend Engineer 機能開発チームリーダー スクラムマスター 2012.04 - HRTech 2020.07 - Voicy 本日はよろしくお願いします! @natacoon 好きなモノ: 服、ワイン、スプラトゥーン 株式会社Voicy

Slide 3

Slide 3 text

本日のアジェンダ どのタイミングでモデリングする? 1 2 だれとモデリングする? ①のスライド

Slide 4

Slide 4 text

Voicy

Slide 5

Slide 5 text

Voicy 声で人の視界を広げ、ワクワクする社会へ。 たのしい声。せつない声。くやしい声。うれしい声。
 ここに来れば、パーソナリティは本音を語ることができ、リス ナーは本音を聞くことができる。
 
 そんな、声のプラットフォームを築くことで、人の視界は広が り、ワクワクする社会が生まれていく。2016年の創業以来、私 たちのこの想いは変わることはありません。
 
 そのために、これからもVoicyは進化し続けます。

Slide 6

Slide 6 text

Voicy プロダクト

Slide 7

Slide 7 text

前段 - もともとDDDは全くやっておらず、手続き的なコードが増えてきた - 以前はプロダクトに備えている機能はシンプルだったので、問題はなかった - が、徐々にプロダクト・開発組織も大きくなり始めたことにより、システムが実現しようと していることがコードから読み取りづらくなってきていた - 会社全体で概念レベルの理解がズレはじめていた

Slide 8

Slide 8 text

前段 今日の内容は モデリングをしていくために どういう流れで越境していっているか というお話です

Slide 9

Slide 9 text

だれとモデリングする?

Slide 10

Slide 10 text

だれとモデリングする? - Voicyは課題解決型ではなく、価値創造型の事業であるため、明確なステークホルダー、ド メインエキスパートがいない - プロダクトとして、どういう形であるべきかを自分たちで模索・定義しながら作る

Slide 11

Slide 11 text

だれとモデリングする? チームのはなし 職能横断型で、意思決定から実装までをチーム単体で動ける構成 PdM デザイ ナー iOS Android Backend Frontend QA

Slide 12

Slide 12 text

だれとモデリングする? - 理想チームメンバー全員で行いたい - とはいえ、スプリントで使える時間は限られているので最低メンバーを決める - 意思決定に必要なメンバー PdM デザイ ナー iOS Android Backend Frontend QA エンジニアは誰か1人いればOK (本音はエンジニアは2名以上が良いと思う)

Slide 13

Slide 13 text

だれとモデリングする? このメンバーで何する? PdM デザイ ナー Engineer

Slide 14

Slide 14 text

だれとモデリングする? ユーザーストーリーマッピング ユースケース ドメインモデル(概念レベル)

Slide 15

Slide 15 text

どのタイミングでモデリングする?

Slide 16

Slide 16 text

どのタイミングでモデリングする? 開発フローのはなし - 以前はウォーターフォール寄りの開発フローだった - 途中からスクラムを組む形に変え、組織体制見直しも行ってチーム編成・体制も変わってき た

Slide 17

Slide 17 text

どのタイミングでモデリングする? 自分たちのこれまでの進め方を理解する - PdM、デザイナーでFigmaの画面イメージ、遷移イメージで会話され始めることが多かった - この流れのままデザインベースで開発事項を決め、エンジニアに伝達する流れ - モデルを描くとすれば、この伝達するタイミング以降だった

Slide 18

Slide 18 text

どのタイミングでモデリングする? 描いてみてディスカッションしてみた - 最初からモデルベースで話をはじめたほうが良くない?(デザイナー発言) ・・・え、ほんとに?😲😲😲

Slide 19

Slide 19 text

どのタイミングでモデリングする? 仮説を立てる段階で、Figmaではなくモデルで考える →画面はモデルを表した一つの形に過ぎない

Slide 20

Slide 20 text

どのタイミングでモデリングする? 画面/遷移イメージ → モデル

Slide 21

Slide 21 text

どのタイミングでモデリングする? モデル → 画面/遷移イメージ

Slide 22

Slide 22 text

どのタイミングでモデリングする? - 画面ベースで構想が湧くチームもあれば、モデルベースのほうが適切なチームもある - チームによるので、一概にこれが正しいかではない

Slide 23

Slide 23 text

どのタイミングでモデリングする? イシューリスト ユーザーストーリー (大きめ) プロダクトバックログ スプリントバックログ ココ - 少しでも早めにやることで不確実性を狭める - ユーザーストーリーを分割し、その範囲においてのモデルを考える活動を行う - 一定以内に予定する開発事項のモデリングを、先立ってスプリントゴールに組み込んでいく - →その後のリファインメントもやりやすくなる

Slide 24

Slide 24 text

まとめ - 事業の特性によりドメインエキスパートがいない場合は、モデルとユーザース トーリーなどを並行で考えることで、仮説を立てながらモデリングを行うこと でカバーする - 画面/遷移イメージから構想に入ったほうがやりやすいこともあるが、細かい挙 動に目が行きやすい。その場合はモデルベースで振る舞いを考える部分から始 めてみよう - スプリントにモデリングを組み込むのむずかしい・・・

Slide 25

Slide 25 text

お知らせ Meetyでカジュアル面談をやってます! 転職関係ない話もウェルカムなのでお話しましょう URL: https://meety.net/matches/KjRwJrKGDbKO Voicy ダウンロードリンク