InfoQ

Articles

Hubert Smits氏による「ゲーム・デザイン・ワークショップ」

作者 安井 力 - (株)永和システムマネジメント 投稿日 2008年8月26日 午前2時0分

コミュニティ
Agile
トピック
チームワーク,
トレーニング/認証,
イベント
タグ
Agile2008,
日本発記事

Agile2008の4日目となる8/7(木)の8:30から、Hubert Smits氏による「ゲーム・デザイン・ワークショップ(Game Design Workshop)」がおこなわれました。ゲームと言っても単なる遊びではなく、「フレームゲーム」と呼ばれる、グループでの情報収集や意志決定、また教育やトレーニングの教材として使えるいろいろなゲームです。参加者は15名程度で、ワークショップ形式で新しいゲームを開発します。

Smits氏ははじめに、The Thiagi Group(http://www.thiagi.com/)によるフレームゲームというものを紹介します。Thiagi氏によって数多くのフレームゲームが開発されています。ゲームの目的にはいろいろなものがあります。

  • グループによる意志決定
  • 参加者の知識を共有する
  • エキスパートの知識を伝達する
  • グループが新しいことを習得する、理解を深める

まず紹介したのは「グループ・グロープ(Group Grope)」という意志決定ゲームです。7人程度のグループに分かれて、個々人の意見をまずカードに書き、それを見せ合ったり交換したりしながら、グループとしての意見を集約していきます。徐々に集約していくのがポイントで、最初は1人でよい意見を選び、次には1対1で意見を比較し、最後は3人で選ぶという段階を踏むことで、時間を節約しながら意見を共有できるというバランスを実現しています。

グループ・グロープにはたくさんの亜種があり、やりかたによっては300人のグループで実施することもできるそうです。

次に紹介したのが「汎用ボードゲーム(Generic Board Game)」という、教育のためのフレームゲームです。これはスゴロクのようなボードゲームですが、枠があるだけで中身はありません。中身は、教育したいテーマに沿って作成するのです。このゲーム作成がワークショップの本番で、SCRUMにおけるスプリントプランニング(スプリント、またはイテレーション中の計画をつくるミーティング)の進め方を伝えるというゲームを作ります。

ゲームは手順やプロセス(ここでは計画ミーティングの進め方)を教えるためのもので、どのようなステップや作業があるのか学ぶだけでなく、なぜそこでその作業をするべきなのか、グループで議論しながら理解を深めることができます。ゲーム自体はスゴロクのように勝ち負けのつくものですが、目的はグループ全体の知識を深めることです。

ゲーム自体は、複数のプレイヤーがスタートから始めてゴールを競うものです。以下のルールで遊びます。ゲームのテーマは自由ですが、ここではワークショップをおこなった、計画づくりのミーティングの進め方を例として説明します。

  1. スタートからゴールまでは、いくつかのエリアに分かれている。エリアは、計画づくりのミーティングを進めるときのフェーズや段階に対応する。
       例: 準備、タスク出し、優先順位付け、スコープ確定、など
  2. プレイヤーには、計画づくりミーティング中でやることを書いたカードを、1人10枚程度配る。
       カードに書いてあることの例: 参加者を集める、ストーリーをタスクに分解する、タスクを優先順に並べる、など
  3. プレイヤーは全員、スタートのマスに自分のコマを並べる
  4. プレイヤーは順番に、自分のコマがいるエリア(最初は「準備」段階)でやるべきことを書いたカードを出し、コマを1つ進める
  5. 他のプレイヤーは、もしエリアとカードが合っていないと思ったら、カードを出したプレイヤーに挑戦する。挑戦されたプレイヤーと挑戦者はその場で議論し、合っているかどうか結論を出す。
  6. 挑戦者が勝ったら挑戦者はコマを1つ進め、エリアと合わないカードを出したプレイヤーはコマを1つ戻す。挑戦者が負けたら、挑戦者はコマを1つ戻す。
  7. 順番に、誰かがゴールに到達するまで続ける。

この汎用ボードゲームのポイントは、エリアとカードの対応が明らかでない点です。もちろん書いてはありませんし、そもそも曖昧であることもあります。たとえば「タスクを優先順に並べる」というのは、優先順位付けの一部なのか、スコープ確定の一部なのか?これを自分の手の中や、人の出したもので妥当か考え、さらに議論をしていくことで、テーマ(計画づくりミーティング)についての理解を、チーム全体で深めることができます。

ゲームを作るには、エリアとカード、それと追加ルールを決めていきます。私が参加したグループでは、「ウソカード」を作ることにしました。どのエリアにも当てはまらない、計画づくりミーティングではやらないことです。たとえば「これまでに完成したものをレビューする」などです。エリアを決めてカードを書くには、テーマについて詳しい知識が必要となるので、テーマに詳しい人でないとゲームを作れません。調査が必要になる場合もあります。

しかし興味深いことに、ゲームを作るという作業そのものにも、知識を整理したり理解を深めたりする効果がありました。特にグループで1つのゲームを作ることで、グループの中で「トピック(計画ミーティング)はどうあるべきなのか?」という議論をして、共通の認識を作ることができました。たとえば「これまでに完成したものをレビューする」という作業は、計画づくり以前にする(そうすると、計画づくりミーティングの外側なので、ウソカードとなる)のか、それとも計画づくりの一部としてする(この場合は、準備段階の一部となる)のか、議論となりました。グループで議論をすることで、自分たちのプロセスの曖昧さが浮き彫りになったのです。

こうした議論を直接、プロジェクトで「どうやって計画を作るか」というテーマで議論したら、いろいろなポリシーや思惑が衝突して、不毛ではなくとも時間とエネルギーのかかる会議になるかもしれません。しかし、「『どうやって計画を作るか』というゲームを作ろう」と思うと、それだけで雰囲気が変わってきます。ゲームだから面白くしたいし、「ゲームが完成する」という明確な目標があります。できあがったゲームを自分たちで試しに遊んでみて、できばえを確認することもできます。

ゲームという形式をとることで、参加者の興味を引き出し、ミーティングやトレーニングの効果を高めることができます。またゲームには明確なルールがあるため、進行がスムーズになりやすいというメリットもあります。Thiagiのページ(http://www.thiagi.com/)には簡単に実施できるゲームも多数紹介されているので、ひとつ試してみてはいかがでしょうか?

ブックマーク
digg+,
reddit+,
del.icio.us+,
dzone+,
Hatena

No comments

返信

特集コンテンツ一覧

Typemock: その過去・現在・未来

Eli Lopian氏率いるTypemock社の過去・現在・未来について、インタビュー形式にて記します。

企業とSaaSの仮想化がもたらすのは、迅速性(アップ)だけではない

この論文では、仮想化やクラウドサービスの複雑なメリットと実世界における応用を検討します。さらに重要なこととして、Contegixが複雑な問題の解決に仮想化を実装している方法や、仮想化を使うべきではないケースについて詳細を提供します。

RubyのFiberを非同期I/Oに使うNeverBlockとRevactor

Fiberはユーザに試練を課すことなくこの考えを実装する有益な並行性ツールとして、ライブラリが2つあります。まさにこのためのソリューションとしてあるのがNeverBlockライブラリです。私たちはNeverBlockプロジェクトのMohammad A. Ali氏とRevactorライブラリのTony Arcier氏に話を聞きました。

拡張性に関する悪習慣

システムの保守容易性や拡張性を確保するためのベスト・プラクティスに関する記事は数多くありますが、この記事では避けた方がいい、いくつかの悪習慣(ワースト・プラクティス)を強調します。

トップスポーツチームの監督に教わる秘訣

この論文では、氏が発見した原則を要約し、その原則をいかにしてソフトウェア開発に応用するかを説明します。

事例研究:Dutch Railwaysのプロジェクトにおける分散拠点でのスクラム・プロジェクト

この記事では、私達がどのようにして大規模(240人月、10万行強)でインドとオランダの開発者も参加したスクラム・プロジェクトを成功させたのかを示しています。

Agile2008チーム参加レポート - 帰国そして変化

Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。参加者はカンファレンスで各々の発表や、各セッションへの参加、諸外国のエンジニアとの出会い、ステージ上で DearXPを熱演などの様々な思い出を抱えて、無事日本に戻ってきました。

SilverlightとJavaのインターオペラビリティ

マイクロソフトのRobert Bellが、SilverlightとJavaを使用したインターオペラビリティのシナリオを紹介し、サンプルコードを例にとってアーキテクチャの手引きを提供します。