みなさん、はじめまして。サイバーエージェントの映像配信プラットフォーム、
FRESH!で開発ディレクターをしている上野(@chihi_u)と申します。

fresh_cover

FRESH!は2016年1月にサービス提供を開始しました。
2017年3月現在、チャンネル数は約2,500あり、24時間ライブ配信をしています。

FRESH!には立ち上げから参加していますが、ディレクターとしてサービス開発に関わることになったのは、FRESH!が初めてでした。
(それまではプロデューサーとして、また違った目線でサービス開発に携わっていました。その目線の違いの話は長くなるので、別の機会にお話できればと思います。)

この記事では、初めて開発ディレクターとしてチームに携わり、新米ディレクターとして試行錯誤しながら感じた、
「こういうコミュニケーションを取ると、うまくいくことが多いかも」
をまとめたいと思います。

 


FRESH!の開発体制

前提として、今のFRESH!の開発体制を簡単にご紹介します。

FRESH!の開発チームは約25名で、サーバーエンジニア、フロントエンジニア、iOSエンジニア、Androidエンジニア、デザイナーがそれぞれ複数名います。
立ち上げ時は約15名だったので、1年間で10名ほど増えました。

各分野にリーダーがいて、そのリーダー陣が開発のボードチームとして開発の進め方や優先度のコンセンサスをとります。

コミュニケーションツールとしてはslackを利用しており、開発分掌に応じてチャンネルを細かくわけています。基本は、その開発に関わるエンジニアやディレクターがチャンネルにジョインしますが、それ以外のメンバーも興味があればジョインしてもらっています。

またFRESH!では、ENERGYという制度を使ってリモート作業をしているメンバーや、精神とテクの部屋と呼ばれる集中ルームで開発しているメンバーも多いため、開発フロアに全メンバーがいないことは多々あります。
チャットはFRESH!での開発の生命線と言っても過言ではありません。

なのでこれからお話することも、チャットでのコミュニケーションにおいて意識していることが多めになります。

①オープンコミュニケーション

上述したように、FRESH!の開発メンバーはそもそも人数が多かったり、リモートなどでその場にいないメンバーも多いので、全体への情報共有が難しいです。
とはいえ、全体でMTGをすれば良いというものでもなく、
必要な人が必要な情報を必要な時に手に入れられることが大事だと思っています。

特に意識するようになったきっかけは、メンバーの中で名古屋に住みながら
開発をすることになったメンバーがいたことでした。
物理的に遠いので、例えば何かを決めた経緯などその場で口頭で話したことは
どうしてもキャッチアップしづらくなってしまいます。
そういったやりとりの経緯もチャンネル上に残すようにしました。

もちろん、口頭で話した方が早いこともあるので、
そういう場合は話したあとに簡単に経緯も含めてまとめ、
適切なチャンネルに残すようにしています。

リアルタイムで伝えるべき人にはその時点でメンションをつけますが、
開発で一段落したときに目に入れてもらう程度で大丈夫なメンバーもいますし、
「あれ、ここってどうしてこうなったんだっけ?」と時差が発生した場合にも有効です。

基本的に、人事的な物事以外はどの開発メンバーが見ても問題ないことだと思っているので、ダイレクトメッセージは使わないようにしています。

時々、他の人には直接関係がない相談などで、気を使ってDMで連絡をくれる方がいますが、やりとりをクローズにしてそこで決めて良いことはほとんどないので、どこかオープンなチャンネルに誘導することにしています。

本音を言うと、ディレクターは情報が集約しがちなポジションなので、抱え込みたくないというのもあります(笑)。
オープンな場所でコミュニケーションを取っていれば、私より先に誰かが解決策をあげてくれたり、私の対応内容よりも良いアイデアをくれたりして、とても助かっています。

 

②日本語って難しい

これもチャットでのコミュニケーションが多いゆえになのですが、
言葉の使い方、てにをはの違い、言葉足らずで認識間違いを生むというのを、
とても感じてきました。

面と向かって話していれば表情やニュアンスでわかることも、
チャットだとちゃんと打ち込まないと伝わらないことがあります。
ちょっとしたやりとりの後の、「ありがとうございます!」も、話の流れによっては

「ありがとうございます!(私の方で確認しますね)」

なのか、

「ありがとうございます!(引き続き、対応お願いします!)」

なのかでどっちのボールか再度確認しないともやっとするときがあります。
このコミュニケーションロスがもったいないので、

  1.  この文章が自分に送られたとして、どう受け取るか想像する
  2.  相手が短時間で答えやすい質問の仕方をする
    (例えば「はい」「いいえ」で答えられるようにする、質問が複数ある場合は番号をふる、など)
  3.  意図を確認されたり、相手が答えるまでにいくつか質問されたりした場合は、
    自分の最初の日本語がまずかったなと反省し、次に活かす

というのを普段から意識しています。
これで伝わるだろうって打ち込むのをサボったときはたいてい失敗して3)の流れになります。

 

③「見てますよ」感を出す

直接私(ディレクター)を巻き込まなくて解決できそうなことがあったとしても、
リアクション(slackでいうと絵文字をつけるなど)をすることで、
「見てますよ」感をだすようにしています。

何か問題が発生しているときに、直接会話に参加しなくても認識している感をだすことで、一度たちどまって整理が必要になったときに巻き込みやすくなるんじゃないかなと思っているからです。

ディレクターとして、いつでも巻き込んで欲しいし、そういう話しかけやすい雰囲気を作ることは大事だと思います

また、私が気づく前に解決していたら感謝の気持ちを込めて手を合わせている絵文字をつけたりもします。

「見てますよ」感が必要なときは、直接私にメンションが来ていない場合が多いので見落としてしまうこともあるのですが、気づいたらできるだけリアクションをするようにして、サービスに起きているあれこれを把握していることを伝えるようにしています。

 

④レスポンス速度

これは、③でお話した「見てますよ」感を出す、というのにもつながっているのですが、ディレクターとして「話しかけづらそうにしない」というのを意識しています。(最近MTGが詰まり気味でできていなくて反省しています…)

開発メンバーが何かを相談したいとき、その場で解決できるかできないかがそのまま開発スピードにつながると思います。

そして、我々ディレクターに対して質問したいときというのは、今まさしくその場所を実装していることが多く、早く解決したいことが多いと思うのです。

なので、チャットで話しかけられたら、自分が他の作業をしていてもなるべくその場でレスポンスするようにしています。

もちろんMTG中など、どうしても答えられないときがあります。「はい」や「いいえ」でぱっと答えられるものなら良いですが、こちらもちゃんと時間をとって冷静に考えないといけないことであればなおさらです。

そのときは、気づいたタイミングで「今MTG続きなので終わってから確認させてください!」と返答します。(反応が遅いことを、FRESH!チームでは「霊圧がない」と揶揄されます)

できるだけ、「聞かれたら即レスポンスするディレクター」を目指しています。

 

⑤できる方法を考える

最後は、これまでお話してきたチャットでのコミュニケーションに限らないことですが、開発を進める上で、想定外のことが起きることは必ずあります。

そのときに、「どうして」できないのか、「どうして」間に合わないか、などネガティブなことに時間を使わないように意識しています。自分を責める事も含め、誰かを責める行為もネガティブなことに含まれます。カッとしない、と言い換えることもできるかもしれません。

できない理由が解決のヒントになることが多いので(そこの捉え方を変えるとうまくいくことが多いので)もちろんヒアリングはします。

今「できなさそう」なのであれば、それができるパターンや間に合う方法を考えることを第一に行います。サイバーエージェントのディレクターは、経営層とも話し合って、事業的に最適な選択をすることも大事な役割の1つです。

最初に想定していた仕様やスケジュールで開発がうまくいかなかいことは、まさしくディレクターの責任なのですが、そのときに選択肢を提示しさらに「今できるこれがベストだ」という自分の意見も合わせて出せるかどうかが求められていると考えています。

 


最後に

メンバーや、開発しているサービスの特徴、事業の状況によってコミュニケーションの方法や開発手法は変わります。私たちディレクターはその選択肢を持ち、適切なときに適切な手段を選択できることが大事だと思います。

今日ご紹介した5つのことも、今の開発チームと仕事をして意識し、実践するようになったことです。「こうであるべき」という考え方よりも、「こういうやり方があって、今はこれが向いていそう」と柔軟に取り入れ対応できるディレクターを目指していきたいです。