CTOが0から開発チームを作る前にかならず考えておきたい”5W”のコツ

もしあなたが、スタートアップやベンチャー企業、新たな子会社の立ち上げの中で、いわゆるCTOや一人目のエンジニアとして「開発チームを立ち上げてくれ」と言われたら、どうしますか。開発やリーダ・マネージャの経験が豊富なCTOは多くいらっしゃると思いますが、0からの開発チーム立ち上げとなると経験のある方はそう多くはありません。

私自身、開発チームを0から立ち上げた事が2回あります。
1回目は楽天株式会社においてシンガポール支社の立ち上げと同時に現地で開発チームを0から立ち上げました。
2回目は共同創業したスタートアップ、株式会社アペルザにおいて0からのプロダクト開発チーム立ち上げです。
これら2回の開発チーム立ち上げまでに、エンジニアとしての経験、エンジニア組織のリーダ・マネージャ経験はそれなりに積んだ状態でした。振り返ってみると、「もっとああすればよかったな、こうすればもっと早く出来たかな」と思い返す事が多々あります。

また、最近では様々なスタートアップの経営者やCTOの方とお話する機会もあり、「どうやって開発チームを作ればよいか」という事について、過去の経験からアドバイスさせて頂く事もあります。

今回のコラムではこれらの経験や振り返りから考えを整理し、

「CTOとして0から開発チームを作る前に必ず考えておきたい”5W”のコツ」

をご紹介したいと思います。

先述のように開発チームの立ち上げを任されたCTO(そのような立場を任されているエンジニアの方も同様)、もしくはその状況にいるCTO以外の経営者の方にとっても少しでも参考になればと思います。

また、このコラムを読んで頂くと、CTOは経営者であり経営視点を持つべきである理由がおわかりいただけると思います。もちろん会社のフェーズやサービスの内容によって様々な考え方があると思いますが、ご自身の立場に置き替えて読んでいただければと思います。

Howの前にWhyを考え抜く

開発チームを立ち上げる際にもっとも大事なことは何でしょうか。

「エンジニアにとって魅力的な職場環境にしなければ」
「ストックオプションを用意しないと」
「エンジニアの採用ブランディングをしっかりやろう」

など、多くのCTOが考えることだと思います。どれも開発チームの立ち上げ手法として大事なオプションですが、もっと大事なこと、立ち上げ始める前に絶対にした方が良いことがあります。それは、

「なぜ開発チームが必要なのか」

を考えるという事です。

CTOや経営者の方と、エンジニア採用やチームビルディングについて話している際に違和感を感じることがよくあります。それは「どのように採用するか」「どのような条件にするか」という手法の話しが先行し、「なぜ開発チームが必要なのか」という根本的な目的が明確になっていない事です。

IT・インターネットのサービスを提供する会社なのだから、開発チームが存在するのは当たり前だ、と思われると思いますし、もちろんその通りだと思います。だからといって思考停止して「とにかくエンジニアを採用しなければ」と考えて採用を始めるは早計です。「なぜ開発チームが必要なのか」という答えが曖昧だと採用する際・採用した後に様々な局面で苦労します

例えば、ビジネスモデルを検証する為のプロトタイプ開発に、技術スペックだけのマッチングで重厚長大な開発が得意なエンジニアを採用してしまうと過度な品質の作り込みに時間を掛けてしまいがちです。どんどんピボットしていく前提で事業を進めていく中で、特定のサービスやプロダクトに興味を持って入社したエンジニアは変化についてこられないかもしれません。いずれも技術的にはマッチしていても採用後に成果が出しにくいチームとなってしまいます。

このように、「なぜ開発チームが必要なのか」の答えの解像度が高ければ高いほど、採用やチームビルディングの成功確率は上がりますし、企業としての成功確率も上がると思います。では、どのようにその答えを考えていけばよいのでしょうか。

Whyを5Wに分解して整理

開発チーム立ち上げについて、以下のような5W1Hで整理ことをおすすめします。まず事前準備として「なぜ開発チームが必要なのか」のWhyを5Wに分解して整理し、それを元に実際の採用やチームビルディングの計画をHowとして考えていく、という流れです。

  1. What 開発チームの目的は何か
  2. Why なぜ開発チームが必要なのか
  3. Who どのような開発チームが必要なのか
  4. When いつ必要なのか
  5. Where どこに必要なのか
  6. How どのように立ち上げるか

What : 開発チームの目的はなにか

まず初めに、そもそも何のために開発チームを必要としているのか、改めて整理してみましょう。シンプルかつ具体的に挙げてみます。例えば以下の通りです。

  • ビジネスモデルを検証するためにプロダクトを作りたい
  • ある程度やりたいことが見えてきたので、最初のプロダクト(MVP)を作りたい
  • MVPでの反応が良かったので機能強化していきたい
  • ビジネスモデルは証明されているのでとにかく一気にプロダクトを作りたい
  • 外注で作ったものを内製化したい、又は運用・改善を内製化したい

開発チームが必要な目的は、事業の目的と合致、またはブレークダウンして考えることができるはずです。この目的を考えながら、そもそもの事業計画を他の経営陣と確認をしてしっかりと目的の整合性をあわせる事が重要です。

Why :なぜ開発チームが必要なのか?

1の目的のために、本当に開発チームが必要なのでしょうか。例えばプロトタイプを作って事業の検証をするだけなら、いきなりチームを作ってしまうよりもクラウドソーシングやフリーランスを活用することで対応できることもあります。一方、すでにそのフェーズが終わっていたり、そもそも確立されたビジネスを遂行するためにある程度の規模の開発を一気に進めていくのであれば、安定した開発チームが必要でしょう。しかし、その場合でも内製のチームが必要なのか、外部委託したほうがよいのか、検討の余地があります。

例えば、常にユーザの動きを見ながらプロダクトを磨き上げていきたいのであれば、事業に対するパッション、モチベーションを高く持った内製開発チームを持ったほうがよいでしょう。一方で、すでに同じような開発を実現している外部委託先がおりローンチまでのスピードを重視したいのであれば、外注という選択肢も残すべきです。

Who : どのような開発チームが必要なのか

上記の1と2を考えることで、どのような開発チームにすべきか、どのようなエンジニアを採用すべきか、ということがクリアになってきます。それに加えて、CTOとのコンビネーション、プロダクトを実現する技術・アーキテクチャの検討の結果を重ね合わせて、開発チームのイメージを更にクリアにしていきます。例えば以下のようなイメージです。

  • CTOの役割はアーキテクチャと全体俯瞰、その他はマイクロサービス化して1つ1つのサービスを全て担当できるエンジニアが必要
  • まだプロトタイプを素早く作っていくフェーズなので、手が早いエンジニアが1名ほしい
  • 規模が大きくビジネスロジックが複雑なので、上流設計が得意なエンジニアから採用し、開発はボリュームが大きいので全て外注したい
  • グローバルなサービスなので、グローバルなチームで開発したい

「開発チーム」の解像度をしっかりあげておくと、後のエンジニア採用活動やチームビルディング時に、開発を無駄なく最速で進められるはずです。逆に、この時点で解像度がしっかり上がっていないと、「採用できたエンジニアで作れるプロダクト」を作ることになってしまい、本来の事業計画からかけ離れてしまうリスクがあります。

When : いつ必要なのか

What, Why, Whoを整理する中で、実は時間軸の話しも出てくると思います。

「今すぐには不要だけど、3ヶ月後にはこんなエンジニアが何人必要」
「資金調達が◯月なので、その後一気に採用を進めたい」
「事業のKPIがここまで達成したら一気にエンジニア採用を進める」

などです。

特に創業期で資金が潤沢にない場合、環境変化が激しい場合は慎重に考える必要があります。タイミングを間違えると余剰人員となってしまう事もあります
上記のような内部要因だけでなく、外部環境に起因するWhenも採用を進める際に有効な場合があります。例えば、一般的にエンジニアが転職するサイクルはボーナス前後だったり、ある企業のIPOのタイミングやIPO後一定期間が立ってロックアップやストックオプションの行使ができるタイミングなどです。あまり良い話ではありませんが、業績が悪くなった企業からエンジニアが大量に出ていくタイミングというケースもあります。これらは次回のHowの部分でご説明します。

Where : どこに必要なのか

当然、自社オフィスだろうと思っている方にはピンとこないかもしれませんが、実は考えてみる価値のある事です。Howの検討と密接に関わってきますので詳細はそちらでご説明しますが、例えば国内オンショア、国外オフショア、世界中のフリーランスの採用などWhereには様々なオプションがあります。採用のしやすさ、将来のチーム拡張時の柔軟性、既存メンバーとの相性、サービスを提供するロケーションとの関わりなどを考慮して、柔軟に考えることも重要です。

なぜCTOは経営者であるべきか

0から開発チームを立ち上げる際には、以上の5Wを明確に定義します。明確にするのは難しくても考えるプロセスを経る事で「開発チームの作り方」の準備はほぼ出来上がります。考える時間をはそこまで多く取る必要はありません。先述した5Wの内容を少しでも整理することが、つぎのHowを考える際にスムーズになります。
そして、ここまで読んで頂くとお気づきかもしれませんが、この5Wを考える事は、会社や事業の戦略、方向性、事業計画、資金計画などと密接に関わってきます。まさにこれらは経営そのものです。1つ1つのタスクに分解されたものは各担当者が遂行できると思いますが、経営視点から「開発チームをいかに作るか」を考え実行することこそが経営者としてCTOの重要な役割なのです。

次回のコラムではこれらの整理を元に、実際の採用やチームビルディングのコツ”How”の部分についてご紹介したいと思います。

この記事を書いた人
塩谷 将史
株式会社アペルザ元CTO・現アドバイザ / OCTOPASSエバンジェリスト
塩谷 将史
大学卒業後、Full Stack Engineerとして6年間様々なシステム、ネットサービスの開発に従事。 2008年に楽天に入社し、主に楽天の広告プラットフォームやAd Tech・Big Data系システムをプロデュースし、その開発組織のマネジメントも担当。 2012年シンガポール支社立ち上げに参画し、3年間でシンガポール・日本・インドの3拠点で約100名の多国籍・多拠点エンジニア組織を0から立ち上げ。グローバル広告プラットフォームの企画、開発、導入も指揮。 楽天退職後、2016年にアペルザを共同創業、CTOに就任し、製造業に特化したサーチエンジン、マーケットプレイス、クラウドサービスなどを立ち上げる。 2019年アペルザを退任し新たなスタートアップの準備と、CTO養成講座OCTOPASSのメンター/エバンジェリストを務める。