2015/06/26にアラタナさんとチャットワークとでDDD×Scalaの合同勉強会を開催しました。 アラタナさんの宮崎本社とチャットワークの東京オフィスをビデオ通話でつないでの合同勉強会でした。
この勉強会はクローズドイベントだったので、参加したくてもできない方がたくさんいたと思います。なので、Web開発部のチバがレポートをします。めちゃくちゃ楽しかったので、参加したくてもできなかった方たちのためにめちゃくちゃ楽しかったことをレポートします。
アラタナさんも当日の様子を「僕らの継続的ビール摂取型ドメイン駆動設計(ChatWork ✕ アラタナ合同勉強会)」という記事に書いてくれました!
準備
宮崎と東京でインターネットを使って勉強会…なんてインターネットっぽい勉強会なんだ…!と思っていたら、アラタナさんが来社。しかも勉強会中に食べる食事を持って来てくれました!!!
DDDおじさんが突然のプレゼン
アラタナさんが宮崎と東京を繋げます。インターネットを使ったビデオ通話で。 つなげる準備をしている間にDDDおじさん(かとじゅん)が突然のプレゼンを始めました。DDDの概要みたいなことをまとめてくれていたのですごく勉強会っぽい雰囲気になりました。
乾杯
ビデオ通話の準備が整い、宮崎と東京が距離を超えて繋がりました。インターネット万歳です。
そして乾杯です。皆がアルコールの摂取を開始します。アルコールだけでは内臓に負担がかかるので糖質も一緒に摂取しました。
今回のテーマの発表
アラタナさんから今回の勉強会で扱うテーマの説明です。今回のテーマは図書館の貸出サービスです。具体的な内容は下記の様な感じです
利用者について
- 図書は書籍と雑誌に分類できる
- 利用者は一般利用者と特別利用者に分類できる
- 一般利用者は一度に10冊まで貸し出しできる
- 特別利用者は一度に15冊まで貸し出しできる
- 利用者は借りた本を2週間以内に返却する必要がある
図書について
- 図書は不定期に入荷する。入荷して1ヶ月以内の図書を新着図書と呼ぶ。ただし、既に蔵書にある場合はその限りではない
- 新着図書は一度に3冊までしか貸出できない
- 廃棄した図書は記録する
貸出予約について
- 利用者は他の利用者が貸し出しているときは貸出予約を行うことが出来る
- 貸出予約は一度に5冊までできる
- 貸出予約を行って、図書が貸出可能になって1週間経過しても貸出を行わなかった場合は貸出予約は取り消される
返却について
- 2週間以上返却を延滞した場合は、2週間貸出できない
- 返却延滞中の図書がある場合は貸出できない
- 利用者は図書を紛失した場合は、紛失届を提出しなければならない
- 1年以内に2回、紛失届を提出した利用者は半年間貸出できない
ワークショップ
説明が終わり、宮崎は2チーム・東京は3チームに分かれ飲酒をしながらのワークショップです。 参加者にエンジニアではない人もいます。いろんな人が混ざって議論ができるのがDDDっぽいです。 DDDおじさんも「エンジニア用語を使わないように」と言っていました。ユビキタス言語ってヤツですね。
その後、各チーム別々の場所でモデリングをしました。
模造紙を広げポストイットにモデルの名前を書きながら貼りながらモデル同士を関連付けたりとか
ここはこっちじゃない?いやいや、いやいやいや…とか、あれ?そしたらこれが必要じゃない?とか
一般会員と特別会員って何?どうしたら特別会員になれるの!?きっと何かの条件でそうなるんだからそれはコンテキストの外の話だよね、とか。時間がないので機能を削ろうとする人と、せっかくなのでちゃんとサービスを考えたい人で対立したりとか。
斬新な概念も出てきました。飲酒をしていなければなかなか出てこなかっただろうなと思います。
結果発表
血中アルコール濃度も高まってきたところで、それぞれのチームの結果発表です。
それぞれのチームが図書館業務の概念様々なユビキタス言語でモデリングをしていました。
出来上がったモデルたちを見ながらみんなでワイワイ話したりしました。
各チームの発表が終わり、最後はみんなであーだこーだ話してました。
ただ、僕の血中アルコール濃度がこの時点でそこそこ高めだったので、余り覚えてないです。
感想
ドメインエキスパートがいて、その人に質問をしつつ一緒にモデリングをしていっていたらまた違った結果になっていたのかもしれませんね。 ただ、こういう風に国語で議論できるというのはめちゃくちゃ楽しいです。DDDめちゃくちゃ楽しい。
最後に
チャットワークではこのような楽しい社内勉強会が頻繁に開かれています! 参加したいという方は下記のリンクから参加申請してください!!