Mirai Translate TECH BLOG

株式会社みらい翻訳のテックブログ

リモート朝会をちょっと楽しく

こんにちは。プラットフォーム開発部 EMのchika (@chika-mirai) です。

今回は朝会の話をしようと思います。

プラットフォーム開発部の朝会について

プラットフォーム開発部では毎朝15分程度の朝会を行うようにしています。

参加人数は約 30人ちょっと(!)、びっくりするほど多いです。

以前、Wantedlyの記事 で朝会について軽く触れたことがあります。 この頃はまだ全員揃っても約20人でしたが、コロナ禍の約2年間で1.5〜2倍近くの人数規模にまで拡大しました。

部内には5人前後で構成されるチームが複数あり、それぞれのチームでの朝会ももちろん行っていますので、人数が増えるたびにこの会の必要性(「まだ全員でやる?」「そろそろ止めるべき?」)は何度も検討しましたが、

  • 現在、部で開発している主要アプリケーションは基本的に1つであるため、各チームの業務範囲はそこまで独立性が高くない
  • 機能開発を行うチームと横断系チーム(QA、SRE、アーキテクチャチーム)の間の連携は必然的に発生する
  • ホワイトスペースも生まれるため "know who" が必要な場面はどうしてもある

このように他チームやそのメンバーとコラボレーションする機会はあるので、部内でスムーズなコミュニケーションが行える関係性を作れるように、またフルリモートで働く中で少しでも一体感を持てるようにと継続してきました。

とは言うものの、ここ最近は個人的に「継続したいけどこのままで良いのか?」という気持ちが大きくなり、見直しを行いました。

従来の形式と課題

これまで朝会は以下流れで行っていました。

  1. 全員1人ずつ、昨日やったこと、今日やること、困ってることなどを30秒以内で話す
  2. 連絡、相談事項(チーム間の共有事項、勤怠連絡)

この形式では当然ながら人数に比例して時間が膨らむので、30人超えたあたりで朝会の時間枠である15分を使い切ってしまう計算になり、限界はすでに見えていました。

そもそもこれは典型的なデイリースクラムのやり方であり、各スクラムチームでやれば良いことなので、全チームに影響のある共有事項がない限り、他チームの話題は「自分には関係ないので興味がない話題」であり、時間の浪費に終わってしまいます。 これではせっかくの他チームメンバーとの接点を全く活かせません。

変えてみた...が

そこで、以下のような形式に変えてみました。

  • 全員話すのは廃止、タスクの話は各チームの朝会でする
  • 周知・共有事項は全員に意味のあるトピックに絞る
    • リリース内容、障害・トラブル情報、ルール制定、共有ドキュメント説明等

これまで「全員の声を聞く」を半ば前提にしていましたが、これを止めました。代わりに、周知・共有事項の時間を確保したことで、これまでは時間がないために別途時間を確保する必要があった話題でも、朝会の中で触れることが可能になりました。

ただこの形式だと、基本的にファシリテーターである私だけがほとんど話すことになる上に、周知・共有事項がない日は集まった途端に解散するという流れになってしまいます。 一日の始まりとしてウォームアップすべき朝会でむしろ冷えるという、それこそ開催意義を問われてしまいます。

これはマズイ。

そうだ、雑談しようぜ

ミーティングでのウォームアップといえばアイスブレイクです。

アイスブレイクを行うことで、参加者のコミュニケーションを円滑にしたり、相互理解を深めたり、ミーティングへの参加を働きかけるといった効果があることはよく知られています。

schoo.jp

実はこの朝会でのアイスブレイク、今まであまりなかったのです。

朝会を始める前に誰かがおしゃべりでもしていればいいのですが、リモート会議特有でしょうか、Zoomに入って始まるまでシーンとした状態になっていることが多く、その状態から改めて雑談をするのに何となく難しさを感じていました。

結果、挨拶をしていきなり本題に入ることが多かったのです。ちゃんとネタを用意すれば良いのですが、それも毎日できておらず、私のちょっとした悩みでした。

自分の雑談力のなさを痛感しつつも仕方なしと半分開き直っていましたが、今度こそ何とかしないと、真夏でどれだけ暑くて汗をかいていようが、朝会はずっと冬です。

頭を悩ませた結果、1人でやるから難しいのだと気づき、皆に雑談をしてもらえば良いのだと気づきました。

雑談で得られるメリット

雑談を皆に振る、そのアイデア自体は大したことありませんが、意外と得られるメリットが多いです。

フルリモートワーク下でのコミュニケーション課題として以前からこのようなものが挙がっていました。

  • 他チームメンバーの人となりが分からない
  • 自チーム、他チーム問わず、そもそも部内メンバーとカジュアルなコミュニケーションをとる機会・時間をあまり作れていない
  • 数人囲んで別途雑談の時間を取っても一部の人しか発言せず、話すのが難しい人もいる

世間的にも、リモートワーク(テレワーク)により雑談機会が減ってストレスの原因になっていることはよく話題になっており、逆に雑談がメンタルヘルスだけでなく生産性やモチベーションをも高める効果があるとも言われています。

「テレワークで雑談減った」5割 雑談は「生産性・創造性を高める」6割 | 財経新聞

「雑談」は業務の生産性や創造性にプラスとなるか。テレワーク時代に改めて見直される重要性とは | 組織・人材 | 経営プロ

朝会で私の代わりに皆に雑談してもらうことにより、これらの課題の解決とまで行かなくてもかなり緩和できるかも、と期待を込めて検討を進めることにしました。

雑談のルール

上記の課題を解決するという目的もふまえて、簡単にルールを考えました。

  1. 名簿を作って2人ずつ順番に当番を回す
  2. 話す時間は15秒〜1分程度
  3. 仕事や勉強会の話題とは違う、どうでもよい話題

このルールは以下のようなメリットを意図に設けました。

  • 全員話す機会を作れる
  • ハードルを可能な限り下げられる
  • 順番が分かるので雑談が苦手な人も事前に準備しやすい(最悪その場で考えてもなんとかなる)
  • 朝会の時間を使いすぎない程よい時間でできる(コメントなど含め2人で5分程度)
  • 趣味、家族などプライベートな話が出やすく、その人のパーソナリティを知ることができる

こうして、たかが雑談ですが一定のルールを設けることで、話題を作りやすく、かつ聞いてもらいやすいようにしました。

やってみた結果

このルールで参加者全員に順番で雑談してもらった結果、良い変化が見られました。

今まで朝会の中でZoomのチャットに書き込みがされることはほとんどなかったのですが、皆の雑談に対する反応でチャットが賑わって盛り上がるようになりました。

実際に声を出してコメントすることは少ないものの、話している最中から反応の声を上げられるのは、オンラインミーティングの良いところですよね。

話題の補足となるURLをサッとその場でシェアしたり画面共有したりして雑談の小道具に使えるのもオンラインならではです。

そして、「今までこの人のこと何にも知らなかったなぁ」と思うくらい、いろんな話題が出る出る。

以下、実際に出たお話です。

  • 昨日作った料理の話(飯テロ!ってか料理うまっ!!)
  • ラソン、自転車、トライアスロンの話題(アスリート属性意外に多いなぁ)
  • 観葉植物の効能の話(意外と部屋に置いてる人居るんだ)
  • お子さんの話(すみません、独身だろうと思い込んでました... m( )m)

多種多様な話が聞けて本当に面白いです。 時にはもっと聞きたくなってしまい時間を忘れそうになることもあります笑。

みんなからの反応も割とポジティブで、おかげさまで毎朝楽しみになりました。

副次的な効果として、部内各チームでのミーティングでも積極的に冒頭で雑談が行われるようになったという声があり、これは予想外の好影響でした。

そのうちまた課題が出てくるかもしれませんが、しばらくは有意義な朝会ができそうです。

※おまけ:当番の回し方

ここからはおまけで、雑談を回すための仕組み的な話を書きます。(疲れた方はここで読み終えてOKです)

先に書いたルールに沿って、とりあえず名前だけを書いた名簿があれば当番を回すことはできますが、実際にやってみると気になる点も出てきます。

  • どうせならいつ頃回ってくるかを分かるようにした方が話す人には準備ができて親切
  • だからと言ってカレンダーのような当番表を別途作るのは面倒、できれば名簿から自動生成したい
  • どうせなら今日の当番をbotが教えてくれたりしないかな(お遊び要素)

これらを解消するために、Googleスプレッドシート+GASを使って少しだけ便利になる当番ツールを作ろうと思いました。

当番表

課題としてはかなりありふれているので、探せば色々と参考になるものは出てきます。

今回はこちらの例を参考に作成しました。

qiita.com

スプレッドシートに作ったのは以下4つのシートです。

  • 名簿
    • 名前を1行に1名ずつ記載したもの
    • みらい翻訳はニックネーム文化です

名簿

祝日一覧

  • 日程表(営業日カレンダー)
    • A列に全ての日付を記載し、B列に営業日か否かを 0 or 1 で記載
    • 営業日の判定には NETWORKDAYDS() を使用(超便利!)
    • 土日 と 先の祝日一覧シートにある日付を非営業日(0)とするのを単一関数で表現可能

日程表

  • 当番表
    • FILTER 関数で日程表から営業日のみを抜き出して日付、曜日の列にリストする
    • 1日あたり2人なので、当番のNoを2人/1日ずつ振っていく
    • 出席者リストの最後まで当番が回ったら1に戻る

出来上がった当番表

基本的にこの当番表で半自動的に先の予定まで作成されるので、参加者は自分の出番を時々眺めればOKです。 当番の方がお休みされたり、突発的に朝会がスキップされたりしたときの当番の変更、繰り下げなど細かい事象によるメンテナンスは、手動で当番表をサクッと上書きして行います。

通知ボット

当番表があれば基本的に何も困らないのですが、お遊び要素として今日の雑談当番をSlackで通知してくれるボットがあるといいなぁなんて思ってしまったので、GASで作ってみました。

作り方は、Googleスプレッドシートの「拡張機能」から Apps Script 画面を開き、GASを作成。 コードは先に紹介したQiita記事のものを参考に用意したシートに合うようにアレンジしました。

function postTodaysChatter() {
    //参照するスプレッドシート
    var obj = SpreadsheetApp.openById('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
    var sheet = obj.getSheetByName("当番表");
    //最終行と担当者、日付データの取得
    var lastrow = sheet.getLastRow();
    var name_array = sheet.getSheetValues(2, 3, lastrow, 4).filter(String);
    var date_array = sheet.getSheetValues(2, 1, lastrow, 1).filter(String);
    var today = Utilities.formatDate(new Date(), "Asia/Tokyo", "yyyy/M/d");
    //当番表の取得結果を入れるとこ
    var date = new Array();

    for (var i = 0; i < date_array.length; i++) {
        // シートの日付を今日の日付と同様のフォーマットで取得し、date配列に入れていく
        date.push(Utilities.formatDate(new Date(date_array[i][0]), "Asia/Tokyo", "yyyy/M/d"));
        // 今日の日付と一致した日付の行番号を入れる、なければ-1
        var rownum_roster = date.indexOf(today);
        if (rownum_roster >= 0) {
            break;
        }
    }
    // 当番表に日付が載っている(=営業日) 場合のみSlack投稿
    if (rownum_roster != -1) {
        // 取得した行番号を、名前の配列に渡して、該当する人の名前を取得する
        var member1 = name_array[rownum_roster][1];
        var member2 = name_array[rownum_roster][3];
        //表示する内容
        var options =
        {
            "method": "post",
            "contentType": "application/json",
            "payload": JSON.stringify(
                {
                    "text": "今日の一言は " + member1 + " と " + member2 + " から!",
                    link_names: 1
                }
            )
        };
        UrlFetchApp.fetch("https://hooks.slack.com/services/xxxxxxxxxxxxxxxxxxx", options);
    }
}

GASでスケジュール実行してSlackに通知

朝会(10:00)の前に自動実行してSlackに通知して欲しいので、「トリガー」で 毎日AM9-10時に実行されるように設定しました。

GASトリガー設定
トリガーの自動実行設定

これをSlackのincoming webhookに設定。大体毎日9:40くらいには投稿されています。

Slackに通知された本日の雑談当番

本当は当番の人へのメンションがつけられると尚良いのですが、SlackのユーザIDを指定しなければならず、管理するデータが増えてしまうので一旦そこまでは実装していません。

まぁ、元々このボットはあってもなくても差し支えない程度のお遊び要素なので、そこまでは求めないことにしています。

まとめ

今回は朝会に雑談要素を取り入れたらちょっと楽しくなったよ、という話をしました。

リモートワークで雑談不足に悩んでいる方、オンラインミーティングで孤独なファシリテーションにメンタルをやられている方には1つのアイデアとしていかがでしょうか。

長文に最後までお付き合いいただきありがとうございました。

We're hiring!

みらい翻訳では、私たちと一緒に雑談混じりにリモートワークで開発を推進していただけるエンジニアを募集しています! ご興味のある方は、ぜひ下記リンクよりご応募・お問い合わせをお待ちしております。

miraitranslate.com