Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DDD導入にどう立ち向かう? 開発現場への適用方法あれこれ①

DDD導入にどう立ち向かう? 開発現場への適用方法あれこれ①

20220720 3社合同DDD勉強会

natacon

July 20, 2022
Tweet

More Decks by natacon

Other Decks in Programming

Transcript

  1. 自己紹介 灘脇 裕一 Backend Engineer 機能開発チームリーダー スクラムマスター 2012.04 - HRTech

    2020.07 - Voicy 本日はよろしくお願いします! @natacoon 好きなモノ: 服、ワイン、スプラトゥーン 株式会社Voicy
  2. DDDを始められる開発組織なんだっけ? Voicyの開発組織 Feature Team A Feature Team B QA Team

    Data Team SRE/PF Team Feature Team ユーザに向き合い、特定ミッションにつ いて開発をしていくチーム Crossing Team Feature Teamが高速で開発を回すため専 門性の高いタスクをするチーム Task Force Team Task Force Team Feature Teamのミッション達成を妨げる 特定のミッションを掲げて解決するチーム
  3. DDDを始められる開発組織なんだっけ? Voicyの開発組織 Feature Team A Feature Team B QA Team

    Data Team SRE/PF Team - チームがたくさんある - 普段の活動はチーム内に閉じてい る - ただし、この組織に合ったマイク ロサービス化はされていない - そのため、各々が扱うAPI・リポジ トリは一部重複している Task Force Team どうやって各チームで認識を合 わせるんだ・・・?
  4. モデル・方針を各現場へどう伝播する? Feature Team A Feature Team B QA Team Data

    Team SRE/PF Team Feature Team ユーザに向き合い、特定ミッションにつ いて開発をしていくチーム Crossing Team Feature Teamが高速で開発を回すため専 門性の高いタスクをするチーム Task Force Team Task Force Team Feature Teamのミッション達成を妨げる 特定のミッションを掲げて解決するチーム
  5. Feature Team B モデル・方針を各現場へどう伝播する? Feature Team A QA Team Data

    Team SRE/PF Team - 私が所属するのはココ - 機能開発チームの片翼 Task Force Team - チームは小さいのでこの中であれ ば推進できそう - でももう片方のチームは・・・? - Feature Team以外が触るときは ・・・?
  6. Feature Team B モデル・方針を各現場へどう伝播する? Feature Team A QA Team Data

    Team SRE/PF Team Cross Functional Team Task Force Team - ココにリファクタリングを主ミッ ションにした兼務チームを組織 - Feature Team、Task Force Team など、異なるチームから数人で編 成
  7. Feature Team B モデル・方針を各現場へどう伝播する? Feature Team A QA Team Data

    Team SRE/PF Team Cross Functional Team Task Force Team - リファクタリングチームでドメイ ンモデリングを実施し、共通の理 解を作る - ここでの活動を各チームに持って いき、モデル、リファクタリング 方針の伝播をリードする
  8. モデル・方針を各現場へどう伝播する? - 具体的に - リファクタリングチームでこれらを作っている - ユースケース図 - (オブジェクトモデル図) -

    ドメインモデル図 - 直近の開発に関連する部分をリファクタリングチームから、所属チームへ説明し理解を醸 成していく - 実装に適用する際はペア・モブプログラミングで相互理解を深めながら - (開発体制として、フロー効率重視であることが前提)