見出し画像

チームワークを測定するツール: SLAPタイピングタスクの紹介(後編)

前編の記事はこちら

1. はじめに

前編では、チームワークを測定するためのツールとして個人の能力に過度に依存せず、メンバー間の相互作用によってパフォーマンスの大部分が決まる「SLAPタイピング・タスク」を紹介し、このタスクが、研究者の実施ハードルが低く、参加者に特定の前提知識や能力を要求せず、客観的な指標でチームパフォーマンスを測ることができるという特徴を持っていることなどを説明しました。

後編では、実際にSLAPタイピング・タスクを研究や実験に活用する際に必要な、インストールやカスタマイズ方法、実施のためのTIPSなどを詳しく解説します。これからSLAPタイピング・タスクを使ってみようとお考えの方は、ぜひ参考にしてみてください。


2. タスクの実装・インストール方法

SLAPタイピングタスクは、HTML (index.html), スタイルシート (style.css), および Javascript (script.js) の3つのファイルと、タスクの結果が自動送信される実験者自身の GoogleSpreadsheet の4つで構成されます。

ご自身のローカル環境でも動きますし、GitHub Pagesなどのウェブサーバー上にアップロードすることでも使用できます。必要なハードウェアとソフトウェア構成は、① インターネットに接続されたコンピュータ, ② 物理的なキーボード, ③ ウェブブラウザ(Google Chrome, Mozilla Firefox, Apple Safari, Microsoft Edgeなど)です。

インストールするには、以下の手順で行います。

  1. 作者の GitHubリポジトリ(https://github.com/httrksk/slaptyping)にアクセスする。

  2. Code ボタンをクリックし、Download ZIP を選択して、プロジェクトファイルをダウンロードし、解凍する。

  3. 解凍したフォルダ内の index.html, style.css, script.js の3つのファイルを、同じディレクトリ階層(もしくはWebサーバー上の適切なディレクトリ)に置き、index.html にアクセスする。このとき、日本語版を使用する場合はフォルダ jp 内のファイルを、英語版を使用する場合はフォルダ en 内の3つのファイルを使用する。

以上でローカル環境でもインターネット上でも、タスクは動作します。次の節ではタスクルールのカスタマイズと、スコアの自動送信機能についての説明をします。

3. カスタマイズとスコアの自動送信機能設定

タスク設定のカスタマイズ

タスクの設定のカスタマイズは、script.js の先頭部分でのパラメータ設定部分にて行います。

// グローバル設定
let penaltyThreshold = 5; // ミスタイプのペナルティ閾値
let typingDuration = 60; // 入力セッションの秒数
let strategyDuration = 90; // 作戦タイムの秒数
let googleSpreadsheetUrl = "YOUR_WebAPP_URL"; // Google SpreadsheetのウェブアプリURL

//設定はここまで
  • penaltyThreshold: ミスタイプの減点ペナルティの閾値を設定します。初期設定は 5 (つまり、5個のミスタイプにつき、SLAP入力回数から1が減点されたものがスコアとなります)。

  • typingDuration: 各入力セッションの制限時間(秒)を設定します。初期設定は 60秒です。このタイムを調整することで、チームタスクが、どの程度継続性(persistence)を重視するものなのかを調整できます。

  • strategyDuration: セッション間の作戦タイムの長さ(秒)を設定します。初期設定は 90秒です。このタイムを調整することで、チームタスクが、どの程度チーム内コミュニケーションを重視するものなのかを調整できます。

  • googleSpreadsheetUrl: あなたのGoogle SpreadsheetのウェブアプリケーションURLを YOUR_WebAPP_URL の部分に置き換えることで、参加者のパフォーマンスデータを自動で回収することができます。

Google Spreadsheetの設定

SLAPタイピングタスクでは、参加者のパフォーマンスデータをGoogle Spreadsheetに自動的に保存することができます。この機能を利用するためには、以下の手順に従ってGoogle Apps Scriptを設定する必要があります:

① Google Spreadsheet の作成
Google Spredsheetサイトに行き、新しいスプレッドシートを作成する(名称はなんでも良いです)。

② 変数名の記入
第一行目に列(変数)名である ID1, ID2, SLAP1, TC1, SCORE1, CHEATED1, SLAP2, TC2, SCORE2, CHEATED2, SLAP3, TC3, SCORE3, CHEATED3, TIMESTAMP と入力する。

③ Google Apps Scriptの作成
スプレッドシート内で「ツール」>「スクリプトエディタ」を選択し、Google Apps Scriptのエディタを開く。エディタ内に、以下のコードを入力する(最初から入っているコードは消して上書きする形で)。

function doPost(e) {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = JSON.parse(e.postData.contents);
  var rowData = [
    data.id1,
    data.id2,
    data.slap1,
    data.tc1,
    data.score1,
    data.cheated1,
    data.slap2,
    data.tc2,
    data.score2,
    data.cheated2,
    data.slap3,
    data.tc3,
    data.score3,
    data.cheated3,
    new Date(),
  ];
  sheet.appendRow(rowData);
  return ContentService.createTextOutput(
    JSON.stringify({ result: "success" })
  ).setMimeType(ContentService.MimeType.JSON);
}

④ デプロイ
スクリプトを保存し、「デプロイ」>「新しいデプロイ」を選択する。
この際、「デプロイ」ダイアログで、「ウェブアプリ」を選択し、「次のユーザーとして実行」を自分(YOUR_NAME@gmail.com)、「アクセスできるユーザー」を「全員」に設定する。「デプロイ」ボタンをクリックし、表示されたウェブアプリケーションのURLをコピーする。

⑤ script.js の設定欄への記入
script.jsファイルのgoogleSpreadsheetUrl変数の YOUR_WebAPP_URLを、コピーしたウェブアプリケーションURLと入れ替える。

以上の手順を完了すると、タスクの結果がGoogle Spreadsheetに自動的に保存されるようなり、実験者は、スプレッドシート上でデータの集計や分析を行うことができます。タスクの結果は3回の入力セッションが終了後に3回分のスコアデータ全てが送信されます。

送信されるデータは、ID1, ID2がそれぞれ参加者ID1および2であり、SLAP1, TC1, SCORE1, CHEATED1 はそれぞれ、第1入力セッションにおけるSLAP入力数、総入力数(Total Characters)、スコア、およびコピー&ペースト使用履歴(使用すれば1が入る)であり、SLAP2, SLAP3などはそれぞれ第2, 3セッションでのデータを意味する。CHEATEDは、そのセッションにおいて、1度でもコピー&ペーストが用いられた場合には1を、用いられていない場合には0が格納されます。

2024/05/26 追記:
GoogleスプレッドシートはGoogleのサーバーに依存しているため、ネットワークの問題やサーバーの障害、または大量データの同時送信によってデータ送信が失敗する可能性があります。例えば 50組(台)以上のPCから同時にデータをGoogle Spredsheetに送信されると、少数のデータの受信に失敗することがあります。 私は Google の Firebase Firestore にもデータを自動送信するようにも設定しており、実験で配布する調査用紙に、参加者自身に結果を記入してもらうことも併せて行なっています。

4. タスクの使用方法

それではここからは、このSLAPタイピングタスクを用いて、チームワークの実験を行うためのTIPSと、どのような実験に用いることができるのかについて、簡単に紹介します。

このタスクを用いた実験においては、以下についてあらかじめ準備や注意が必要です。

実験の準備

SLAPタイピングタスクを用いた実験設計の際には、以下の点について、あらかじめ準備する必要があります。

① 実験環境を整える
1台のPCが置かれた机の前に2台の椅子を配置し、ちょうど机上のキーボードが2つの椅子の中央になるように配置します。さらに、チームワークの質に大きな影響を及ぼしうるような強い・弱い照明や極端な室温などの環境を避けます。また、タスクが正常に動作するかの確認も必要です。

② 参加者ペアの決定
ペアの組み合わせは研究の目的に応じて、ランダムペアリングを行ったり、特定の基準に基づいて決定します。

③ 参加者へのタスク説明
タスクの流れについて、事前に説明をします。特に、本タスクは、開始から終了まで中断することなく続きます。タスク中に、実験者が行えるインストラクションは最小限であることを注意してください。

④ デモンストレーションや練習機会の提供
本タスクは、ルールや操作がとても分かりやすく、参加者が迷うことはないと思われますが、それでも最低でも実験者によるデモンストレーションを行うことが推奨されます。私が実験を行う際は、セッション時間15秒、作戦タイム20秒程度のタスクを別のディレクトリに作成しておいて、そちらをデモに使っています。

実験データの利用・分析

SLAPタイピングタスクで得られるデータは、① 各セッションのSLAP入力数、② 各セッションの総入力文字数、③ 各セッションのスコア、④ 各セッションにおけるチート(コピー&ペーストの使用有無)です。ミスタイプ数については、② - (① × 4)で定義されます(総入力文字から、SLAPの連続する4文字の塊を除いたもの)。スコアは、ミスタイプの設定によって自動で計算されたものが Google Spreadsheet に格納されます。

このようなデータを用いて、各チームのチームワークの質を測る「指標」の候補としては以下のようなものがあります(他にもあるかもしれません)。

① 3回のセッションスコア(③)の平均値
これはチームが3回のセッション通じて得たスコアの平均値であり、短期的なチームワークの発揮だけでなく、いくらかの「チームの持続性」が考慮されたチームワーク指標となり得ます。また、各セッションスコアに依存させた報酬設計をした場合には、参加者の動機づけの観点からもこの指標は重要です。

② 3回のセッションスコア(③)の最大値
いわゆる「ベストスコア」です。また、「チームのベストスコアが上位のチームに報酬がある」というような報酬設計をした場合には、この指標が重要になります。この指標を採用すると、チームは3回のセッションのうち、「違った入力タイミングのとり方」「違ったタスクへの取り組み方法」を試行錯誤することが散見されます。

③ 3回のセッションスコアの最大値と最小値の差
これは、チームの「成長」に関する側面を捉える指標です。この指標を元にしたインセンティブ設計はできません(してしまうと、最小スコアをより小さくしようとする誘引が働いてしまうので)が、他のインセンティブ設計の下で、この指標を見るのは意味があると思います。また、3回のセッションスコアの平均成長率を同様に採用しても良いでしょう。

④ SLAP入力回数に占めるミスタイプの割合
これは「成果に占めるミスの割合」と捉えることができ、作業の質をより大きく評価するような指標です。チーム作業の質と量についてみたい時には有効な指標となり得ます(もちろん、初期設定でのセッションスコアも、ミスタイプによる減点が含まれています。ミスタイプの減点設定を変化させることでも、同様の目的を達成できます)。

5. タスクの応用・拡張可能性

前編において、SLAPタイピングタスクがある特定のチームワークの質を測ることができるツールとなりうることを解説しましたが、ここでは、具体的にこのツールを使用して行うことができる研究プランの例を紹介したいと思います。

① 仕事の「量」vs 「質」評価のチームダイナミクスへの影響
たくさんのペアを2つの群にランダム割付し、片方の群では、ミスタイプのペナルティ判断(ミスタイプ何文字でスコア減点をするかの設定)を甘くし、もう片方の群では、ミスタイプのペナルティ判断を厳しくします。このような操作によって、チームタスクにおいて『仕事の量と質の異なる評価』がパフォーマンスやモチベーション、さらにはペアの人間関係などに及ぼす影響を明らかにできるかもしれません。

② 集中や持続性、コミュニケーションがパフォーマンスに及ぼす影響
タスクの時間配分(入力時間・作戦タイム時間)を操作することで、集中や持続、作戦タイム中のコミュニケーションがチームパフォーマンスに及ぼす影響を明らかにできるかもしれません。

③ 気分や環境要因がチームパフォーマンスに及ぼす影響
参加者の気分誘導(ポジティブな感情やマインドフルネス)や、実験環境(温度や明るさ、騒音レベルなど)を操作することで、これらの要因がチームパフォーマンスに及ぼす影響を明らかにできるかもしれません。

これらはほんの一例に過ぎません。もちろん、従来のチームワークの研究で用いられていたタスクを、このSLAPタイピングタスクに置き換えることで、「個人能力依存型」」でないタスクにおいて、先行研究で得られていた結果がどれほどロバストであるのかを検証することも可能だと思います。

他の拡張方法としては、このタスクはもちろん1人で行うことは可能ですが、2台のキーボードを接続すれば、1人が1つのキー入力を担当する4人チームで行うことも物理的には可能です(さすがに1台のキーボードを4人でシェアするのは、試してみましたが無理がありました)。

5. おわりに

この記事では、前編・後編にわたって、新しいチームワークの測定のための実験ツールであるSLAPタイピングタスクについて、その特徴や利点、インストール方法から実施方法、研究例を解説・紹介しました。ぜひみなさんの研究においても、本タスクの利用を考えていただければ、私としても嬉しいです。また、このタスクを用いた実験研究について、私と一緒に研究したいと考える方がいらっしゃいましたら、私の手元にはこのタスク実施におけるノウハウと、過去のデータ蓄積がありますので、ぜひ気軽にお声がけください。

このタスクを使って研究、執筆、記事を発表する場合には、必ず以下の文献を引用してください。
Hattori, Keisuke, SLAP Typing Task: A New Experimental Paradigm for Teamwork Research (May 11, 2024). Available at SSRN: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4824958


この記事が気に入ったらサポートをしてみませんか?