この記事では、NeWork の開発チームがフルリモート環境でアジャイル開発するにあたり個人的に重要だと感じた部分を紹介します。
目次
はじめに
こんにちは、NeWork 開発チームの加藤です。私は普段、オンラインワークスペースサービス NeWork の開発エンジニアをしています。
NeWork は、手軽に話しかけることを重視したオンラインワークスペースサービスです。従来の Web 会議ツールとは異なり、話したいメンバーとすぐに話すことができるなど、リアルに近いコミュニケーションが可能です。
私たち NeWork チームは、フルリモートでアジャイル開発をしています。コミュニケーションが重視されるアジャイル開発において、フルリモート環境でどのように工夫しているのか、NeWork チームの開発方法を事例の 1 つとして紹介します。
背景
NeWork のチーム構成と動き方
NeWork チームは、大きく以下の 4 つの役割に分かれています。
- プロダクトオーナー (PO)
- 開発メンバー
- デザイン担当
- プロモーション担当
PO と開発メンバーは、その時々の対応するテーマやデバイスに応じて 5 つのチームに分かれて開発しています。各チームは開発メンバー 2 ~ 5 名程度と PO の小規模で構成しており、チームごとに必要なコミュニケーションを取りながら開発を進めています。
開発手法はチームごとに異なりますが、基本的にはスクラムをベースとしたアジャイル開発を実施しています。チームが複数あるため、基本のスクラムイベントのほかにチームを跨いだ全体の振り返りや、チーム間の情報共有のためのミーティングなどを追加しています。
例えば特定チームの PO と開発メンバーのみでリファインメントをしたり、開発メンバーの間での情報共有のための朝会をしたりしています。
各チームメンバーは朝の 9 時から、プロダクト方針やプロモーションに関わる議題を中心としたプロダクト朝会・当日のイベントや打合せスケジュール等の事務連絡中心の全体朝会を行い、その後各チームに分かれてチームごとの朝会やリファインメント、スプリントプランニングを行います。
さらに、開発メンバーはチームごとの朝会(デイリースクラム)や開発メンバー全体の共有相談などを行ってから開発作業に入ります。
コミュニケーションの工夫
リモートワークをする上でよく聞く、雑談のきっかけが生まれない・相手のリアクションがみえないなどの理由による「コミュニケーションが取りづらい」という問題を解決するために、NeWork チームでは以下のように工夫しています。
- オンラインの人を取り残さない各種ツールの利用
- 話しやすいチームの文化づくり
オンラインの人を取り残さない各種ツールの利用
NeWork の開発・打合せは、全てオンラインで完結できるようにツールを導入しています。そのため職場やオフィスにいる人と、リモートで働いている人との間に情報量の差が生まれない構成となっています。
特にアジャイル開発をする上で重要な場面について、どのようなツールを使っているかを紹介します。
各種打合せ
スプリントレビューやリファインメント、スプリントプランニングなど、各種スクラムイベントは、全て私たちの開発しているツール NeWork 上で行っています。会議 URL の共有なども不要でスムーズに打合せが可能です。
打合せの記録には Notion・Google Drive・Confluence などを、プロダクトバックログの管理には Jira を利用して、メンバーであれば誰でもアクセスできるようにしています。
一般的にオンラインの打合せでは、メンバーのリアクションが見えにくく打合せに参加しているのか分かりづらいという問題があります。NeWork チームでは以下のような工夫でこの問題を軽減しています。
例えばリファインメントでは、Product Backlog Item (PBI) のタイトルを NeWork 上のルームメッセージとして投稿し、その PBI について各メンバーが「考え中・質問あり・Ready」のルームリアクションをつけるようにしています。これによりオンラインでもメンバーのリアルタイムな考えを把握しやすくしています。
またいくつかの打合せでは、Notion のコメント機能などを利用してリアルタイムに複数のメンバーが意見を表明しやすいようにしています。そのためよくある、「皆さんどう思いますか?」などのメンバーのリアクション確認を会議内で挟むことなく議論を進めることができます。この方法では他メンバーもコメントに返信できるため、ちょっとした質問などは相互に回答できるので打合せをスムーズに進められています。
アイデア出し・情報共有・レトロスペクティブ
NeWork チームでは上記の他に、Miro も打合せのツールとして利用しています。
Miro をオンライン上のホワイトボードとして、主に付箋を使って視覚的な情報共有や、アイデア出しを行っています。レトロスペクティブなどフレームワークを利用する場合や、図形・フローの認識合わせなどにも利用しています。
Miro の各ボードは URL を持っているので、そのまま関連する PBI に張り付けたり、Slack で共有したりしています。またレトロスペクティブの際に重要な事項などは前説として毎回説明しています。これらは自分たちでテンプレートとして作成し使い回しています。
このようにオンラインホワイトボードならではの強みを活かして利用しています。
開発作業
開発については、GitHub を使ってコード管理・レビューをしています。開発中にペアプログラミングを実施する際には、Visual Studio Code の Live Share を使いリアルタイムでコードを共有しています。
開発中の動作確認時や不具合の発生時などには、NeWork 上で複数人の映像をお互いに表示しあうことで、環境ごとの違いを確認したり、よりスムーズに相手の状況を把握しながら開発しています。
話しやすいチームの文化づくり
フルリモートでのアジャイル開発において円滑なコミュニケーションは重要です。NeWork チームでは、話しかけやすいチームの文化を作るために以下のような取り組みを行っています。
オープンな打合せ
NeWork チーム内の打合せは、誰でも参加したり、聞いたりしてよいという文化になっています。この文化形成は NeWork の仕様によるものもありますが、リモートでのコミュニケーションを取りやすくするために重要だと考えています。
一般的な打合せツールの場合は、打合せに途中から入るにはいくつか物理的・心理的なハードルがあります。
例えば物理的には打合せ URL の共有の手間があります。また、心理的には打ち合わせ途中に参加することですでに打ち合わせをしていた人たちの話の流れを切ってしまわないかという不安などによるハードルがあります。
NeWork の場合は聞き耳機能があるため、自分が打合せに主体的に参加するのではなく、聞いているだけであることを表明できます。これによって、興味のある話を聞きにいくハードルを下げています。
この結果、自分の興味のある内容について情報を得たり、他のチームの活動を知ることができます。聞き耳中の打合せ内容に自身の知見があれば、ルームメッセージでコメントを送ることや聞き耳から打合せに参加変更することで、自分の意見を発信できます。
このように誰でも参加できるオープンな会議環境を作ることで、心理的安全性を確保できるので周囲の人を巻き込みやすい環境が作られていますと考えられます。
話しかけやすく・呼び出しやすい環境
朝一にチームメンバーが NeWork 上で打合せに参加するため、30 人以上いるチームメンバーのほぼ全員が常に NeWork を開いています。そのためオンラインツールでよくある、ツール上に人が居らず気軽に話しかけることができないという問題はほとんど発生しません。
また、通話を歓迎する「ウェルカム」や集中していることを示す「ゾーン」の会話ステータスを設定したり、ひとことを表示する機能に退席中や作業中などの状況を表示したりできます。打合せやペアでの開発作業も NeWork 上で行うことが多く、その人が何をしているか分からないということもありません。NeWork 以外での打合せがあっても、 NeWork 上から Outlook の予定や Teams 会議中かどうかを確認でき、相手の状況を把握できます。
これらの文化や機能が、話しかけやすい環境を作るベースになっていると思います。
例えばとある日の NeWork オンラインメンバー数の分かる画像を以下に示します。開発メンバーが検証用に複数アカウントを使っていたりするため、実際のメンバー数よりも多く表示されていますが、大体 40 アカウントほどがオンラインであることが分かります。
開発中にデザインの疑問が生じたり、PO に確認したいことがある場合、事前にテキストコミュニケーションで今相談できるか確認することもありますが、基本的には呼び出してみることが多いです。
NeWork チーム全体として、気軽なコミュニケーションを重視していることもあり、呼び出しに対して好意的な反応を返してくれるメンバーが多いです。
またメンバーによっては常に 1 人でも NeWork のルームに参加していることで、他のメンバーが話しかけやすい環境を作っています。他メンバーはルームに参加して話すことができるため、リモートでも気軽にコミュニケーションできます。
NeWork 上では、メンバーが打合せ中なのか・他の打合せを聞いているだけなのか・忙しいのかなどの情報がリアルタイムにわかるため、相手の状況を考慮しつつ相談できます。また緊急度が高い場合は、作業中や打合せ中であっても、その打合せに参加してメッセージを送ることで、すぐに相談するようにしています。
常に会話できることで雑談
NeWork の開発チームでは、雑談によるコミュニケーションを重要視しています。
リモートワークでよく使われる Teams や Zoom などは、打合せごとに URL が変わるので、打合せ終わりや会議室までに移動時間の雑談がなくなるという話をよく聞きます。それに対して、NeWork チームでは Slack と NeWork を使って雑談を促進しています。
NeWork 上での打合せは、同じルームにて連続で予定していることがあります。例えばプロダクトの朝会とチーム全体の朝会は同じルームで続けて実施しています。このようなときは、それぞれの打合せが早く終わったタイミングや、次の打合せまでの合間の時間を使って、他のメンバーと雑談できます。
また NeWork 上にはひとことを表示する機能があり、その日の予定・今何をしているのかなどのちょっとしたことを共有できます。打合せの隙間にこれらを話題のタネとして雑談することもあります。
それ以外にも Slack 上に雑談チャンネルを作成しています。その雑談チャンネルは業務に関係ない話題から、業務に関係ある課題など、幅広い内容が気軽に投稿されています。
Slack 上の話題にはスタンプでのリアクションやリプライも自由に行えるため、気軽にコミュニケーションを取っています。
このような雑談から、他のメンバーのことを知ることができ、前述の話しかけやすい環境を作ることにも繋がっています。また打合せをするほどではない内容なども円滑に共有できるため、幅の広いコミュニケーションを取ることができています。
データでみるコミュニケーション量
実際に NeWork チームがオンライン(NeWork 上)でどの程度コミュニケーションを取れているのかを数値化した結果を以下に示します。NeWork のワークスペースにて、2人以上が同じルームに参加している時間・回数をそれぞれコミュニケーション時間・回数として集計しています。
- チーム内の 1 週間のコミュニケーション時間(ある月の平均):187.5 時間
- チーム内の 1 週間のコミュニケーション回数(ある月の平均):368.7 回
- チーム内の 1 回あたりのコミュニケーション時間(ある月の平均):0.5 時間
NeWork 以外のチームとの比較はできませんが、リモートでも頻度の高いコミュニケーションを取ることができていると感じています。
まとめ
NeWork チームでは複数のオンラインツールを使うことや、オープンな打合せ・雑談によるコミュニケーション・呼び出しやすい環境作成などの文化によって、フルリモートでもコミュニケーションを取りやすくしています。
一方で新規メンバーが参加した際には、さまざまなツールを利用しているため事前準備やツールの使い方の説明が多く必要になることもあります。
しかし全体的にみると、リモート環境でも対面で集まるよりもコミュニケーションを取りやすく、またリモート環境ならではのメリットを活かして、職場で集まるよりもより便利な環境が作れています。
アジャイル宣言の背後にある原則には、「情報を伝えるもっとも効率的で効果的な方法はフェイス・トゥ・フェイスで話をすることです。」という記述がありますが、NeWork チームでは、オンラインでも効率的に進める工夫によって、フェイス・トゥ・フェイスに勝るとも劣らないコミュニケーションを取ることができています。
おわりに
この記事では、NeWork チームがフルリモートの環境にてどのように開発を工夫しているのかについて紹介しました。
NeWork はどなたでも無料でお試しできますので、もし興味を持っていただけたらぜひ触ってみてください。