バグハンティングやリスクストーミングゲームをプレイするBingo Bongoセッションにより、品質を向上させることができる。ゲーミフィケーションは学習を支援し、日常業務を面白くし、チームスピリットを強化することができる。
Dehla Sokenou氏とBaris Güldali氏は、OOP 2022でゲーミフィケーションを用いてソフトウェアの品質を向上させることについて話した。
ストーリーマッピングとプランニングポーカーは、インタラクティブな形で実施するもので、コラボレーションを改善し、結果を最適化できる。Güldali氏は、ゲーミフィケーションには課題に対するチャレンジの要素があると述べた。
チームが互いに競争するか、個人が自身と競争します。これにより、モチベーションがさらに高くなります。また、とても楽しいものです!
Sokenou氏は、テストにゲーミフィケーションをどのように用いるかを説明した。
私たちが開催するBingo Bongoセッションは、すべての参加者ができる限り多くのバグを見つけようと試みるものです。これはアジャイル開発プロセスの不可欠な部分であり、バグを発見し、バグを顧客に届けてしまうことを防ぐのに非常に効果的です。そして、テスト(通常は開発チームにとって破壊的なタスク)は肯定的な意味合いを持ちます。
Güldali氏は、ゲームをプレイすることはオフィスでの日常業務の一部であり、効果的な作業時間と見られるべきであると述べた。ゲーミフィケーションでは、創造的なプロセスによって真の価値が生み出されると、Güldali氏は述べている。そのため、雇用主はチームメンバーにゲームをプレイする自由を与える必要がある。
Sokenou氏は、ゲーミフィケーションがお互いからの学習をどのようにサポートするかを説明した。
バグハンティングセッションでは、経験の浅いチームメンバーが経験豊富なテスターからどのように学び、それがチームを前進させてくれるかがわかります。
InfoQは、ゲーミフィケーションについてDehla Sokenou氏とBaris Güldali氏にインタビューした。
InfoQ: ゲーミフィケーションをどのように定義しますか?
Dehla Sokenou: 私たちの定義は「ゲーミフィケーション:ゲーム以外のコンテキストにおいてゲームデザインの要素の使用」から来ています。
「ゲーミフィケーション」は、ゲームでないシステムでビデオゲームの要素を使う非公式の総称で、ユーザーエクスペリエンス(UX)とユーザーエンゲージメントを向上させるためのものです。
これは、ゲーミフィケーションの基本的な特徴を表したものです。
- 私たちの世界では、例えばソフトウェアプロジェクトは、真剣に取り組む対象というコンテキストにある
- ゲームから得た要素が、このコンテキストで使われるが、重要な点としては、ゲーム自体はプレイしない
- これらの要素を使って、このコンテキストで改善を達成することが目的である
InfoQ: 品質保証のためにゲーミフィケーションをどのように用いましたか?
Baris Güldali: よく知られている例はMinistry of Testingが提供するリスクストーミングです。ゲームボードやカードのような通常のゲームの要素を伴うものです。私たちはこのゲームを、それぞれのゲームの後にプレイヤーがポイントを集めるチャレンジの要素で拡張しています。
プレイヤーはテスト対象を指定し、カードの束から関連する品質の観点を選択します。彼らは、選択された品質の観点に関して、テスト対象に対する潜在的なリスクを考えます。カードセットには、実際にテストする前に、リスクをカバーするためにどのようにテスト対象をテストするかについて多くのアイデアが含まれています。
ゲーミフィケーションの拡張機能:ゲームの最後に、プレーヤーは最も高いリスクと効果的なテスト手法に投票します。貢献した人は、ノミネートごとにポイントを獲得します。Wall of Fameには、チーム内の各プレーヤーが収集したポイント数が記録されます。
InfoQ: ゲーム中にプレイヤーを惹きつけ続けるにはどうすればよいですか?
Sokenou: 多くの人が遊びが好きです。通常、人々にゲームへの参加を促すのは簡単です。同じゲームを繰り返しプレイしたり、プロジェクトやチームに適さないゲーム要素を導入したりすると、問題が発生します。実績のあるゲームの仕組みを使えば、拒否されるリスクが軽減します。
ゲームを面白く保つために、チームは振り返りをすることができます。不適切なアプローチを捨て、適切なアプローチを広げる必要があります。そうすれば、ゲームは時間とともに進化し、面白くなります。
また、報酬システムも役立ちます。Bingo Bongoのようなバグハンティングゲームをプレイするとき、私たちはチームメンバーごとに見つかったバグを数え、最高のテスターを発表し、小さな賞を与えます。
InfoQ: ゲーミフィケーションはいつ使いますか?
Güldali: ゲーミフィケーションは、「群知能」が個々の知識を合わせたもの以上の場合に役立ちます。チームメンバー間の相互作用により、ソフトウェア品質に対する新しいアイデアがもたらされ、新たな勢いになります。例えば、実際の複雑なバグを分析したり、新しい未知のビジネスコンテキストで要件を特定したりします。
Sokenou: ゲーミフィケーションには多くのメリットがありますが、注意して使う必要があります。チームがプレーする意思がない場合は、ゲーミフィケーションの導入を強制する意味はありません。
Güldali: ゲーミフィケーションは、より友好的な職場環境を構築し、組織内のコラボレーション文化を向上させるのに役立ちます。多くの人にとって、こういったタイプの観点は金銭的利益よりも重要となります。