こんにちは、吉澤です。
先日の年末生放送でペジテの自転車オンライン版の開発について話をしました。 www.youtube.com
放送の中で少し触れたのですが、この開発では設計もプロジェクトマネジメントもほとんどBalusのモデルを使って進めました。興味を持った方もいると思うので、どんなモデルをつくったのかを簡単に紹介してみたいと思います。これからモデルを使ったシステム開発をやってみたいという方の参考になれば嬉しいです。
できたもの
完成したシステムはこんな感じです。
こちらでゲームをプレイしている様子が見れます。 blog.levii.co.jp
補足:「そもそもペジテの自転車って何?」って方はこちら
blog.levii.co.jp blog.levii.co.jp
さらに補足:「なんでオンライン版を開発してるの?」って方はこちら
blog.levii.co.jp blog.levii.co.jp
プロジェクトのキックオフ
まずは、今回のプロジェクトの関係者全員でキックオフをやりました。キックオフももちろんBalusを使いました。ちゃんとしたシステムモデルをつくったのではなく、ホワイトボードのような感じでみんなでわいわいするのにBalusを使いました。
キックオフでつくったものを紹介します。
プロジェクト概要
プロジェクト名やプロジェクトの目的・ゴール・スコープ・期間など、このプロジェクトは何なのかの共通認識をつくりました。
プロジェクトメンバー
プロジェクトに関わるメンバーを確認しました。それぞれの役割、どういうスキルをもっているか、どんなことをやりたいか、他のメンバーに対してどんなことを期待するか、など個人にフォーカスして話しました。
プロセス
定例会の設定やプロジェクトのざっくりとしたスケジュール感など、プロジェクトをどんな感じで進めるかを決めました。
上流設計
キックオフの後は上流設計に入りました。ここから本格的にモデルを使って「どのようなものをつくるか」を決めました。
- コンテキスト
- 業務フロー
- ドメインモデル
- ユースケース
- 画面遷移
- 画面構造
必ずしもすべてをシステムモデルで表現した訳ではありません。「どのような認識をどの抽象度で揃えたいか」を考えて、必要ならドキュメントもつくりました。例えば、業務フローは、
- 研修のシナリオ
- ゲームの進行とルール
は具体的に知っておく必要があるので、既存のドキュメントやスライドを使ったり、実際に研修を体験してみたりして認識を揃えました。
つくったモデルの中からいくつかピックアップして紹介します。
コンテキスト
コンテキストで、どのようなステークホルダーがいて、どのようにシステムと関わるのかを明確にしました。今回のシステムは研修で利用するものなので、プレーヤー以外にもファシリテーターが重要そうだということがわかりました。
コンテキストについて詳しくはこちら levii.co.jp
ユースケース
ユースケースで、ステークホルダーからみたシステムへの期待と、システムからみてどのステークホルダーが操うかの認識を揃えました。また、ユースケースの抜け漏れがなく、これができたらシステムは完成と言えるかどうかを確認しました。
画面構造
今回のシステムは、画面数はそれほど多くない代わりに「ゲーム画面」という一つの画面内でいろいろできる設計にしました。そのため、画面構造でゲームの状態によってゲーム画面に何を表示するべきかを議論しました。
プロジェクトマネジメント
今回のプロジェクトでは、マイルストーンやタスク管理もBalusで行いました。しっかりやるなら専用のツールを使うのもよいのですが、今回はBalusを使ったことでシステムモデルとシームレスに行き来できて便利でした。他にもミーティングや振り返りなど、いたる場面でBalusが活躍しました。
マイルストーン
カンバン
その他にもたくさん
ここでは紹介しきれませんが、開発を進める中でも、
- オブジェクト図
- システムの振る舞い
- 議論の中でつくった一時的なモデル
など、さまざまなモデルをつくって進めました。
おわりに
Balusのモデルを中心に開発したことで、とてもスムーズに完成まで進んだプロジェクトだったと思います。つくるシステムやチームの大きさにもよりますが、モデルを使ったシステム開発の参考になればと思います。
開発したペジテの自転車オンライン版をプレイできる体験会を開催します! blog.levii.co.jp
ペジテの自転車を使った研修に興味がある方はこちらからお問合せください。 levii.co.jp