投稿日
JJUG CCC 2019 Springで登壇してきました!
こんにちは!テクノロジー&イノベーション本部のアプリケーション開発部に所属している本谷です。新規開発の案件で開発メンバーとして働いています。最近ではKotlinを用いたAndroidの開発にアサインされ、ソフトウェアアーキテクチャ設計を中心に活動しています。
今回は少し前の話しになりますが、JJUG CCC 2019 Springにて「俺たちのドメイン駆動設計はこれからだ!」というタイトルで登壇した際の内容を紹介したいと思います。
掲載元URL https://speakerdeck.com/booookstore/an-tatifalsedomeinqu-dong-she-ji-hakorekarada
どうして登壇しようと思ったのか
ドメイン駆動設計を色々な方に知ってほしいという思いから登壇しました。ドメイン駆動設計の認知度はそこまで低くもないけれど、広く普及しているわけでもないのが現状だと感じています。また、知ってはいても始め方がよくわからないという悩みをWeb上で多く見かけています。そのような現状に対し、TISでドメイン駆動設計を実践した例を提示し、ドメイン駆動設計に興味を持ってもらおうと考え登壇しました。
ドメイン駆動設計について思っていること
私がドメイン駆動設計に興味を持ったのは、新人研修を終え現場に配属されて数か月たった頃でした。当時のプロジェクトはアジャイル開発で、初期の頃は要件を満たすソフトウェアを期限までに継続して提供できていました。しかし、ソフトウェアが進化するにつれ複雑度も増していき、理解容易性、拡張容易性を維持するのが少しずつ困難になっていきました。そんな時、ドメイン駆動設計の「本質的な複雑さは技術的なものではなく、ビジネスである」という言葉にとても共感でき、ドメイン駆動設計を現場適用しようと思うようになりました。
ドメイン駆動設計を現場適用して思ったことは、理解するのも難しいし、実践するのも難しいが、それを超えるメリットがあるという事でした。確かに抽象的な内容が多く、どうすれば正解なのかはっきりしないという印象をはじめの頃は持ちましたが、少しずつその考え方や価値観に慣れていくにつれて多くのメリットがあることに気が付きました。特にドメインモデルによる抽象化や、ユビキタス言語による言語の統一はソフトウェアだけではなく、ステークホルダーとのコミュニケーションをも改善でき、チームやステークホルダーのモチベーションを上げることにもつながりました。
登壇してみてどうだったか
自分が経験したことや、考えていることを整理し人の前で話すことで自分の理解が深まったのではないかと感じています。会場には色々な会社で多様な背景を持っている人がいるので、そのような方々が私の発表を聞き、質問をしてくださるのはこちらとしても非常に勉強になりました。また、会場が満席になるほどドメイン駆動設計に興味を持っている人が非常に多いことが分かりました。人が多くて少し緊張しましたが、いい発表ができたと感じています。
登壇後の活動
登壇が満席になってしまって発表を聞くことが出来なかった社内の方が何人かいたので、早速次の週に部内のドメイン駆動設計勉強会で登壇時の話をしました。このドメイン駆動設計勉強会は自由参加形式の勉強会で、若手からプロジェクトリーダーまでの幅広い人が参加しています。登壇スライドの内容について、社内の人から実装の観点や、モデリングについての質問、今後他のプロジェクトでもドメイン駆動を実践していく上で注意するべきことはあるかなどを話し合いました。
今後も社外登壇や社内の勉強会等を通じて、ドメイン駆動設計に関するノウハウや、実践例などを発信していきたいと思っています。今回は登壇という形で情報発信をしましたが、本ブログやFintan等で発信していくのもいいかと考えているので、今後の情報発信にご期待ください!
本コンテンツはクリエイティブコモンズ(Creative Commons) 4.0 の「表示—継承」に準拠しています。