kakakakakku blog

Weekly Tech Blog: Keep on Learning!

Calendly: Zapier を使って Notion と連携しよう

「Calendly」は多くのサービスとのインテグレーションをサポートしている."Professional" プラン以上で使える「Zapier インテグレーション」で連携すると,開発をすることなく(ノーコード)イベント駆動な仕組みを実装できる.

Calendly を試しながら「ミーティングの申し込みがあったら自動的に Notion にドキュメントを作る」ということを実現したく,トライアル期間中に Zapier との連携を実装してみた❗️実際に使っていて便利〜(課金したくなる...💰)プラン詳細は以下のドキュメントにまとまっている!

calendly.com

Calendly に関しては以下の記事で紹介しているので読んでもらえればと〜📝

kakakakakku.hatenablog.com

Zapier セットアップ

最初に Calendly 側で Zapier 用の API Key を取得して,Zapier の Zap に設定する.

次に Zapier 側で Trigger (Calendly)Action (Notion) を設定する.Notion ドキュメントのタイトルと本文には Calendly のフィールド値を設定する.候補日だけではなく質問に対する回答なども取得できる.

すると自動的に Notion ドキュメントが作られる❗️

Calendly: 気軽に 1on1 を申し込もう

仕事に関係なく「話したいなぁ〜」と思った相手とのミーティング(1on1 / 壁打ち / 技術雑談など)を気軽に申し込めるサービス「Calendly」を紹介する❗️ちょっと前から気になってて,試してみたら便利でさっそく導入(テスト運用中)もしてみた.機能は限られるけど,無料で使える "Basic" でも問題なさそう〜

calendly.com

Calendly 操作イメージ🎤

Calendly を使って「ミーティングを申し込む流れ」を見てもらえばイメージは掴めると思う❗️

1. Calendly サイトにアクセスする

Calendly サイトにアクセスすると,設定しているイベント「1on1」を選べる.本当は「Blog 1on1」「Tech 1on1」「General 1on1」など複数イベントを設定したかったけど,Basic プランだと1イベントのみ設定できるようになっている.

2. 候補日を選ぶ

次に候補日を選ぶ!日時と時間は管理画面で細かく設定していて,以下の例だと 1/3110:0010:30 で申し込める.

3. 質問に回答する

名前や 1on1 トピックなど,簡単な質問に回答して申し込み完了!今回は Google Meet を使う設定にしている.当日お会いしましょう!簡単便利〜 (・∀・)

Calendly 機能紹介🎤

インテグレーションの多さ

Calendly は多くのサービスとのインテグレーションをサポートしている.「カレンダーサービス」なら Google Calendar や Office 365 Calendar などをサポートしていて,「ビデオ会議サービス」なら Zoom や Google Meet や Microsoft Teams などをサポートしている.インテグレーションは他にもまだまだある❗️

柔軟な質問を設定できる

ミーティングを申し込む前に質問に回答してもらえる.多すぎると面倒だけど,アジェンダなど最低限の情報を把握できるのはお互いに助かると思う.回答タイプも充実していて便利❗️

  • One Line(一行テキスト)
  • Multiple Lines(複数行テキスト)
  • Radio Buttons(単一選択)
  • Checkboxes(複数選択)
  • Dropdown(単一選択)
  • Phone Number(電話番号)

ミーティングが隙間なく埋まらないようにブロックできる

Before eventAfter event を設定することで,ミーティングが隙間なく埋まらないようにミーティングの前後をブロックできる.準備時間や休憩時間を確保できてイイ❗️

他の予定とコンフリクトしないように考慮できる

Calendly で「毎週何時」「特定日」など,候補日を柔軟に設定できるけど,気になるのは他の予定が入ったときに Calendly への反映を忘れてしまって「ダブルブッキングになってしまった💦」という事故だと思う.Calendly には「Check for conflicts」という機能があって,例えば Google Calendar だと指定したカレンダーに予定が入っていたら(コンフリクトしそうだったら)候補日にならないようにしてくれる.これは本当に便利な機能で Calendly の管理がしやすくなる❗️

サイトに埋め込める

Calendly をサイトに埋め込む機能もある.現時点では3種類ある.個人的には「ポップアップボタン」があると良いなぁ〜と思った.今後に期待❗️

  • Inline Embed(Calendly を直接埋め込む)
  • Popup Widget(フローティングしたボタンをクリックすると Calendly が表示される)
  • Popup Text(テキストリンクをクリックすると Calendly が表示される)

まとめ

「Calendly」を試してみた❗️個人利用でも企業利用でも便利だと思う〜

今年はテックブログに関する壁打ちや雑談などをもっと気軽にできたら良いなぁ〜と思っていて,さっそく Calendly を導入してみた.現状まだ「テスト運用中」で候補日は少ないけど,kakakakakku blog のサイドバーに Popup Text を埋め込んでおいた.もしくは以下のリンクから直接アクセスしてもらっても OK💡実際に運用をしてみないとわからないこともあってお話しましょう〜

calendly.com

GitHub App「Pull Request Size」プルリクエストのサイズをラベル化しよう

GitHub App「Pull Request Size」を使うとプルリクエストの差分量から "サイズを意味する" ラベルを付けてくれて便利❗️やってることは単純だけど「このプルリクエストは大きすぎるな〜」という判断材料にも使える.個人アカウントなら無料なのも嬉しい✌️

github.com

ラベル一覧

ラベルに関しては以下の「計6種類」が用意されている!

  • size/XS : 差分量 0-9 行
  • size/S : 差分量 10-29 行
  • size/M : 差分量 30-99 行
  • size/L : 差分量 100-499 行
  • size/XL : 差分量 500-999 行
  • size/XXL : 差分量 1000 行 以上

差分量の計算式と除外ファイル

「差分量」を算出する計算式は GitHub に載っていて,基本的には「追加 + 削除」になる.でも generated file(自動生成されるファイル) の差分を除外してくれるのはよく考えられていると思った❗️具体的には node_modules/ ディレクトリなどが考慮されていて,一覧は GitHub の noqcks/generated リポジトリで管理されている.さらに「Pull Request Size」では .gitattributes を使うと除外ファイルをカスタマイズすることもできる〜

total additions + total deletions - (all generated file additions/deletions)

github.com

github.com

ラベルの色をカスタマイズする

カスタマイズという観点だと .github/labels.yml ファイルを使って「ラベルの色」も設定できる.痒いところに手が届く感じ❗️

XS:
  name: size/XS
  lines: 0
  color: 3CBF00
S:
  name: size/S
  lines: 10
  color: 5D9801

プルリクエストを更新するとラベルは更新される

プルリクエストを出した後にレビューを繰り返しながらコードを修正したらどうなるんだろうと気になった.実際に試したところ,コミットごとに計算されて自動的にラベルは更新された❗️

まとめ

さっそく GitHub App「Pull Request Size」を使っていくぞー❗️

ツイート

リアルなテストデータを作ってモック化までできる Mockaroo

リアルなテストデータを簡単に作ってモック化までできるサービス「Mockaroo」を紹介する❗️データベースのテストデータを作ったり,フロントエンドを実装するときに必要になるバックエンド API をモック化できる.テストデータに testhoge という文字列を使ってしまうと本番環境相当の確認がしにくく,できる限りリアルなテストデータを作りたい場面は多くあると思う💡

www.mockaroo.com

Mockaroo の特徴としては,サポートしてるタイプがなんと現時点で「13 カテゴリ(169 種類)」もある.以下にカテゴリごとにタイプ数をまとめる.What's new を見ると,定期的にタイプは増えている.

  • Advanced(10 種類)
  • Basic(29 種類)
  • Car(1 種類)
  • Commerce(13 種類)
  • Construction(6 種類)
  • Crypto(7 種類)
  • Health(17 種類)
  • IT(21 種類)
  • Location(14 種類)
  • Nature(5 種類)
  • Personal(30 種類)
  • Products(6 種類)
  • Travel(10 種類)

さらに Mockaroo では「11 種類」のフォーマット(形式)でテストデータをダウンロードできる.以下にまとめる.注意点としては,データ件数は「最大 1000 件」となるところ.

  • CSV
  • JSON
  • Tab-Delimited
  • SQL
  • Cassandra CQL
  • Firebase
  • InfluxDB
  • Custom
  • Excel
  • XML
  • DBUnit XML

お試し① SQL フォーマット

以下のタイプを選んで users テーブルに使えそうなテストデータを作ってみた.

  • Row Number
  • Username
  • Email Address
  • Avatar (Size: 50x50)
  • City
  • Country
  • Datetime (unix timestamp)

以下の条件で「SQL フォーマット」でダウンロードした.

  • Rows: 1000
  • Format: SQL
  • Table Name: users
insert into users (id, username, email, avatar, country, created_at) values (1, 'mchedgey0', 'tmonkeman0@phoca.cz', 'https://robohash.org/dictaautmollitia.png?size=50x50&set=set1', 'Bangladesh', '1650159167000');
insert into users (id, username, email, avatar, country, created_at) values (2, 'spigram1', 'sgulleford1@live.com', 'https://robohash.org/utillosaepe.png?size=50x50&set=set1', 'Bangladesh', '1638834568000');
insert into users (id, username, email, avatar, country, created_at) values (3, 'bgranville2', 'hlarroway2@ezinearticles.com', 'https://robohash.org/nihiloccaecatidoloribus.png?size=50x50&set=set1', 'Palestinian Territory', '1620444328000');
insert into users (id, username, email, avatar, country, created_at) values (4, 'dblezard3', 'emcallaster3@shinystat.com', 'https://robohash.org/quiquiasunt.png?size=50x50&set=set1', 'Germany', '1598947981000');
insert into users (id, username, email, avatar, country, created_at) values (5, 'ehebbs4', 'lmaxworthy4@jalbum.net', 'https://robohash.org/rerumesteum.png?size=50x50&set=set1', 'United States', '1619682314000');

そして SQL を MySQL にロードして,クエリを実行すると,期待通りにデータを取得できた.便利❗️

mysql> SELECT COUNT(*) FROM users;
+----------+
| COUNT(*) |
+----------+
|     1000 |
+----------+
1 row in set (0.01 sec)

mysql> SELECT * FROM users LIMIT 5;
+------+-------------+------------------------------+----------------------------------------------------------------------+-----------------------+---------------+
| id   | username    | email                        | avatar                                                               | country               | created_at    |
+------+-------------+------------------------------+----------------------------------------------------------------------+-----------------------+---------------+
|    1 | mchedgey0   | tmonkeman0@phoca.cz          | https://robohash.org/dictaautmollitia.png?size=50x50&set=set1        | Bangladesh            | 1650159167000 |
|    2 | spigram1    | sgulleford1@live.com         | https://robohash.org/utillosaepe.png?size=50x50&set=set1             | Bangladesh            | 1638834568000 |
|    3 | bgranville2 | hlarroway2@ezinearticles.com | https://robohash.org/nihiloccaecatidoloribus.png?size=50x50&set=set1 | Palestinian Territory | 1620444328000 |
|    4 | dblezard3   | emcallaster3@shinystat.com   | https://robohash.org/quiquiasunt.png?size=50x50&set=set1             | Germany               | 1598947981000 |
|    5 | ehebbs4     | lmaxworthy4@jalbum.net       | https://robohash.org/rerumesteum.png?size=50x50&set=set1             | United States         | 1619682314000 |
+------+-------------+------------------------------+----------------------------------------------------------------------+-----------------------+---------------+
5 rows in set (0.00 sec)

mysql> SELECT country, COUNT(*) AS COUNT FROM users GROUP BY country HAVING COUNT > 50 ORDER BY COUNT DESC;
+-------------+-------+
| country     | COUNT |
+-------------+-------+
| China       |   203 |
| Indonesia   |   105 |
| Philippines |    51 |
| Russia      |    51 |
+-------------+-------+
4 rows in set (0.00 sec)

お試し② CSV フォーマット

今度は他のタイプ(気になったもの)を適当に選んでテストデータを作ってみた.

  • ULID
  • Color
  • Latitude
  • Longitude
  • File Name
  • Company Name
  • Credit Card Type
  • Credit Card #

以下の条件で「CSV フォーマット」でダウンロードした.

  • Rows: 1000
  • Format: CSV
  • Include: header
$ head -n 10 MOCK_DATA.csv
id,color,latitude,longitude,company_name,credit_card_type,credit_card_number
01GNHJCSXXATB5CJF9XME7KSF5,Violet,46.6473105,0.813275,Twitterworks,jcb,3529226789542666
01GNHJCSY1E70GJR7PEQ4WN1NA,Puce,-14.658228,49.6452092,Dabshots,jcb,3553539000204067
01GNHJCSY4YNVQ2G6GMHFJ6AP3,Turquoise,43.8051322,43.7759042,Livetube,jcb,3548207679524102
01GNHJCSY7G822Z6717N0MMYSR,Violet,23.0029267,105.2545888,Livetube,laser,67093426547314751
01GNHJCSYAW8P55K0X8B3EWB38,Pink,-9.2623446,-77.6929792,Eazzy,jcb,3544135599033025
01GNHJCSYDJB6BV6088EGGGCP4,Teal,45.72727,112.35563,Pixonyx,jcb,3572010371487902
01GNHJCSYGNSN0A529BHQ1FYYS,Purple,6.9782137,79.9115522,Trudoo,maestro,50203305431642795
01GNHJCSYKDXPGXENM5DDWFASG,Crimson,-7.3863388,108.1888233,Flashspan,jcb,3564637074986317
01GNHJCSYPF117F0YT2SFA0DMS,Red,29.3728871,113.1149933,Skajo,jcb,3528564263246532

そして CSV を Amazon S3 に置いて,Amazon DynamoDB にロードしてみた.

aws.amazon.com

期待通りに Amazon DynamoDB(テーブル/グローバルセカンダリインデックス)からデータを取得できた.便利❗️

$ aws ddb select mockaroo \
--no-consistent-read \
--max-items 5
Count: 1000
Items:
- color: Fuscia
  company_name: Twinte
  credit_card_number: '6706053594972617'
  credit_card_type: laser
  id: 01GNHJCWVBM133QADNWR1YP48K
  latitude: '62.107429'
  longitude: '129.517113'
- color: Green
  company_name: Skimia
  credit_card_number: '3565626637296552'
  credit_card_type: jcb
  id: 01GNHJCSYZYZPRE1AJVWVHDR56
  latitude: '36.3573462'
  longitude: '25.4459308'
- color: Indigo
  company_name: Minyx
  credit_card_number: '3542499593981213'
  credit_card_type: jcb
  id: 01GNHJCWN9RZ3DFFDDCAWBEK4Y
  latitude: '25.200027'
  longitude: '119.482942'
- color: Fuscia
  company_name: Yombu
  credit_card_number: '374283946958998'
  credit_card_type: americanexpress
  id: 01GNHJCV5QKDH1QMNP9SGHQ7MB
  latitude: '44.5241667'
  longitude: '129.5688889'
- color: Aquamarine
  company_name: Devbug
  credit_card_number: '675936707426408066'
  credit_card_type: maestro
  id: 01GNHJCVBQQYTP4YHRM27N1XQH
  latitude: '32.790614'
  longitude: '35.326882'
NextToken: eyJFeGNsdXNpdmVTdGFydEtleSI6IG51bGwsICJib3RvX3RydW5jYXRlX2Ftb3VudCI6IDV9
ScannedCount: 1000

$ aws ddb select mockaroo \
--index-name credit_card_type_gsi \
--key-condition 'credit_card_type = "visa"' \
--no-consistent-read \
--max-items 5
Count: 22
Items:
- color: Yellow
  company_name: Skajo
  credit_card_number: '4017959596578'
  credit_card_type: visa
  id: 01GNHJCWSWARJ3JW85VNKA8N37
  latitude: '39.930136'
  longitude: '119.576091'
- color: Red
  company_name: Fivechat
  credit_card_number: '4041590127551'
  credit_card_type: visa
  id: 01GNHJCTMH0V8CYAFKYS9JSKQ3
  latitude: '-7.0386444'
  longitude: '107.9692467'
- color: Khaki
  company_name: Mymm
  credit_card_number: '4041597904940630'
  credit_card_type: visa
  id: 01GNHJCWTV7NG6EMYG6EDPK57B
  latitude: '29.709214'
  longitude: '107.606105'
- color: Green
  company_name: Kazu
  credit_card_number: '4017952066698478'
  credit_card_type: visa
  id: 01GNHJCTT2SZGY195EN2S52JTG
  latitude: '32.187849'
  longitude: '119.425836'
- color: Pink
  company_name: Leexo
  credit_card_number: '4260700145435501'
  credit_card_type: visa
  id: 01GNHJCX9DSZYM826T0JBAQRY7
  latitude: '-9.5541709'
  longitude: '119.0285355'
NextToken: eyJFeGNsdXNpdmVTdGFydEtleSI6IG51bGwsICJib3RvX3RydW5jYXRlX2Ftb3VudCI6IDV9
ScannedCount: 22

その他

Mockaroo には他にも機能があって,気になった機能を紹介する❗️

blank

フィールドごとにブランク率 (%) を指定できる.意図的に「欠損値のあるテストデータ」を作れたりする.

Formula

Mockaroo Formula Syntax を使うと,データを変換できる.例えば,数値計算をしたり,大文字や小文字に変換したり,Base64 エンコードもできる.また if/elsif/else を使って条件付きで変換もできる.

this + 1
upper(this)
lower(this)
base64(this)

Mockaroo APIs

Mockaroo APIs を使うと,Mockaroo の設定を API で操作できる.操作するためには API Key を取得しておく必要がある.

  • GET /api/types
  • POST /api/datasets/:name
  • DELETE /api/datasets/:name
  • POST /api/generate(.format)

API 仕様に関しては以下に詳しく載っている.

Mockaroo Mock API

Mockaroo Mock API を使うと,Mockaroo にホスティングされたモック API からテストデータを取得できる.フロントエンドを実装するときに必要になるバックエンド API をモック化できたりする❗️手順としては,作った「スキーマ」を登録して,それに対応した Mock API を簡単に作れる.それに対応した Mock API を作る.

以下の例では,users スキーマからサンプルデータを5件取得している.これは便利〜👏

$ curl -s -H 'X-API-Key: xxxxxxxx' https://my.api.mockaroo.com/users.json | jq .
[
  {
    "id": 1,
    "username": "rcranfield0",
    "email": "tdavidovsky0@printfriendly.com",
    "avatar": "https://robohash.org/utetnon.png?size=50x50&set=set1",
    "country": "Somalia",
    "created_at": "1602125107000"
  },
  {
    "id": 2,
    "username": "hjaggs1",
    "email": "amilington1@alibaba.com",
    "avatar": "https://robohash.org/nihiladipiscireiciendis.png?size=50x50&set=set1",
    "country": "Portugal",
    "created_at": "1584420589000"
  },
  {
    "id": 3,
    "username": "cscimoni2",
    "email": "xpilley2@java.com",
    "avatar": "https://robohash.org/errortemporibusdolorum.png?size=50x50&set=set1",
    "country": "Greece",
    "created_at": "1648988379000"
  },
  {
    "id": 4,
    "username": "kelletson3",
    "email": "nzecchii3@mlb.com",
    "avatar": "https://robohash.org/eligendietid.png?size=50x50&set=set1",
    "country": "Russia",
    "created_at": "1638996409000"
  },
  {
    "id": 5,
    "username": "bambage4",
    "email": "jkendal4@cisco.com",
    "avatar": "https://robohash.org/similiqueofficiisquisquam.png?size=50x50&set=set1",
    "country": "Russia",
    "created_at": "1630924325000"
  }
]

まとめ

仕事でインストラクター(技術講師)をしているので,デモやプロトタイプを実装する機会が多くある.そのときにできる限りリアルなテストデータを使いたく,普段は Faker を使って,テストデータを流し込んでいる.Faker 以外に方法を探していたら Mockaroo を発見して,試してみたら良くて記事にまとめておくことにした❗️ Mockaroo は覚えておこう〜

www.mockaroo.com

オンライン研修に悩むあなたへ /「オンライン研修ハンドブック」を読んだ

インストラクターとしてオンライン研修を担当しているなら必読とも言える「オンライン研修ハンドブック」を読んだ感想をまとめる.実は "2021年7月頃" に購入して1度読んでいたけど,書評記事はまだ書いていなかった.今さらながら実体験(インストラクター経験4年半以上/オンラインは2年半ほど)と比較しながらポイントをまとめておこうと思う❗️

本書は本当に素晴らしくて,インストラクターの悩みを解決し,インストラクターとしての習熟度を数段階引き上げてくれる.1度読んだら,今度はインストラクター仲間と意見交換をしながら読み進めるとより効果的だと思う.また本書に依存しすぎる必要はなく,実際のインストラクションの場で最適な解を見つけるべきで,その選択肢を学べる一冊とも言える.

今回の記事を書くにあたって,表記揺れにならないように以降は「本書の用語(以下参照)」にあわせることにする💡

  • オンライン研修(他には "オンライントレーニング" や "オンライン講義" と言ったりもする)
  • 講師(他には "インストラクター" や "先生" と言ったりもする)
  • 参加者(他には "受講者" や "お客様" と言ったりもする)

オンライン研修ハンドブック

オンライン研修ハンドブック

Amazon

目次

目次を見るだけで講師なら必読感が伝わると思う💡

  • 第1章 : 学習効果を高めるオンライン研修とは
    • 1-1 オンライン研修に関するよくある誤解
    • 1-2 応急措置
    • 1-3 効果的なオンライン研修の基本
  • 第2章 : 参加者主体のオンライン研修の基本原則
    • 2-1 大切なのは講師ではなく参加者
    • 2-2 伝えたからと言って、相手が学んだとは限らない
    • 2-3 研修の目的は「結果」を出すこと
    • 2-4 プロセスとして「研修」を設計する
    • 2-5 インストラクショナルデザインの重要性
  • 第3章 : 参加者主体のオンライン研修をデザインする
    • 3-1 学習の法則
    • 3-2 時間配分 ー「90/20/4」の法則
    • 3-3 研修の構成 ー CSR:コンテンツ・参画・リビジット
    • 3-4 研修の構成順序 ー EAT:経験・気づき・理論
    • 3-5 参加者が主体的で安心して学べる学習環境をつくる
    • 3-6 学習スタイル
    • 3-7 記憶のメカニズム
    • 3-8 アクティビティをデザインする ー CORE:クロージング・オープニング・リビジット・エナジャイザー
    • 3-9 研修デザインのステップと作成例
  • 第4章 : 参加者主体のオンライン研修のファシリテーション
    • 4-1 なぜファシリテーションが必要なのか
    • 4-2 オンライン研修でのファシリテーションの特徴
    • 4-3 適切な人数を設定する
    • 4-4 アクティビティの効果的な進め方
    • 4-5 アクティビティのインストラクション
    • 4-6 問いかけ・質疑応答
    • 4-7 プロデューサーの役割
  • 第5章 : 困った場面とその対処法
    • 5-1 困った場面とその対処法

正誤表サイトはなさそうだったけど,読みながら気付いた誤植も列挙しておく.

  • 目次
    • 参加者いる参加者がいる
  • 第1章
    • 内臓内蔵
    • できないでしょ。できないでしょう。

第1章

"第1章" では,オンライン研修とは何なのか?どんな誤解があるのか?参加者主体とはどういう意味なのか?など,基本的だけど重要な基礎知識がまとまっている.オンライン研修が一方通行になってしまったり,参加者のリアクションがなかったり,沈黙が恐くなってしまったりするときにどうするべきかなども載っている.

そして「講師に求められる3つのスキル」もしっかりとまとまっている.講師をしていると当たり前ではあるけど,これから講師を目指そうという人には参考になるはず.

  • 研修デザイン(インストラクションデザイン)
  • デリバリー
  • ファシリテーション

逆に僕は同意できなかったプラクティスもあった.例えば「誤解② : オンライン研修で講師の存在をアピールする必要はあるのか」に関しては,参加者が主役であることは同意だけど,講師自身も研修コンテンツに含まれると思っているため「講師が誰だったのか思い出せない」なんて言われたら残念に感じてしまう.僕は講師という仕事は「美容師に似ている」とよく表現している.美容師さんの腕を信頼して指名することがあるのと同じように,講師自身も学びの立役者であるべきだと思う.

また「講師の自己紹介は後回しにする」というプラクティスも同意できなかった.僕が参加者だったら「この講師はどんな経験を持った人なんだろう!信頼できるのだろうか!」という見極めを最初にしたいと思う.きっとこれは1個前の話と繋がっていて「講師の役割」という観点で本書と僕の感覚が違うんだと思う.こういった「違い」を味わいながら読み進められるのも本書の素晴らしいところだと思う.

他にも "ブレンディッドラーニング" や "同期と非同期の融合" や "ソフトオープニング" などのプラクティスも紹介されている.他の書籍にも関連していて,このあたりは併読しておくと良さそう.

第2章

"第2章" では,参加者主体にするためのプラクティスやアンチパターンが紹介されている.特に「講師都合」という表現があって,非常に刺さった.例えば,以下は必ずしも必要ではないのに講師都合(講師がやりやすいから...など)で参加者に求めてしまっているアンチパターンとして挙げられていた.今後「それって講師都合だよね?」っていうパワーワードを使っていきたい❗️笑

  • カメラを常にオンにしてもらう(本当に必要なの?逆に集中を妨げてしまうのでは?)
  • 研修開始時に全員に自己紹介をしてもらう(本当に必要なの?プレッシャーに感じてしまうのでは?)
  • 発言の順序を指定する(本当に必要なの?なぜそんなことまで指示されないといけないの?)

さらに研修効果の測定として「カークパトリックの4段階評価法」なども詳しくまとまっている.理解していても,特に Level.3 と Level.4 は測りにくかったりすると思う.それでもオンライン研修を「ただやって終わり」にしないという気持ちは常に持っておくべきだと思っていて,普段から強く意識している❗️

  • Level.1「反応 : 研修に対する満足度を測る」
  • Level.2「習得 : 研修で学んだことの習得度を測る」
  • Level.3「行動 : 研修で学んだことの職場での実践度を測る」
  • Level.4「成果 : 研修がビジネスにもたらした成果を測る」

他には「オンライン研修は対面研修よりも事前の研修デザインが求められる」と書かれていて「それな!!!」という気持ちだった.だからこそ,一方通行に予定通り進んでいるオンライン研修を見ていると,あまりデザインが練られていないなーと感じる.

第3章

"第3章" では,どのように研修デザインをするのかがまとまっている.例えば,以下の「学習の法則」は参考になる."くわっ" というのは「学んだことを教えられるレベルになってはじめて本当に習得したと言える」という話のこと.

  • 法則 1 : 学習者は大きな身体をした赤ちゃんである
  • 法則 2 : 人は自分が口にしたことは受け入れやすい
  • 法則 3 : 習得はいかに楽しく学ぶかに比例している
  • 法則 4 : 行動が変わるまで学習したとは言えない
  • 法則 5 : くわっ、くわっ、くわっ

他にも「90/20/4 の法則」「リビジット (revisit)」などのプラクティスも紹介されている.特にオンライン研修中にインプットが多すぎると情報が溢れて吸収できなくなってしまうため,リビジットで参加者自身が理解を整理する時間を取ったりする.本章の後半にはリビジットのポイントなども詳しくまとまっている.

第4章

"第4章" では,ファシリテーションに関するプラクティスがまとまっている.特に「参加者を巻き込む」という観点で3種類の図解があってわかりやすかった.以下には個人的に少し形を変えた図を作ったので載せておく.オンライン研修では「2. 講師と1人の参加者の対話のみ」をよく見る.一見すると巻き込めているように思うけど,さらにそこから「3. 参加者同士の対話」まで昇華できると最高だと思う❗️

ファシリテーションに関しては前に書いた以下の記事も参考になると思う.

kakakakakku.hatenablog.com

さらに「安心できる場を作る」「匿名性のあるツールを使う」「クローズドクエスチョンを活用する」などのプラクティスも載っている.2022年11月に出演したポッドキャスト fukabori.fm (第84回) で話した話にも関連していると思う.あわせて聴いてもらえればと❗️

fukabori.fm

第5章

"第5章" では,よくある課題に対する対処がまとまっている.何かしら困っている課題があるのではないだろうか❗️

  • 研修デザインについて
    • [1]どうしても一方的に話してしまう
    • [2] 反応がないと話しにくい
    • [3] 配付資料は手元にあったほうが良いと思うが、印刷したものを送ることができない
    • [4] アクティビティのネタが思いつかない
    • [5] 「一部の参加者はオンライン、ほかの参加者は対面で……」というリクエストを受けた
  • テクニカル面(講師側)
    • [6] 手探りでやってはいるものの、オンラインプラットフォームを使いこなせる自信がない
    • [7] 使ったことのないプラットフォームでの実施を依頼された
    • [8] インターネットの接続や機器類など、予期せぬトラブルに対応できるか不安がある
    • [9] 自分のカメラ映りが気になる
    • [10] 講師はリモートで、参加者は集合している
  • テクニカル面(参加者側)
    • [11] 参加者の環境が心配
    • [12] 参加者の属性的に用意しているツールが使えるかどうか不安
    • [13] スマートフォンやタブレットからの参加者がいる
  • 参加者への対応
    • [14] 参加者の様子が見えず、伝わっているかわからない
    • [15] 参加者との関係構築がしにくい
    • [16] ディスカッションが活発ではない、対話が進まない
    • [17] 想定外のコメントや挑戦的な質問がくる
    • [18] 寝ている、明らかに研修に集中していない参加者がいる
    • [19] 発言するけれどポイントがずれている
    • [20] 同じ人ばかり発言する
    • [21] 講師を質問攻めにする

まとめ

「オンライン研修ハンドブック」を読んだ感想をまとめた.

本書は本当に素晴らしくて,講師(インストラクター)のバイブル的な一冊❗️おすすめでーす✌

オンライン研修ハンドブック

オンライン研修ハンドブック

Amazon