見出し画像

アセンドのリモート環境整備! 〜 オフィスの様子を配信してみたら、色々捗った話

こんにちは。アセンド株式会社のプロダクトエンジニア、増谷です。

今回は最近弊社が取り組んだリモートワーク環境整備の取り組みをご紹介します。

取り組みの背景

アセンドでは、エンジニアの一人一人が顧客の課題とその解決について考え、単なる機能の開発ではなく、社会に価値を届けるべく動き続ける「プロダクトエンジニア」の考えを大切にし、開発に取り組んでいます。

特にアセンドの文化として、課題の本質を追求するために積極的にビジネスサイドのメンバーと議論したり、具体的なソリューションをプロダクトに表現するためにエンジニア同士で設計を壁打ちしたりと、活発なコミュニケーションをベースに仕事を進めるスタイルが特徴的です。

一方で、多様な働き方(具体的な一つとしてリモートワーク環境)にあってもプロダクトエンジニアとして生産性高く働けることは、組織の今後の拡大を考えると重要な要素であろうと位置付けています。

そこで、オフィスの様子をリアルタイムで配信し続ける仕組みを整えることで会話や相談のしやすさをつくりだし、そこから産まれるプロダクトの幅を担保することを試みました。

機材選定

環境を整えよう!と決めてから即日機材を選定し、Amazonで発注を行いました。

マイク・スピーカー

今回の環境の品質を上げるキモとなるアイテムです。
互いにオフィスにいるような感覚で会話しやすい状況を作り出すため、
マイク機能としては遠くからでもオフィスから声が届くよう集音範囲が広いこと、スピーカー機能としては、会話先の相手の声がオフィスに届くよう大きな音量で出力できることを、それぞれ条件として選定しました。やや高い買い物とはなったものの、十分にその恩恵を受けることができていると感じています。

モニタ

オフィス側から話し相手の顔を見るために利用します。オフィスのどこからでも話し相手の顔が見えるよう、一定以上の大きさが必要と判断し、32インチのベゼル狭めのモデルを選んでいます。
壁掛けでの運用を想定することから、コード類の差し込みの向きが画面と鉛直方向である点も嬉しいです。

カメラ

オフィスの様子を見通しよく配信するため、広角タイプのカメラを具備したモデルを選定しています。

その他

モニタを壁掛けするためのモニタアームおよび配信用のPC(Mac)については、オフィスに余っていたものを流用したほか、会議室前に机を置くとスペース的に邪魔に感じたため、木製のハイスツールにアルミのPCスタンドを置いてPCを設置しています。

いざ設営!

注文した品が次の日に届き、早速組み立てて即日運用開始です。

アセンドのプロダクトエンジニア、実はDIYも大好き(右は同僚の森部さん)
壁にモニターを取り付ける私
ケーブリングにもこだわりたい。元インフラエンジニアの血が騒ぐ私
無事にセットアップできました

運用を始めて見えてきた課題

さて、もちろん、最初から全てがうまくいくことは想定していません。運用を始めて2日ほどで、以下のような課題があるとわかりました。主に、配信のアプリケーションとして利用しているZoomの仕様によるものです。

課題1: Zoomのノイズキャンセリングが優秀なため、むしろオフィスの空気が音声で伝わりづらい
→こちらについては、Zoom バックグラウンドノイズ除去設定をあえて「低」に設定することで改善しました。結果、当初想定していたスピーカー直近の空間のみならず、より遠くの場所で起きている相談ごとの声も聞こえるようになりました。隣のチームの困りごとが聞こえてきて、さっと自分が入って解決に向かう、なんてこともありますよね。そういうコミュニケーションもしやすくなっています。

課題2: 有料ライセンスを保持していても、特定条件で配信が終了してしまう
→「ホスト 1 名、参加者 1 名以上が参加。 ミーティングに 1 名だけ残っている場合。ほかに誰も参加しない場合、ミーティングは 40 分後に終了する」というものです(製品仕様公式リンク)。

こちらについては、同僚のプロダクトエンジニアである森部さんが発見してくださいました(ありがとう!)。

こちらを解決すべく、自動的に再接続するためにちょっとしたHackを施しています。

要は、「Zoomの配信が切れていたら再度Meeting URLを叩いて再入室する」が実現できれば良いわけですが、MacOSからZoomのプロセスを見るだけではMeetingに入室しているか判断することは難しいように思えました。

そこで、OSより上のレイヤでアプリケーションの実行状態を判断するため、Apple Scriptを用いました。こちらを用いて、以下のような処理を実現しました。

  • Macが現在実行中のウィンドウ名をリストで取得する

  • 実行中のウィンドウ名から、ミーティング入室中かどうかを判断

  • 入室していない場合は、以下を実行する

    • Meeting URL を叩いて入室する

    • 5秒待つ

    • キーボードショートカットを送って画面をオンにする(*)

このスクリプトを cron によって配信PCから定期実行(**)するかたちとしました。

注釈
(*): Zoomの仕様上、URLを直接叩いてMeetingに入室した場合、アプリ側がどのような設定になっていても自動的に画面がオンにならないようです

(**): Zoomの規約上、サービスに過度な負荷をかけることは禁じられておりますので、定期実行の間隔は緩めにとっています。
参考:Zoom規約

生まれる会話と捗る業務、そして思わぬ恩恵も

実際に運用を始めてみて、メンバーからはポジティブなフィードバックを多数受け取っています。実際、リモート先のメンバーからオフィスにいるメンバーに話しかけて会話を始めるなど、狙い通りのコミュニケーションが発生していることが確認できています。

同僚のプロダクトエンジニアからはこんな声が。

そして思いがけず、出張中のメンバーからもポジティブな声をいただきました。狙っていた効果以外にも副産物的な恩恵が得られたようです。

寂しがり屋のセールスメンバーからはこんな声が。

オフィス中継に限らず、今後も、プロダクトエンジニアが環境を問わず、プロダクトを開発しやすい仕組みを作っていけたらと考えています。

最後に。アセンドではハイブリッドワーク環境も整えつつ、一緒にプロダクトの価値を追求する仲間を探しています!気になった方は以下エントランスブックをご覧ください。カジュアル面談からお気軽に!


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