🦸‍♀️

DDD × Whimsicalで快適モデリングライフ!

2023/05/17に公開

はじめに

はじめまして、株式会社TechBowlでエンジニアをしているロキです!(名前がひろきなので社内ではロキと言う神の名で呼ばれています🧞‍♂️)

それはさておき、一年半の業務委託を経て、5月からTechBowlの社員になりました🥳
そんな私の一発目は技術ブログは、ドメイン駆動設計(以下DDD)の戦術的設計についてです。

前提

開発フローや活用しているツールについて紹介していくため、今回DDD自体の説明(特に戦術設計)はしません。
バックエンド全体の技術スタックについては以前投稿したDDDのアーキテクチャを含むTechTrainバックエンド開発環境などを紹介していく!を見ていただけますと嬉しいです!

TechTrainの設計遍歴

そもそも私が一年半前に業務委託として参加したきっかけとなったのが、バックエンドの設計でした。
当時は全体像を把握できるようなドキュメントがなく、処理的には責務の大きいクラス(いわゆるUserService的なもの)でハンドリングされているような状況でした。
(この状況を理解したのが弊社テックリードのスーさんとカジュアル面談の最中でした。そこで、「こうしたら良さそうだよね」みたいな話で盛り上がった記憶があります笑)

そんなこんなで参画後、まずは全体像が見えるようにモデル図の作成から着手し始めました。
最初はDiagrams.netで作成していました。

↑初期のモデル図の一部

ただ、図がどんどん肥大化して見づらくなったため、Miroに切り替えました。

Miroではカードオブジェクトを利用しており、その中に概念の属性やライフサイクル設計、イベントについて記載していました。

↑イメージこんな感じです

しかし、カード内に画像が貼れなかったり、コメントが残しづらいという面で綻びが出始めていました。

この時期になって弊社PdMのもっちさんから「Whimsicalいいぞ!」と言う情報をもらい、使ってみた結果非常にいい感じなのでそのまま載せ替えを行うことになりました。

Whimsicalでのモデリング

Whimsicalの話をする前に、少しモデリングの進め方について説明します。

新規の開発に関してはPdM、デザイナー、担当エンジニアで話しながらモデリングを進めることが多いです。
既存ベースの拡張などについては担当エンジニアでモデリングして、詰まったらチーム内確認を行う感じになっています。

進め方で特徴的な点として「デザイン先行」が挙げられます。
モデリング開始時点で弊社デザイナーのだいちさんによって機能のイメージがFigma上に起こされており、それをベースに会話していく形です。
Figma上にあるのはあくまでデザインイメージですが、実際に見えるものがあるとかなり会話しやすいためスムーズにモデリングを行うことができます。
モデリングしながらデザインも同時並行でブラッシュアップされていくイメージです。
デザインはあくまで表層なので概念設計で引っ張られないように注意しています。

上記設計時に利用しているのがWhimsicalです。


↑カードのテンプレはこんな感じです。
使い方はMiroのカードの時とほぼ一緒なのですが、画像を載せたり、画像赤枠のようにディスカッションのスレッドをカード内でたてることができます。

私個人としてはWhimsicalを使うようになってからは情報を残しやすくなり、より愛着が湧いています💃

モデル図はエンジニアだけのものではないので、システムに落とされていない運用などドメイン知識に関することはチームの力を借りて補完していくといいと思います!

まとめ

簡単ですがモデリング遍歴とWhimsicalを紹介しましたがいかがでしたか?
どのツールもそれぞれ良し悪しがあるので、そういった部分も含めてモデリングについては別途TechTrainユーザーさん達とも会話してみたいと思っています😎

TechTrainとは

TechTrain はプロのエンジニアを目指す方のためのオンラインコミュニティです。

Web フロントエンド・バックエンドなど、各技術分野ごとに必要な素養を路線マップのように俯瞰しながら、着実に開発を進めることができる実践型開発ドリルが用意されています。

業界でバリバリ活躍する現役社会人エンジニアがメンターとなり、実践的なメンタリング、カリキュラムを提供しています。

TechTrain でエンジニアに向けての第一歩を踏み出してみませんか?

今の自分のエンジニアスキルを高めたい方ももちろん大歓迎です。

本気で実力を一段上に上げたい方をお待ちしています!

https://techtrain.dev

また、TechTrain をもっと良いサービスにするために、一緒にサービスを盛り上げてくれるエンジニアを募集しています。エンジニアが楽しく活躍できる未来を一緒に作っていきましょう。ご応募お待ちしています!!

https://youtrust.jp/recruitment_posts/28e8d11295c238a01ad85d0610c5c742?utm_source=twitter&utm_medium=social&utm_campaign=share_recruitment_post

TechTrainテックブログ

Discussion