リモートチームでWebサービスを作る7つのコツ!
先日monocrew(モノクル)というWebサービスをリリースしました。
アイデア出しから約4ヶ月ほどでリリースしました。
開発はデザイナーのマツイさんと2人でやりました。マツイさんとは一度も会ったことがなくやり取りは全てオンラインのみで行いました。
リモートチームでのWeb制作でかなり不安はあったのですが、思っていた以上にやりやすく結構うまくできたので、どのようなてんに注意してプロジェクトを進めていったのかのノウハウを共有したいと思います。
Webサービスの開発をしている方にとって、何かしらお役に立てれば嬉しいです!
1. チーム編成は慎重に行おう!
『チームメンバーをどうするか』という問題ですが、私達の場合は、入江開発室というのオンラインサロンで出会いました。
開発メンバーを探しているのであれば、同じような志持った人と出会えるので、このようなオンラインサロンに入るのも手かなと思います。
また、チームの人数についてですが、結論から言うと最初は3人までがベストかなと言う気がしています。
リモートチームの場合、コミュニケーションを取るのがかなり大変なので、人数が多いと意思決定にどうしても時間がかかってしまうのですよね。
なので3人くらいでフランクに話しながら進められる状態にするのが良いと思います。
※入江開発室
MENTAやvoyageを作っている入江さん主催のオンラインサロンです。
2. メンバーのスキルレベルを把握しよう!
チーム編成が決まったら、メンバーのスキルレベルを把握するのが良いです。メンバーが得意分野、不得意分野を可視化し、お互いで補える部分を知っておくことは重要です。
今回のプロジェクトの場合
マツイさん:
デザイン大得意 / HTML・CSSできる。 / プログラミング(PHP・Laravel)学習中
賀川:
デザインできない / HTML・CSSそれなり / 設計 できる / PHP・Laravel ちょっとできる
という感じだったので、デザイン面はマツイさん、プログラミング面は賀川が対応するという風に自然に別れました。
3. 目標・ゴール等はしっかり文言化しよう!
最初にプロジェクトの目標をたてると思うのですが、なんとなくで決めないでしっかり文言化するのがオススメです。
文字にすることでわかりやすいことと、『やること・やらないこと』の線引きをチーム内で共有するためです。
↓のような感じで文言化しました。
文言化したら、1週間に1回くらい見返してずれていないか確認するのも重要です。
4. メンターをつけよう!
さてそろそろ開発だ、となった時に、私とマツイさんだけでは不安な点がありました。それは開発スキルがほぼないことでした。なので、今回は設計のフェーズではヒロさんに、開発のフェーズにはまっきーさんにお願いしました。
メンターをつけることで、開発スピードとチームメンバーのスキルは格段に上がります。ここら辺はケチらずにしっかり教えてもらうことが重要だと思います。
私達は共通の知り合いの方にメンターをお願いしましたが、MENTAなどでメンターを探してお願いするのも良いと思います。
5. ドキュメント化しよう!
設計のフェーズで重要なのはドキュメント化です。私達はGoogle Spread Sheet、Dropbox Paper等様々なツールを利用してドキュメント管理をしていました。
作成したドキュメントの一部を紹介します。
・Dropbox Paper (wiki)
実際に開発をしていく前にwikiにて情報をまとめました。WIKIはDropbox paperを利用しました。
・Google スプレッドシート(各設計書)
機能設計やDB定義、URL設計等はGoogle スプレッドシートにまとめました。
・Cacoo(ER図)
・overflow(画面遷移図)
画面遷移図にはoverflowを利用しました。
とこんな感じで様々なツールを利用しドキュメントにまとめました。
6. コミュニケーションは頻繁にとろう!
リモートで一番大事なのはここかもしれないです。コミュニケーション。特に同じ場所でやりとりしているわけではないので、空気感等を共有できなくなってしまいます。
同じ場所で作業していると、毎日コミュニケーションが取れると思います。(たとえ挨拶だけだとしても)
しかしながらオンラインだけだとどうしても必要最低限のことだけのコミュニケーションになってしまいまいがち。そうするとだんだん投稿が減ってくる可能性も。
私たちはチャットツールにSlackを利用していたのですが、なるべくコミュニケーション不足にならないためにやってこととしては、以下の3つがあります。
1. どんどん雑談する
どんな内容でも良いので、どんどんSlackに書き込むようにしました。ここら辺私はめちゃくちゃ下手なのですが、マツイさんが上手だったので助かりました。
2. 作業内容を書き込む
対応しているissueに対して、作業結果を書き込むだけでなく、作業内容を書き込むようにしました。
こうすることで、プルリクの際にどのような過程で実装してきたのかがわかりやすく、
実装で詰まってしまった時に、どの部分で詰まっているのかを理解しやすくなりました。
また、単純に他の人の作業内容は見ていて勉強になります。
3. スタンプだけでもOK!
ポストした内容について反応がないのも寂しいので、バンバンスタンプ押すようにしてました。本業の合間にやっているプロジェクトなので、コメントする時間は取れないけど、しっかりやっていることを見ているよという意味で。
あとは、issue対応してもらったらめちゃくちゃ感謝するとか、そういったことをやっていました。
7. zoom等でオンライン会話しよう
チャットだけでもやりとりできるっちゃできるんですけど、やはり顔見ながら話した方がコニュニケーションが捗ります。
...と偉そうに言っていますが、実は私はテキストだけのやりとりでも特に問題ないだろうと思ってる派でした。
しかし開発のフェーズで、メンターのまっきーさんから3人でのオンラインミーティングを提案されてやって見たところ、これが思いの外良かった。テキストだと雑なこと言えないみたいな雰囲気あるのですが、会話することで普段はできない軽い会話ができたり、お互いのパーソナルな部分について色々知ることができたりと良いことだらけでした。
まだまだ顔を見ながら話すというのは大事なのだなと痛感しましたね。さすがまっきーさんと思いました。
ということでzoomのオンラインミーティングはオススメです。
--- 👬---
反省点:もっと早くオンラインミーティングをやれば良かった
リモートチームでのやりとりについて、基本的にはうまくできたかなと思っているのですが反省点が1つ。
それは、オンラインミーティングを最初からやっておけば良かった。ということです。これは確実に、テキストだけでもできるだろうと思っていたことによる私のミスなのですが、早くやっておけば良かったと思います。顔を見て話すことはかなり重要です。
なので、プロジェクトキックオフの時にはオンラインミーティングをすることをお勧めします。
チーム開発の感想とメリット
個人開発していると、『このサービスはダメなんじゃないか。。。』といった不安が襲ってくる瞬間があると思います。そして途中で開発をストップしてしまう、と行ったこともあるかと(現に私がそうだった。。)
チーム開発だとそういった不安を話せる相手がいるので、『メンバーのためにも最後までやり遂げよう』とか『もっと良いものにしよう!』のような考えが湧いてきました。基本ネガティブな性格ですが、最後まで楽しくポジティブにできたのはメンバーのおかげかと思いますし、チーム開発の醍醐味だなと感じました。
個人開発で何度も挫折してしまった方、まずは2人のチームで大丈夫ですので、ぜひチームでの開発をお勧めします。
今後の展開について
ということリモートチームでWebサービスを制作するコツを7つと反省点を1つお届けしました。
monocrewについては、とりあえずは1次フェーズ完了という事でたくさんの方に使ってもらえると嬉しいです。今後カイゼンしてより良いものにしていければと思っています。
(無料で利用できるサービスですが、ゆくゆくはマネタイズも考えていかなくてはなと思っているところ。ECサイトを運営している企業さんや、ハンドメイド作家さんなどと組んでも面白いかなと思っています。)
monocrew、ぜひ一度使っていただければと。
何かご要望等ありましたら、noteにコメントやtwitterにDMいただければと思います。
また、マツイさんとはこれからも組んで色々やっていこうと思っています。色々決まってきましたらお伝えいたしますので、そちらもよろしくお願いします。
読んでいただきありがとうございます。