天の月

ソフトウェア開発をしていく上での悩み, 考えたこと, 学びを書いてきます(たまに関係ない雑記も)

yr-learning Vol46に参加してきた

yr-camp.connpass.com

こちらのイベントに参加してきたので、会の様子と感想を書いていこうと思います。

今日はTrading Card Game Kataモデリングをやっていきました。

先週の取り組みの簡単な共有

先週の取り組みを簡単に共有し、今回は前回よりは少し難しめのお題でイベントストーミングをやってみようという話をしました。

イベント洗い出し

イベントを洗い出しながらハッピーパスをフローで表現してみました。
最初にブレスト形式でイベントを洗い出した後、みんなで出したものを一旦グルーピングし、慎重に統合をしたり会話の中で出てきたイベントを追加していきました。(似たようなものや同じ語彙でもイメージしているものが違う可能性があるため)
結果としては以下のようになりました。

イベント中の会話では、以下のような話題が出ました。

  • 「ゲームを開始した」は「ターンを開始した」と分けて存在させたほうがよさそう
  • 山札が減ったと手札が増えたは別のものを操作するはずなのでイベントとしては分けて表現したほうがよさそう
  • ゲーム開始後のイベントとしてランダムでの手札配布があるので、そこは追加したほうがよさそう
  • マナは回復と最大値追加の2つのイベントに分けたほうがよさそう

アクター/コマンド/ポリシー/集約の追加

イベントをつなぎ合わせた後にアクター/コマンド/ポリシー/集約を追加しました。(ただし集約は時間がなく一旦次回に回すことになりました)
山札を減らして手札を増やすフローを実現しようと思ったのですが、実際に作業をしてみると別のイベントに分けてはいるけれども山札だけ減って手札は増えなかったり、手札は増えるけど山札は減らなかったりすることはありえないので一つのコマンドで表現したほうがよさそうだという話になり、今回は実験的に一つのコマンドから複数のイベントを派生させました。(後々フローが複雑になりそうなリスクはあるが、一旦やってみてあとで苦労を味わってみる)

全体を通した感想

前回イベントストーミングをやってみたときは、「これそんなに効果あるのかな?」と正直なっていましたが、今回はイベントが会話の中で生まれたり概念の整理に有用なアイデアがいくつも浮かんできたりして、有用性を実感することができる時間でした。

イベントストーミングをさほど経験してきていないメンバーなのにも関わらず、「これはイベントストーミングができているぞ!!」と勘違いすることができたのは今回のハイライトでした。