スタートアップ企業が成功を収めたならば,次の成長に向けたチームと技術のスケールアップが必要になる。このスケールアップは,スタートアップ企業らしい効果性を維持する方法で行なわなくてはならない。急成長するユーザニーズを満足するためには,製品を迅速に提供できる能力も必要となる。そこで直面する課題が,人の採用とその導入教育だ。適切な人を見出して成長させるための技術的判断を行なわなくてはならない。
UnboxdのCTOであるEric Duindam氏がAgile and Software Architecture Symposium 2016 (ASAS)で,チームと技術のスケーリングについて講演を行なった。技術的なスケールアップに関しては,InfoQでも“スケーラブルなMVP(Minimum Viable Product)を構築するには”で取り上げている。その中でDuindam氏は,技術的なスケールアップにおいてMVPの必要な理由に加えて,MVPが多くのユーザを獲得して成功した場合に,短期間でスケールアップするための計画の必要性を説いている。今回の記事ではこのチームのスケールアップを掘り下げて,人の採用と教育について検証する。
組織の文化に収まると同時に,現在用いている技術を知っている人材を見つけ出すのは難しいかも知れない,と言うDuindam氏は,Rubyの知識を持つプログラマをドバイで雇うことができなかった自身の体験を紹介している。米国内では多くの人たちがErlangを知っている。それをサポートする技術的背景が米国にはあるからだ。結論として,使っている技術ではなく組織の文化に応じて人を雇う必要がある,というのが氏の主張だ。
InfoQの記事“チームのスケールアップによる効果的な組織拡大”では,issuuのエンジニアリング担当副社長であるAlexander Grosse氏が,チームのスケールアップに関する自身の見解を披露している。
スケールアップとは単にサイズ的な拡大ではありません — チームのアウトプットを高め,より多くの価値を提供することが目標です。リーダは製品の開発からチームの開発へと重点を移して,成長に伴うアウトプット拡大を実現するために,チームが経験し,成長する方法を探る必要があります。
企業が急成長している時に適切な人材を採用することは,Grosse氏が説明するように難しい部分がある。
人材雇用はすべての基礎です。その失敗パターンは,過大な人材の拙速な採用です。忘れられがちなのは雇用のプロセスです。自らの採用プロセスを定義するために使用できるプロセスはたくさんあります。必要なのは新人研修への投資です。企業が何を行なっているかを説明し,新たな採用者を同僚に馴染ませなくてはなりません。
InfoQは講演を終えたErik Duindam氏に会って,チームをスケールアップしようとする企業が直面する主な問題点とその対処策,国によるスケールアップアプローチの違いなどについて話をした後,成長段階を控えたスタートアップ企業に対する氏からのアドバイスを聞いた。
InfoQ: 企業がチームをスケールアップする上で直面する課題には,主にどのようなものがあるのでしょう?
Erik Duindam: 市場の需要と要求の状況を考えれば,雇用のプロセスが最も大きな課題であることは明らかです。最高の人材を得るためには,最良の機会を提供する必要があります。私は今でもオランダに住んでいますが,仕事を続ける上で,ひとつのプログラミング言語と技術スタックに定着したいと望む開発者が多いことに気が付きました。従って企業が採用する対象も,同じスタックでの開発を希望する人に限られてきます。このような行為は,チームのスケールアップの維持や,優秀な人材の雇用を難しいものにします。優秀な技術者は,大きな計画とビジョンを持った開発を希望します。同じようなタイプの人たちによる,ひとつの単純なテクノロジスタックではありません。ですから優れた人材を確保するためには,大規模な計画と,可能ならば野心的な技術選択を提示する必要があるのです。
もうひとつの大きな問題は,多数の新規雇用者の扱いです。チームが数人から数十人に一気に膨れ上がれば,知識を持った開発者の大部分は新しい人たちの支援に忙殺されることになるでしょう。私がこれまでに何度も目にしたマネージャの過ちは,単に開発者数を増やしたいがために,初級ないし中級の開発者を数多く雇用することです。これは開発速度やアジリティを台無しにする,とんでもないやり方です。チームのスケールアップは,新たな角度と新たなスキル,あるいは新たなビジョンを持ってチームに貢献できるような人材の雇用によらなくてはなりません。初級者の実務学校であってはならないのです。私ならばチームを小さく,成功した状態で保つと思います。
InfoQ: こういった課題に対して,企業はどう取り組めばよいのですか?
Duindam: チームが6人を越えたら,私はまずマイクロサービスを考えるようにしています。いくつかのチームがそれぞれのマイクロサービスを,それぞれのプロジェクトで担当することができます。各チームのユースケースに対して適切であれば,プログラム言語やデータベースが違っていても問題ありません。さまざまなタイプのプログラマたちが同じ企業で,同じ目的のために作業すれば,きっと素晴らしい結果が得られるでしょう。技術部門として野心的であることによって,技術に熱意を持つ人々にとって極めてエキサイティングな仕事場所になるのです。
InfoQ: チームをスケールアップするためのアプローチは,国によって違うのでしょうか?
Duindam: オランダでは前に述べたように,特定の技術スタックに固執する傾向があります。米国で見られるようなプログラミング文化はほとんど存在しません。ここニューヨークでは,世界が完全に違います。米国ではコンピュータ科学の教育がずっと進んでいます。皆がすべての種類のハッカソンに参加し,すべての種類のプログラム言語を使用します。ひとつの技術文化が形成されているのです。結果として皆が広範な言語やツールに興味を持ち,全員参加でミーティングし,ビデオを見て,一緒に酒を飲むといった,プログラミングに関連するすべてが継続的に実施されるようになります。それは人々が誇りを持てる生き方です。単なる仕事ではありません。もしここに私がPHPとMySQLのプラットフォームを用意したならば,ごく一部のどうしようもない開発者を除けば,私と仕事をしようとする人を採用することはできないでしょう。応募してくるのは個人的な開発を非常に重視し,市場を強く意識した人たちです。この部分はオランダにおいて,まだまだケタ違いに改善する余地のある分野であり,オランダにとってはチャンスだと思うのです。会社内に優れたプログラミング文化を構築できれば,きっと素晴らしいチームを立ち上げることができるでしょう。
私がドバイで働いていた頃の状況は,これとはまったく違っていました。高度な技術を持った開発者の絶対数が極めて少ないので,非常に単純な技術スタックで妥協するか,海外から人を雇用する以外に選択肢はありませんでした。野心的な技術スタックについて私の言ったことは,どれもここでは関連性を持ちません。ドバイでの雇用活動で最大の懸念点は,採用した人たちがまともなコードを自分で書く能力があることの検証でした。技術チームを編成する上で,最適な場所でないことは確かです。
InfoQ: スタートアップ企業が成長に準備する上で,何かアドバイスすることはありますか?
Duindam: あなたが開発者ならば,今後の採用プロセスを考える上で常識を用いるとともに,技術を拡張する方法を確認しておくことが必要です。共通するものを選択してください。スケーラビリティについて書籍を読み,ツールを活用して,何がボトルネックかを確認しましょう。
開発者でないのならば,実施されている技術的選択を可能な限り理解するように努めてください。技術に精通していると思う人を信頼するだけではいけません。特に,金銭的な関心からあなたを信用させようとする人たちを信頼することは,絶対にしてはいけないことです。インターネットを使ってMVP技術の概念を理解すると同時に,一部の開発者たちとは前もって話しておいてください。ハイテク会社を起業するのであれば,その技術面を理解していた方がよいでしょう。
この記事を評価
- 編集者評
- 編集長アクション