「やるわよ駆動祭り」参加レビュー&まとめ[11/19/2022]

「やるわよ駆動祭り」の成果物たち

 

せやかて駆動さん(twitter:@Dt3nfVOwgom3KJX)主催の「やるわよ駆動祭り」に参加してきました。

その参加レビューと感想などのまとめを書いていこうと思います。

「やるわよ駆動まつり」とは?

このイベントでは「図書館の貸し出し機能」をテーマとして、ICONIXプロセスに基づいてドメインモデリング〜分析クラス図作成までを行いました。

朝の10:00~19:00まで、(打ち上げを含めると12時間…)文字通り朝から晩まで設計漬けの1日。

総勢13名の方がベテランチームと初心者チームに別れて、それぞれに同じテーマで設計を体感するという構成でした。

このイベントでは、当日に向けて2回に渡り事前MTが行われ、参加者の方のイベントへの本気具合が伺えました。

当日にチーム毎に何をモデリングするのかから、タイムマネジメント、ロール決めまで、参加者自身で議論を重ねて決めていくスタイルです。

参加する前の私

ICONIXプロセスなるものがあるのは理解していたけど、実際に設計の流れを体感したことはありませんでした。

設計の流れを1から体感してみる機会というのは中々ないので、今回のイベントは非常に有意義になるだろうと思い、楽しみに。

初心者チームでの参加の予定でしたが、ベテランチームからクライアント役として1人きて欲しいとのことで、急遽ベテランチームへ…

このイベントから学べたこと

  • 設計にかかるコスト
  • 各工程で作られる図が洗練されていく流れ
  • 議論の進め方

・設計にかかるコスト

設計が正直ここまでの人的・時間的コストがかかるものだとは思っていませんでいた。

図書館の貸し出し機能という、システムの一部でしかないものだけでもパッケージ化までするのに8時間かかるとは…

ただ、ここでかけるコストは最終的にはpayできるものであることを学べたのもこのイベントです。

・各工程で作られる図が洗練されていく流れ

今回は分析クラス図までで時間は終了となりましたが、その際に各クラスの依存の向きや、パッケージ化、変更容易性の確認などを行いました。

分析クラス図をいきなり書けばいいのでは?と思われるかもしれません。

正直、分析クラス図に辿り着くまでに7時間ほど経過していました。

イベントに参加したからこそ学べたことですが、各工程で丁寧にドメインを洗い出したり、メソッドを洗い出したりしなければ、抜け漏れの多い、もしくは重複・矛盾しているクラス図ができていたかもしれません。

各工程は有機的につながっていました。

貸出のドメインモデル

ユースケース

ロバストネス図

シーケンス図

分析クラス図

上記のユースケース図などをみてわかる通り、最終的にクラスに何をさせたいのかを、ユースケースの段階では考えませんが、最終的には繋がっていきます。

この工程を抜かして、いきなり分析クラス図を想像で書いてしまうと何が起こるでしょうか?

そんなことも考えてみる良い機会になりました。

また、各工程においてその機能の何のデータを取り出したいのかをしっかり理解に落とし込むことが大切だと思いました。

シーケンス図ではメソッドを洗い出すことが大切だし、ロバストネス図ではシーケンス図に置いて使われるエンティティを洗い出してくれているし、画面遷移図に必要なバウンダリやコントローラ・エンティティを洗い出してい流ということを学べたのも良かったです。

・議論の進め方

今回のイベントでは、かなり議論が活発だった印象です。

議論が活発になるよう、主催者の方が心理的安全性が担保されるようなアナウンス(注意事項などの)をしてくださったり、参加された方達自体も設計への熱い意志を持たれている方たちばかりだったので、自然と議論が活発になったのだと思います。

そんな中でもベテランチームに参加していたわけですが、結論から言うと私のクライアント役というのは途中で雲散霧消になりましたので(笑)、他のベテランチームの参加者の議論に食いついてなんとか追いつこうと終始頑張っていました。

疲労感が見えてきた参加者に対しては運営の方が「頑張っていますね」と声をかけられていたり、設計だけでなくチームマネジメントについても勉強させてもらった気がしています…。

 

まとめ

ということで、つらつらと書いてきましたが、今回の「やるわよ駆動祭り」に参加する前と後とでは、自分自身大きく成長できた感じがしています。

まだまだ勉強しなければならないんですが、勉強の初期段階でも一度実際に何かの機能をドメインモデリングから分析クラス図まで作ってみてしまうといいかもしれません。

間違っていても構わないですし、間違っていた時に修正するためにドメインモデルの洗練なんて言葉があるのだと思いますし。

間違っていてもいいからここのフェーズでは時間制限を設けてとにかく出す!!みたいなやり方も、議論が発散しないためには必要だったりもします。

なんてことが体感を持って学べたのも、このイベントのおかげだったかなと思っています。

 

最後に、主催者と運営の皆様、そして参加者の皆様、本当にありがとうございました!!