GitHubやSlackをエンジニア以外のチームに導入してみた
GitHubやSlackと言えば、特にWebやスマホ系の開発を行うエンジニアにとってはごく当たり前のツールだが、これを非エンジニアに適用しているケースはまだ多くないだろう。IT DART Advent Calendarの14日目となる今回は、このようなGitHubやSlackなどのエンジニアにお馴染みのツールを非エンジニアも多い組織で運用した経験談を書いてみたい。
背景
IT DART(情報支援レスキュー隊)は発災時のITを活用した情報収集+発信+共有を行う団体であるが、そこで活動する運営スタッフや会員、隊員が全員ITのプロであるわけではない。運営スタッフだけでも、開発者や研究者もいれば、プロジェクトマネージャー(PM)や医療が本業である人間もいる。このような異なるスキルや経験を持つ組織において、コミュニケーションを円滑に進めるのは、どのような組織でも大変だと思うが、我々はできるだけITを駆使してこの課題に取り組むことにした。
必要なツールの洗い出し
昨今、コミュニケーションツールはさまざまなものが使われるようになっている。メールやチャットなどが主流であるが、Facebookグループなどが使われることも多い。IT DARTでも当初はFacebookメッセンジャーやFacebookグループを用いて主にコミュニケーションしていた。しかし、現在ではFacebookは補佐的に使われるに過ぎなくなっている。我々がFacebookの利用を断念したのは以下の理由による。
- Facebookグループでは会話の流れが速いことも多く、そのときグループを見ていなかったスタッフが後からそれを見つけ、その議論に参加することが難しい。
- 同じ理由で、過去の議論を見つけ出すのが難しい。これはFacebookグループの検索がコメントを対象としていないなど、まだ必要な機能が備わっていないことにも原因がある。
- Facebookメッセンジャーによるチャットもリアルタイムに参加できていなかった場合、スレッドを遡って議論を把握し、後からその会話に入ることが難しい。
これらはいずれも、Facebookグループもメッセンジャーもストック型とフロー型のどちらのコミュニケーションとしても(我々の私見であるが)力不足であるためだ。
そこで、IT DARTでは、これらのツールの利用継続の是非を決める前に、どのようなツールが組織に必要なのかを洗い出した。
まず、情報をストックするツール。メールのような形態でメールボックスに流れてくることにより、個人には確実にストックされることが望ましく、さらには組織としてのアーカイブを見やすい形で保存されることが望まれる。また、一般的な資料保管用の共有フォルダも必要となる。
次に、リアルタイムを中心とした会話ができるツール。フロー型のコミュニケーション向け。いわゆるチャットとして実現されるが、アーカイブされた会話にもすぐに遡り確認することができる。また、複数の話題の混在を避けるために、複数のチャンネルを持てることが必要とされる。
また、このストック型とフロー型のコミュニケーションツールとは別に、タスクの進捗管理ツールも必要とされる。このツールは上記ストック型およびフロー型のコミュニケーションツールと連携され、新しいタスクが登録されたり、進捗状況に変化があった場合に、通知されることが必要とされる。
これ以外にも、遠隔地のスタッフ間でビデオ会議を行うツールも必要となる。
選定されたツール
以上の要件を満たすものとして、以下のツールが選択された。
- GoogleグループとGoogleドライブ
これはメールおよび掲示板として利用されるストック型コミュニケーションツールとして用いている(Googleグループは設定により、メーリングリストとしても掲示板としても利用できる)。フロー型のコミュニケーションツールで行われた会話も少なくとも結論については、Googleグループにて共有するようにしている。
Googleドライブは各種資料の共有保管場所として用いている。Microsoft OfficeファイルやPDFなども保存されているが、多くの新規資料はGoogleドライブ上で作成される(GoogleドキュメントやGoogleスプレッドシート、Googleスライド)。これは共同編集が多いためである。アクセス権はGoogleグループを用いて設定されている。 - Slack
これはチャットの形で利用されるフロー型コミュニケーションツールとして用いている。Slackは複数チャンネルを持てるので、イベント(発災時など)ごとに適宜チャンネルを作成し、関係するスタッフを招待している。Slackは検索機能も優れているため、そのままでも比較的最近の会話ならば容易に辿れる。また、会話1つ1つにユニークなURLが付与されるので、他ツールにおいて、会話の特定部分を伝える際にもそのURLを共有することで対応している。 - GitHub
タスクの進捗管理ツールとしては、GitHub Issueを用いている。スプレッドシートを用いたWBSも併用はしていたが、頻繁に進捗状況が変わったり、新しいタスクを迅速に登録したりする要求に答えるために、GitHubを用いることとした。Trelloなどのツールを使うことも考えたが、すでにサイト制作部分でGitHubを用いていたこともあり、それをそのまま組織全体の利用に拡張した。Slackやメールとの連携を行っている。 - Googleハングアウト
ビデオ会議ツールとしては、ハングアウトを用いている。Googleグループを用いて、Googleカレンダー上でスケジュールすると、自動的にそのグループに含まれるメンバーが招待される。ハングアウトの参加者の上限数は10名だが、Google Apps for Workを利用した場合は15名が上限となるので、参加者が多い場合には、スタッフの誰かの企業アカウントで招待することで15名までの開催は可能となっている。
利用における工夫
GoogleグループとGoogleドライブ
GoogleグループやGoogleドライブは、所詮メールや共有フォルダなので、一般的な設定をするだけで十分使えている。一般的な設定とは、Googleグループの場合は、メールとして送信されるタイトルの接頭辞にグループ名を含めるようにしたり、グループメールアドレスを先頭数文字でどのグループかわかるようにしたりなどである(例としては、代表理事用のグループの場合は”repboarditdart@itdart.org”として、運営委員のグループの場合は”committeeitdart@itdart.org”としている。これが”itdartrepboard@”だったり、”itdartcommittee@”だった場合には先頭数文字が同じため、識別が難しいことがある)。
Googleドライブの場合はあらかじめ必要とされるサブフォルダをすべて用意し、識別IDとして割り振った2桁の数字をフォルダ名の先頭に含めるようにしたことなどがあげられる。
Slack
Slackについてはチャットに慣れていないスタッフもいたこともあり、正直なところ、今も試行錯誤中である。チャンネルの目的(Purpose)やトピック(Topic)をしっかり書くようにし、必要な情報は固定ピン(Pin)としている。ただ、正直これらがどれほど慣れていない人に有効かはわからない。
Slackは#randomチャンネルが既定で作成されており、すべてのユーザーが招待されているのだが、このチャンネルの通知も既定でオンになっているため、活発に#randomを使っていると、後から参加したユーザーやあまりアクセスしていないユーザーは#randomによる通知で通知が溢れてしまうことになる。このため、IT DARTのSlackでは#randomを削除し、代わりに同じ目的を持つ#noiseというチャンネルを作成した。こちらは任意参加で、通知設定も各自に任せるようになっている。ただし、この方法は慎重に進めないと、話しやすい雰囲気を壊してしまう可能性も高い(実際、IT DARTでは一時スタッフ間のコミュニケーションが悪化してしまった)。
また一方、Slackのさまざまな機能を試すためのチャンネルとして、#exerciseを用意した。
Slackには現在、以下のツールを連携している。
- WordPress: サイトの制作にはWordPressを用いているので、コンテンツが追加/更新された場合には#webcontentsチャンネルに流れるようにしてある。
- #infraチャンネルには、同じくWordPressへのログインなどがあった場合にその旨通知されるようにしている。
- #generalチャンネルにはGoogleグループに流れたメールが共有されるように設定されている。これにはIFTTTを用いている。これは主に、メールはもうあまり読まず、Slackを中心に情報共有を図っているスタッフ向けである。
- #twitterチャンネルでは、IT DARTのTwitterアカウントから行われたツイートの内容を、#feedsチャンネルでは災害に関係するアカウントからツイートした内容を共有している。
- #generalチャンネルはGitHubと連携し、Issueが登録されたり更新されると通知されるように設定している。
スクリーンショットにあるOutgoing WebHooksとしての連携は特定のチャンネルにアップロードされた写真をGoogleドライブのフォルダに自動バックアップ取る仕組みを実装した際に用いたものである。
また、発災時においては、「クロノロ」と言い、時系列に誰が何をしたかを記録することが重要である。現在、IT DARTではSlackのフリープランを使っているため、長期のアーカイブを用いることが出来ない(直近の1万投稿のみが検索可能)。そのため、Slack のログを自動で Google Spreadsheet に保存する – 詩と創作・思索のひろば を用いることを検討中である。
なお、少し話が脱線するが、Slackにおいて写真をアップロードした場合、Exif情報が削除される。撮影場所も削除されてしまうのは、プライバシー保護の観点から通常は好ましいことであるが、災害時の記録という観点からは望ましくない。Googleハングアウトのテキストチャットであれば削除されず、撮影場所も記録されたままとなるので、用途により使い分けることを考えている。
GitHub
GitHubについては、LabelやMilestoneをすべて日本語にした。ベタなアイデアではあったが、これでITに不慣れな人であってもかなり取っ付きが良くなったようだった。
Googleハングアウト
Googleハングアウトは高性能なビデオ会議を無料で利用できる、大変便利なツールである半面、慣れない人は操作に戸惑うこともある。そこで、IT DARTでは新規会員などに対しては入会時にオリエンテーションの一環としてレクチャーを行うことを検討している。
慣れたユーザーであっても、AndroidやiPhoneから入る際に苦労したり(特に、Google Apps for Workで設定されたハングアウトだとURLをタップしただけでは、アプリから入れないこともあるようだ)、ビデオや音声が機能せずに意図せずROMになってしまうこともある。後者はGoogle Chromeの更新がされていないときに起きるらしいことまでわかったが、このようなTipsも共有していくことを進めようと考えている。
なお、ハングアウトは、使っている人はすでにご存知だと思うが、同一場所からは1台以上入らないほうが良い。正確に言うと、同一場所から入っても良いが、マイクとスピーカーはどれか1台のみを有効にするようにしないと、ハウリングを起こしてしまう。IT DARTの場合は1つの会議室と複数の単独参加者というのが典型的なハングアウト会議の開催パターンだが、このような場合、会議室には1台のマシンをハングアウトマシンとして、カメラとマイク、そしてスピーカーを有効にするということが行われる。しかし、ビデオ会議用のマイクがあれば良いがそうでなく、マシンに内蔵されているマイクを用いる場合、その性能や指向性の問題で、マシンから離れた参加者の声を拾えないことがある。
このような場合、スマホもしくはタブレットでハングアウトに参加し、会議室のテーブルに平置きすると良い。専用のマイクに比べれば品質は落ちるが、単一指向性が強いマシンの内蔵マイクよりは会議室全体の音声を拾えるようになる。
まとめ
以上、現在IT DARTで用いているツールと設定、各種工夫を紹介した。文中でも書いたとおり、まだまだ試行錯誤中であるが、IT DARTというくらいであるので、新しいツールも含め、ITでのコミュニケーションやコラボレーションを率先して実践し、そのノウハウを他団体などに共有していくことも我々の使命だと思っている。また、機会があれば、その後の展開を共有したい。
Happy Life Hacking!!