原田騎郎
株式会社アトラクタ
1
レッツゴーディベロッパー変真
2013/7/13
原田 騎郎Kiro HARADA
アジャイルコーチ
ドメインモデラー
SCMコンサルタント
Twitter: @haradakiro
認定スクラムプロフェッショナル
認定スクラムマスター
認定スクラムプロダクトオーナー
株式会社アトラクタ 代表
2
14:20& &14:50 &Scrum/DDD&
14:50& &15:50 &
&&&&15:35& &15:50
15:50& &16:50
&&&&16:35& &16:50
16:50& &17:20 ( )
3
!  DDD って何?
!  Scrumって何?
!  DDD と Scrum の似ているところ?
!  両方のフィードバックサイクル
4
!  で、どうやるの
!  プロダクトバックログとモデリング
!  スプリントプランニングとモデリング
!  バックログリファインメントとモデリング
!  コードレビューとモデリング
!  モデルのリファクタリング
5
!  モデルをテストする
!  シナリオで確かめる
!  コードで確かめる。
▪  ドメインモデルを TDD する
6
DDD やってますか?
7
!  難しいから、もうちょっと勉強してから&
!  小さいシステムにはいらないでしょ&
!  やったほうがよさそうだと思っているん
だけれど。
8
Scrumやってますか?
9
!  「どうせ、Scrum&はやるもんじゃな
い!」って言うでしょ。&
!  やってみたら問題ばっかりでてくるし。&
!  「いきあたりばったりやっているだけ
じゃないの?」と突っ込まれるし。
10
どうやったら&
DDD&&&Scrum&
をうまくやれる?&
使える?
11
12
!  ソフトウェアプロジェクトで、まず注意
を払うべきなのは、ドメインとドメイン
ロジックである。
!  複雑なドメインの設計はモデルに基づく
べきである。
13
!  コアドメインに集中する
!  ドメインの実務家とソフトウェアの実務
家による創造的な共同作業によって、モ
デルと探求する
!  明確に境界づけられたコンテキストの中
で、ユビキタス言語により会話する
&
14
モデル探索の&
うずまき
モデルを新しいシナリオで&
揺さぶる
シナリオ
モデル
モデルを提示&
状態ウォークスルー&
解決策ウォークスルー&
言語の探求&
間違う
ストーリーを語る&
肉付けする&
難しいところに再フォーカス&
コアドメインに再フォーカス
コードによる探査
シナリオを テスト としてコードする&
厳密さを加える&
言語を洗練する&
解決策を探求&
間違う
収穫&文書化&
 参照シナリオ&
 まともなモデルの一部&
 ほとんどのアイデアは書かない
15
!  正しいモデルを探求するのが目的ではな
い。&
!  使えるモデルを探し続けるのが目的。
16
!  複雑で変化の激しい問題に対応するため
のフレームワークであり、可能な限り価
値の高いプロダクトを生産的かつ創造的
に届けるためのものである。&
!  軽量&
!  理解が容易&
!  習得は非常に困難&
&
17
18
19
!  Product&Backlog&
!  Sprint&Backlog&
!  Backlog&Refinement&
!  Sprint&Review&
!  Retrospective&
&
!  Potentially&Shippable&Increments
20
21http://cognitiveKedge.com/
22
!  境界&
!  フィードバック&
!  リズム
23
!  プロダクトビジョン&
!  ユーザーストーリー&
!  ユースケースシナリオ&
!  モデル&
!  モデルとシナリオのうずまきをまわす
24
!  ストーリーの順位付けをする&
!  モデルを書いてみる&
!  (モデルは常に複数ある)&
!  モデルはストーリーを記述できるか?&
▪  モデルは役に立つか?&
!  モデルをストーリーが十分説明できるか。&
▪  足りていないストーリーはないか?
25
!  難しいモデルは実装して確かめる&
!  ドメインモデルのみ&
▪  永続化層&/&UI&はとりあえず考えなくてよい&
▪  複数のモデルを確かめる&
▪  記述力&
▪  実装のしやすさ&
▪  テストのしやすさ&
▪  拡張のしやすさ
26
!  「検査と適応によって、間違っても、それ
から学べば良い」&
&
けれど&
&
!  わかる間違いには、気づきたい。&
!  2週間は短い。それ以上、短くするとき
つい。&
27
!  ホワイトボード&
!  関心ごとのある部分だけホワイトボードに&
!  適宜清書してリポジトリに&
!  astah*&使ってます
28
!  ドメイン以外にビジネスロジックが埋も
れていないか?&
!  ドメインモデルに書いたテストを、そのまま
使えるか?&
!  実装しにくいところはどこか?&
▪  ドメインの使い方を間違えやすいところはどこか
29
!  バックログを見積もる&
!  モデルの変更が不要&
!  モデルの拡張が必要&
!  モデルの変更が必要
30
!  スプリント期間を短くするだけでは成功
は難しい。&
!  単一のスプリント内で複数のオプション
を試す。&
!  モデルを利用した並行開発
31
!  パターン指向リファクタリング&
!  次のバックログが見えないうちにリファ
クタリングするのはアンチパターン&
!  リファクタリングのためのリファクタリング
は悪&
32
!  バックログが Ready&になる前に実装モデ
ルを拡張するな&
!  概念モデル、仕様モデルをシナリオでテスト
してから。&
!  リファレンスモデル、パターンの適用を検
討する
33
!  富&
!  資産&
!  農業資産&
!  家畜&
!  牝牛&
!  ベッシー
34S.I.Hayakawa&“Language&in&Thoughts&and&Action”&1939&
!  リファレンスモデルは抽象度が高く、再利
用性が高い。&
!  時間をかけて確かめられている。&
けれど&
&
!  プロジェクトに役に立つかは、確かめな
いとわからない。
35
!  小規模プロジェクトは、要件変更に弱い&
!  使えるリソース、期間が限られている&
!  小規模プロジェクトの範囲を&DDD&による
モデルで定義する。&
!  モデルの拡張範囲を合意する&
!  モデルの変更をともなうバックログは混入し
ない
36
ありがちなハマりどころ 対応策
モデリング地獄(DDD)&
•  モデルを作ることを目標にしてし
まう&
•  いつまでたってもモデルが完成し
ない&
&
&
スプリント(Scrum)&
•  出荷可能な製品を2週間ごとに!&
•  モデリングも含めて使えるフィー
チャーを2週間で作らなければな
らない。
全体を見ないで開発(Scrum)&
•  システムの全体像を考えない&
•  全体計画を立てない&
&
&
&
ユビキタス言語(DDD)&
•  みなが使える共通言語をつくる&
•  共通言語による全体理解を促進&
•  全体計画のガイドとしてのモデル
37
!  DDDとScrumは、うまく組合せられる&
!  DDDもScrumも変える必要がない&
!  お互いのメリットをうまく使える&
!  短いサイクルを軽量にまわすのが大事&
!  まずは、小さく始めてみましょう。
38
!  5人程度のグループを作ってください&
!  グループ作業がしやすい用に、机、椅子
は適宜並べ替えてください。&
!  約50分後に、簡単に成果の発表をして
いただきます。&
39
駐車場
40
41
42
43
44
45
46
47
!  空き地&
!  イベントのときなどの一時的な駐車場&
!  月極め駐車場&
!  時間貸し駐車場&
!  コインパーキング&
!  店舗に付属&
!  店舗と提携
48
!  無人有料駐車場(時間貸し)の管理システム
49
!  シナリオを書いてみる&
!  基本シナリオ?派生シナリオ?&
&
!  どう拡張される?
50
!  シナリオを記述できるモデルを書いてみ
る&
!  そのモデルに足りないシナリオはない?
51
モデル探索の&
うずまき
モデルを新しいシナリオで&
揺さぶる
シナリオ
モデル
モデルを提示&
状態ウォークスルー&
解決策ウォークスルー&
言語の探求&
間違う
ストーリーを語る&
肉付けする&
難しいところに再フォーカス&
コアドメインに再フォーカス
コードによる探査
シナリオを テスト としてコードする&
厳密さを加える&
言語を洗練する&
解決策を探求&
間違う
収穫&文書化&
 参照シナリオ&
 まともなモデルの一部&
 ほとんどのアイデアは書かない
52
!  永続化、UI&はいらない&
!  モデルをそのまま実装できるかどうか?&
!  モデルがおかしいところはない?&
!  実装しづらいところはない?
53
!  プロダクトバックログ&
!  優先順位のついたシナリオのリスト&
!  ドメインモデル&
!  UML&のクラス図など&
!  ドメインの理解を助けるものなら何でも&
!  コアドメインのサンプル実装&
!  コアドメインの受入れテストがあるといいな
54
!  50分しかありません。&
!  時間の使いかたを計画しましょう。
55
!  成果を説明してみましょう。
56
!  びっくりしたこと、気づいたこと&
!  学んだこと&
!  次にやってみること
57
58
!  週末料金?夜間料金?&
!  煩雑期と閑散期で値段が変わる?&
!  店舗利用による無料範囲&
!  会員割引&
!  誤入場をどうしよう?&
!  駐車券なくしちゃったら?&
!  とめっぱなしの車はどうしよう?&
59
!  駐車場の種類が変わると、変える必要の
ある部分は?&
!  車止め式&
!  ゲート式&
!  階数ごとに入場制限がある?&
!  出場時にナンバーを認識する?
60
!  駐車料金が変わると、どこが変わる?&
!  週末料金とかは?&
!  車止め vs.&入退場ゲート&
&
61
62
63http://www.lalaportKkoshien.com/access/index.html#05
64
65
!  成果を説明してみましょう。
66
!  びっくりしたこと、気づいたこと&
!  学んだこと&
!  次にやってみること
67
!  DDD&/&Scrum&を実際の業務で使ってみるに
は?&
!  グループディスカッション&
68

More Related Content

PDF
ぐるぐるDDD(ドメイン駆動設計)に参加してみました
PDF
ドメイン駆動設計という仕事の流儀
ODP
どこに何を書くのか?
PDF
DDDをScrumで廻す あるいは ScrumをDDDで廻す
PDF
ドメイン駆動で開発する ラフスケッチから実装まで
PDF
イミュータブルデータモデル(入門編)
PDF
なぜデータモデリングが重要なのか?
PDF
ドメイン駆動設計のための Spring の上手な使い方
ぐるぐるDDD(ドメイン駆動設計)に参加してみました
ドメイン駆動設計という仕事の流儀
どこに何を書くのか?
DDDをScrumで廻す あるいは ScrumをDDDで廻す
ドメイン駆動で開発する ラフスケッチから実装まで
イミュータブルデータモデル(入門編)
なぜデータモデリングが重要なのか?
ドメイン駆動設計のための Spring の上手な使い方

What's hot (20)

PDF
リッチなドメインモデル 名前探し
PPTX
境界付けられたコンテキスト 概念編 (ドメイン駆動設計用語解説シリーズ)
PPTX
世界一わかりやすいClean Architecture
PDF
ドメイン駆動設計に15年取り組んでわかったこと
PDF
ユーザーストーリーマッピングを使ってプロダクトバックログを作ろう
PDF
はじめてのPRD
PDF
ユーザーストーリー駆動開発で行こう。
PDF
オブジェクト指向の設計と実装の学び方のコツ
PDF
ドメイン駆動設計 基本を理解する
PDF
ドメイン駆動設計のためのオブジェクト指向入門
PDF
大きな泥のカタマリを相手にするためのアジャイルと努力と苦労 by Joe Yoder (XP祭り2014)
PDF
TDD のこころ
PDF
テスト文字列に「うんこ」と入れるな
PDF
ドメイン駆動設計をゲーム開発に活かす
PDF
画像認識の初歩、SIFT,SURF特徴量
PDF
3週連続DDDその1 ドメイン駆動設計の基本を理解する
PDF
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話
PDF
プロダクトの強い軸を作るプロダクトマネジメントフレームワーク
PDF
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
PPTX
SSII2020SS: 微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜​
リッチなドメインモデル 名前探し
境界付けられたコンテキスト 概念編 (ドメイン駆動設計用語解説シリーズ)
世界一わかりやすいClean Architecture
ドメイン駆動設計に15年取り組んでわかったこと
ユーザーストーリーマッピングを使ってプロダクトバックログを作ろう
はじめてのPRD
ユーザーストーリー駆動開発で行こう。
オブジェクト指向の設計と実装の学び方のコツ
ドメイン駆動設計 基本を理解する
ドメイン駆動設計のためのオブジェクト指向入門
大きな泥のカタマリを相手にするためのアジャイルと努力と苦労 by Joe Yoder (XP祭り2014)
TDD のこころ
テスト文字列に「うんこ」と入れるな
ドメイン駆動設計をゲーム開発に活かす
画像認識の初歩、SIFT,SURF特徴量
3週連続DDDその1 ドメイン駆動設計の基本を理解する
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話
プロダクトの強い軸を作るプロダクトマネジメントフレームワーク
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
SSII2020SS: 微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜​
Ad

Viewers also liked (20)

PDF
3 Faces of Kaizen
PDF
TPS Lean and Agile - Brief History and Future
PPTX
福岡DDD勉強会vol.1
PPTX
Ddd × 新人教育
PPTX
学生が行うプロジェクト活動への アジャイル開発手法 「Scrum」の導入 | 仙台高専教育研究交流会
PDF
TPS, Lean, and Scrum - How They Are Developed and Influenced One Another
PDF
Cursos Agile Think - Kanban - 3/4
PDF
ぐるぐるDDDは何を目指しているのか
PDF
Kaizen in Action
PDF
スクラム再入門(仮) Developer Summit 関西 2013
PPT
Kaizen forms xls
PDF
Lean funnel infograph - how to apply lean thinking in sales
PPTX
From Good-enough to Great (LKFR16)
PPTX
SQL Serverの関数を一覧でマスターしよう
PDF
第12回rest勉強会 これまでの補足・展望編
PDF
DDDのすすめ
PDF
20151209 Oracle DDD オラクルで実現するクラウド・マシン・ラーニング
PPTX
DDDモデリング勉強会 #6
PPTX
Scala × DDD × 弊社実践例
PDF
DevLOVE20150618 ddd x ビッグローブ
3 Faces of Kaizen
TPS Lean and Agile - Brief History and Future
福岡DDD勉強会vol.1
Ddd × 新人教育
学生が行うプロジェクト活動への アジャイル開発手法 「Scrum」の導入 | 仙台高専教育研究交流会
TPS, Lean, and Scrum - How They Are Developed and Influenced One Another
Cursos Agile Think - Kanban - 3/4
ぐるぐるDDDは何を目指しているのか
Kaizen in Action
スクラム再入門(仮) Developer Summit 関西 2013
Kaizen forms xls
Lean funnel infograph - how to apply lean thinking in sales
From Good-enough to Great (LKFR16)
SQL Serverの関数を一覧でマスターしよう
第12回rest勉強会 これまでの補足・展望編
DDDのすすめ
20151209 Oracle DDD オラクルで実現するクラウド・マシン・ラーニング
DDDモデリング勉強会 #6
Scala × DDD × 弊社実践例
DevLOVE20150618 ddd x ビッグローブ
Ad

Similar to ぐるぐるDDD/Scrum - モデリングと実装のうずまきをまわそう (20)

PPT
おしゃれCatalystに触ってみた
PDF
ナレッジを共有する文化をつくるために
PDF
プロジェクト管理ツールを使いこなせるようになった現場の話
PDF
プロジェクト管理ツールを使いこなせるようになった現場の話
PDF
人が作るソフトウェア 〜今組織パターンを読む意味〜
PDF
SAIS/SIGMOD参加報告 in SAIS/DWS2018報告会@Yahoo! JAPAN
PDF
次世代Web業務アプリケーション
PDF
Fearless Change RSG Japan English.pdf
PPTX
プログラマのためのScrum
PDF
Spring Boot + Doma + AngularJSで作るERP (LINE Fukuoka Meetup版)
PDF
アジャイルソフトウェア開発の道具箱
PDF
現場コーチから見えてきた越境する現場の3つの特徴
PDF
現場コーチから見えてきた越境する現場の3つの特徴
PDF
Atomic Designと付き合うコツ♡
PDF
はじめてのScrumこれから大切にしたいこと Release#2
PPTX
プロダクトにおけるScala
PDF
[RSGT2022]これからのスクラムマスターのキャリアプランの話をしよう〜スクラムマスターの前に広がる世界〜
PDF
エンジニアからデザイナーに贈るプロトタイピングのすすめ - 春のフロントエンド祭り 2015
PDF
MY JOB WEND TO VIETNUM? DevSumi ver.
PDF
OSC2013 HIROSHIMA ライトニングトーク すごい広島
おしゃれCatalystに触ってみた
ナレッジを共有する文化をつくるために
プロジェクト管理ツールを使いこなせるようになった現場の話
プロジェクト管理ツールを使いこなせるようになった現場の話
人が作るソフトウェア 〜今組織パターンを読む意味〜
SAIS/SIGMOD参加報告 in SAIS/DWS2018報告会@Yahoo! JAPAN
次世代Web業務アプリケーション
Fearless Change RSG Japan English.pdf
プログラマのためのScrum
Spring Boot + Doma + AngularJSで作るERP (LINE Fukuoka Meetup版)
アジャイルソフトウェア開発の道具箱
現場コーチから見えてきた越境する現場の3つの特徴
現場コーチから見えてきた越境する現場の3つの特徴
Atomic Designと付き合うコツ♡
はじめてのScrumこれから大切にしたいこと Release#2
プロダクトにおけるScala
[RSGT2022]これからのスクラムマスターのキャリアプランの話をしよう〜スクラムマスターの前に広がる世界〜
エンジニアからデザイナーに贈るプロトタイピングのすすめ - 春のフロントエンド祭り 2015
MY JOB WEND TO VIETNUM? DevSumi ver.
OSC2013 HIROSHIMA ライトニングトーク すごい広島

More from Kiro Harada (15)

PDF
Kaizen in Action for Regional Scrum Gathering Tokyo 2017
PDF
スクラムパタン入門
PDF
Is Xp still extreme?
PDF
改善の3つの顔
PDF
改善のためのちょっとしたコツ
PPTX
Coderetreat のススメ at Developers' Summit 2013 Unconference
PDF
非開発者のためのアジャイル開発入門
PDF
アジャイルマネジメントとは?
PDF
A Tip to Help Your Kaizen
PDF
Jenkins に XFD を追加してみると
PDF
Arduino jenkins
PPTX
アジャイル開発をはじめる前に
PDF
Scrum & Kanban
PPT
モデリングのすすめ
PPTX
ソフトウェアの構造とオープン化
Kaizen in Action for Regional Scrum Gathering Tokyo 2017
スクラムパタン入門
Is Xp still extreme?
改善の3つの顔
改善のためのちょっとしたコツ
Coderetreat のススメ at Developers' Summit 2013 Unconference
非開発者のためのアジャイル開発入門
アジャイルマネジメントとは?
A Tip to Help Your Kaizen
Jenkins に XFD を追加してみると
Arduino jenkins
アジャイル開発をはじめる前に
Scrum & Kanban
モデリングのすすめ
ソフトウェアの構造とオープン化

Recently uploaded (11)

PDF
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual...
PDF
Geminiの出力崩壊 本レポートは、Googleの大規模言語モデル「Gemini 2.5」が、特定の画像と短文入力に対して、誤った地名を推定し、最終的に...
PPTX
Cosense - 整えずして完全勝利!Cosenseが他のwikiツールと違う理由
PDF
Working as an OSS Developer at Ruby Association Activity Report 2025
PDF
翔泳社 「C++ ゼロからはじめるプログラミング」対応 C++学習教材(三谷純)
PDF
ココロ分解帳|感情をやさしく分解し自分と他者を理解するためのモバイルノートアプリ
PDF
20250823_IoTLT_vol126_kitazaki_v1___.pdf
PDF
20250826_Devinで切り拓く沖縄ITの未来_AI駆動開発勉強会 沖縄支部 第2回
PPTX
生成AIとモデルベース開発:実はとても相性が良いことを説明します。まあそうだろうなと思われる方はご覧ください。
PDF
Yamaha DT200WR Real Enduro ENGINE CYLINDER TRANSMISSION
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual...
Geminiの出力崩壊 本レポートは、Googleの大規模言語モデル「Gemini 2.5」が、特定の画像と短文入力に対して、誤った地名を推定し、最終的に...
Cosense - 整えずして完全勝利!Cosenseが他のwikiツールと違う理由
Working as an OSS Developer at Ruby Association Activity Report 2025
翔泳社 「C++ ゼロからはじめるプログラミング」対応 C++学習教材(三谷純)
ココロ分解帳|感情をやさしく分解し自分と他者を理解するためのモバイルノートアプリ
20250823_IoTLT_vol126_kitazaki_v1___.pdf
20250826_Devinで切り拓く沖縄ITの未来_AI駆動開発勉強会 沖縄支部 第2回
生成AIとモデルベース開発:実はとても相性が良いことを説明します。まあそうだろうなと思われる方はご覧ください。
Yamaha DT200WR Real Enduro ENGINE CYLINDER TRANSMISSION

ぐるぐるDDD/Scrum - モデリングと実装のうずまきをまわそう