機械学習・ディープラーニングが一から学べる大人気『脱ブラ』が無料に!

フルリモートワークでチーム開発をスムーズに進めるために実施した 2 つのこと

フルリモートワークでチーム開発をスムーズに進めるために実施した2つのこと

こんにちは、株式会社キカガク CTO の祖父江です。

この度キカガク開発チームの技術ブログを開始することになりました。

初回の今回はキカガクの開発チームがフルリモートワークでの開発をスムーズに進めるために試行錯誤をしてきたので、そちらのお話を書いてみます。同じくリモートワークでの開発方法を悩んでいる方へ少しでも参考になれば幸いです。

ドキュメント文化のインストール

キカガク開発チームは社員としては 4 名で構成されています。

  • エンジニア:3 名
  • データアナリスト:1 名

デザイナーさんも外部にいらっしゃるので、その方を含めると 5 名になります。まだまだ小さい開発チームなのですが、それでも情報の非対称性が起きます。リモートワークでは意思伝達が想像している以上に悪く、言った、言っていない、覚えていない、等の人為的なミスが起こりやすいため、開発業務とは関係ないところで足止めをくらってしまうこともあります。特に設立したばかりの開発チームではあるあるだと思うのですが、初期の開発メンバーだけが知っている情報が多々あり、属人化していてドキュメントも充実していなく、口頭で伝言ゲームをされるので把握に時間がかかる。チームに途中からジョインしたメンバーからすると未知な情報ばかりでストレスが溜まってしまう。

はい。完全に私のことです。

スケジュールもキツキツで開発メンバーも少ない状態の中でリリースまで持っていくことが必須なので、過度なドキュメンテーションは必要ないと思います。とはいえ、これはなんとかしないと今後開発組織が大きくなればなるほど、自分がボトルネックになるなと考え、ドキュメンテーションしていこうと決めました。

キカガクにはこれまでドキュメント文化が無かったのか、と言われるとそういうわけではなく、これまで Docbase を社内全体で活用してきました。Docbase は非常に優れたプロダクトで Markdown 形式で書けること、タグ付をすることで検索が容易などポジティブな面は非常に多いですし、今でも使っています。

その一方で、事業部が増えてきたタイミングでデメリットも出てきました。一覧性が高い反面、見る必要がない情報まで視界に入ってしまうため、たどり着きたい情報にたどり着くことが難しくなります。これではドキュメントに書き記したいと考えても、億劫になってしまいます。

そこで弊社では今年に入って Notion の導入を進めてきました。最近ではベンチャー企業を中心に多くの企業で採用されているため、ご存じの方も多いのではないでしょうか。最初のきっかけは代表の吉﨑から始まり、その後、全員で推進してきました。今ではすべての事業部が Notion でタスク管理や議事録管理などをおこなっています。

MEMO
開発チームの Notion はこんな感じ。
タスク管理、Wiki など必要な情報を一元管理していて、とっても便利!

notion-develop

ドキュメント文化のメリットとデメリット

今回ドキュメンテーションを進めて 2 ヶ月程度が経過していますが、結論とっても良かったです。導入してからは頻繁に更新されており、タスク情報の共有や会議の議事録、技術調査の内容共有などの開発チームに関わる様々な情報を一元管理しています。

特に良かったことはこちらの通り。

  • 質問回答工数が減る。
    仕事をしている中で何か疑問が出たとしても、ドキュメント内で自力で完結できるようになります。質問されても、「ここに書いてありますよ」だけで終了させられるので回答する側も URL を貼るだけで完了します。
  • 作業の再現性が生まれる。
    これまで属人化していた作業を分散して対応できるようになります。たしかに最初は教えるコストやドキュメンテーションコストが高く、それなら自分でやったほうがはやいと考えがちですが、一回まとめてしまうと他のメンバーに頼るという選択肢を持てるので、長期的に考えると大きなメリットになります。
  • 非同期的にいろんなことを進められる。
    口頭で話すことを前提とすると、MTG を開く必要があるため、どうしても同期的なコミュニケーションが発生します。テキストベースでそれまでの過程や前提を記述しておくことで様々な意思決定を Notion 上で行えるようになります。これはとても大きな変化です。

もちろんメリットだけではありません。大変なこともあるな〜と感じています。

  • スピードが落ちる。
    ドキュメンテーションはそれなりに労力がかかります。特に満遍なくすべてをドキュメント化しようとすると際限なくできてしまうので、何をドキュメント化して何をドキュメント化しなくてもよいかを明確にした方が良さそうです。ドキュメントを書く時間が取られるので、それなりのコストは要求されます。
  • メンテナンスの工数がかかる。
    一度書いただけのドキュメントが増えてしまうとドキュメントに対する信頼性が失われるので、定期的に更新する必要があります。たまに辛くなるときもありますが、長期的に考えると確実にプラスに働くと考えているので、ここは踏ん張りどころです。

すべてのチームがドキュメンテーションするべきだ!!とは全く思いませんし、チームの方針、状況に応じて意思決定するのが幸せだと思います。その上で上記に書いたようなポジティブな効果をとっても感じているので、ぜひツールを導入してみてはいかがでしょうか。

リモートワークでも毎日顔を合わせることで心理的安全性の確保

リモートワークではメンバーの進捗をリアルタイムに把握することが難しいです。オフィスに出社しているときには隣に座っているので、『困った顔をしているな』とか『手が止まっているな』とか些細な挙動を感じ取ることができるのですが、どうしても見えない状態で進めなければいけません。

そこで 5 月から Daily MTG を導入しました。毎日 10 時 ~ 14 時を常に Google Meet で繋がっている状態にしています。MTG の最初の 15 分程度は前日のタスク進捗、困っていることの共有、今日のタスクの確認を済ませ、常に繋がっている状態で作業します。4 月までも毎日共有はおこなっていたのですが、やはり質問一つするとしても Slack で連絡するのは無駄に時間を使いますし、丁寧な言葉を使わないと、とか開発に関係ないことまで考えなければいけません。そういう必要ないものは無くしていきたいですよね。

困ったら 1 秒で質問できる環境は心理的安全性がとても高いですし、実装に迷ったら VSCode の Live Share 機能を使って即座にペアプログラミングすることも可能です。

また、チーム内の信頼関係構築という面でも一役買っている気がしています。業務に関係ない他愛もない話や趣味の話、笑い話をするからこそ信頼関係を構築できると私は思っています。プロフェッショナルとして業務に関係あることだけをしろ!という意見もあるかもしれませんが、プロフェッショナルとして大切なことはサボらないことではなく、要求を超える結果を出すことです。そのためにはチームとして戦えるための信頼関係の構築、文化の醸成が欠かせないと考えています。リモートワークで希薄化する人間関係をあらためて強くするという意味でも時間を決めて毎日顔を合わせるのはとってもオススメです。

ちなみに時間を区切っているのは、心理的安全性が高いとはいえ、一人で集中して作業する時間も必要だと考えているためです。このあたりはバランスが大事ですね。

さいごに

株式会社キカガクは研修事業の会社と思われているかもしれませんが、現在は toC 向けにもより一層力をいれており、「あるべき教育で人の力を解放する」をミッションに掲げ、動画学習プラットフォーム キカガク でコンテンツを提供しています。

kikagaku.ai

最近では AI、機械学習だけにとらわれず広くデータサイエンスや Web 開発(特にフロントエンド)など幅広い領域での教育を提供しています。

そうしたキカガクの技術組織を知っていただきたいという目的で、技術ブログをスタートしようということになりました。今月からメンバーが持ち回りで週 1 投稿していきますので、よろしくお願いします。

少しでもキカガクの開発チームに興味を持っていただけた方も興味ない方も、ぜひカジュアルにお話させてください。

We are Hiring
参考 副社長&CTO直下!新規サービスの開発を進めるフロントエンドエンジニア募集Wantedly

また来週からは技術に寄った話を書いていきますので、ぜひ楽しみにお待ちください。最後まで読んでいただき、ありがとうございました。