ホーム > mixiニュース > IT・インターネット > IT総合 > “不確実性”を技術で解決してこそ「エンジニア」――リクルートが挑む内製化への道

“不確実性”を技術で解決してこそ「エンジニア」――リクルートが挑む内製化への道

0

2019年02月21日 09:12  ITmediaエンタープライズ

  • チェックする
  • つぶやく
  • 日記を書く

ITmediaエンタープライズ

写真リクルートテクノロジーズ 執行役員 ITエンジニアリング本部 宮川典久さん
リクルートテクノロジーズ 執行役員 ITエンジニアリング本部 宮川典久さん

 日本の事業会社の多くは、内部に開発部門を持っていない。大規模な開発はSIerなどのパートナー企業に任せ、IT部門のミッションはシステムやインフラの運用――あなたの会社もそんな体制ではないだろうか。



【その他の画像】



 しかし、クラウド化が進み、ビジネスの動きに柔軟に対応できるシステムが求められるようになった今、ビジネスの現場と、より連携できる形で開発を進められる「自社開発(内製)」に舵を切る企業が増えてきている。



 人材派遣からメディア、各種Webサービスまで幅広い事業を展開する「リクルート」も例外ではない。同社は、2012年の分社化で、全社横断でITソリューションを提供する機能会社「リクルートテクノロジーズ」を設立し、そこから徐々に内製化が広がった。最初の取り組みは、中途採用で積極的にエンジニアを集めることだったという。



 「当時新卒については、リクルートホールディングス全体で一斉に採用して、そこから配属される形だったのですが、中途採用に関しては独自性を持てるようになりました。それ以降、われわれの中でも『エンジニアリング力』を付けていこうという風潮になりました。とはいえ、当時はまだ、社員エンジニアがプロダクト開発をやることはありませんでしたね」(リクルートテクノロジーズ 執行役員 宮川典久さん)



 社員エンジニアは当時、全社で利用するアプリ開発フレームワークの開発などを行っていたが、宮川さんによると2013年ごろから本格的にプロダクトの自社開発が始まったという。そのきっかけは「スマートフォンアプリ」だった。



●「SIerにノウハウがない」から自社開発へ



 Webアプリについては、SIerに開発を依頼してきた同社だったが、新しく生まれたスマートフォンアプリについてはSIerにもノウハウがなく、エンジニアも枯渇していた。開発については手探りな部分も多く、エンジニアを社内で育てるアプローチも行った。



 「当時はエンジニアも不足しており、ノウハウもどこにもない状態でした。内製化を始める理由としては、自然だったのではないかと思います。その後、サービスの利用者も、Webからスマートフォンアプリへと急激にシフトしていきました。それに合わせて、アプリ開発者の採用も強化していきました」(宮川さん)



 現在はプロダクトの内製開発を行うエンジニアは約100人。独自採用が始まったころ、リクルートテクノロジーズの社員数は150人程度だったが、今では約750人にまで増えたそうだ。



 宮川さんがプロダクト開発を統括する立場になったのは、2016年のこと。内製化が本格化して1年、同社は早くもその方向性を大きく変えるポイントに来ていた。



●スマホアプリのコモディティ化で「スクラム開発」へとシフト



 「社員エンジニアにしかできないから始めた」スマートフォンアプリの内製化だったが、急速に開発者も増え、コモディティ化していった。そこで新たな取り組みとして始めたのが「スクラム開発」へのチャレンジだったという。



 「スクラムを取り入れた目的は『エンハンス』にあります。ちょうどそのころから、リクルート全体としても大規模な開発だけでなく、日々の細かな改善にも注力するようになりました。そこで、社員エンジニアが活躍するフィールドを徐々に広げていきました」(宮川さん)



 それまで、リクルートは各サービスが年次で大型の開発プロジェクトを進めるケースがほとんどだった。それと同様に、基幹システムも4〜5年の保守切れに合わせて作り変える。ウオーターフォール型の大規模プロジェクトが年間に何本も走っているという状態だったのだ。



 少人数のチームで素早く開発を行い、ユーザーからのフィードバックを取り込み、PDCAを回しながらサービスを改善していく。全社でスクラムの研修を受け、さまざまなサービスで試行錯誤を繰り返したという。



 その結果、求人サイト「タウンワーク」や学生向けの授業動画サービス「受験サプリ(現:スタディサプリ)」、POSレジアプリの「Airレジ」などをはじめとして、スクラム開発が威力を発揮したプロダクトも多々あったものの、一方でうまくいかないケースがあることも分かってきた。



 「リクルートのプロダクトの多くはメディア型で、広告による収益を得ています。そうなると、広告に関する部分については、エンジニア中心でUIやUXを気軽に変更できません。営業を巻き込むとなると、『スクラムで小さく素早くやろう』という話が適用できなくなってくるんです」(宮川さん)



●内製が向く案件と、向かない案件をどう判断するか?



 また、開発の規模もプロダクトによって大小さまざまだ。納期が決まっている大規模な開発など、スクラムには向かない案件も多いことが改めて見えてきた。



 どういうケースは内製で進め、どういうケースはパートナー企業にお願いするのか。この判断基準があいまいになっていることが、スクラムが広がり切らなかった理由ではないか――。そこで宮川さんたちは、内製と外注の連携を模索したという。



 リクルートでは各プロダクトを、リリース間もない「導入期」、サービスをスケールさせる「成長期」、規模が十分大きくなり、安定した「成熟期」という3つのフェーズに分けている。内製開発は、このうち成長期のプロダクトに絞ることに決めた。このフェーズであれば全体の開発規模も大規模にはなりにくく、社員エンジニアでコントロールすることでメリットが出せると考えたのだ。



 「成長期のプロダクトの中でもスクラム開発的なアプローチが向く開発と、ウオーターフォール的なアプローチが向く開発があります。社員エンジニアがそれぞれの特性を理解しながら部分的に外注にもお願いするということを通して、連携を模索しています。これを経験すると、エンジニアとして視野が広がるので、育成にも向いています」(宮川さん)



 最近は成長フェーズのプロダクトでの開発でエンジニアを育て、最終的には、成熟期のプロダクトが抱えるビジネスインパクトの大きなプロジェクトや、経営的に重要なプロジェクトで大きな成果を出す流れを作ろうと試行錯誤しているところだという。



●「社員エンジニア」が生み出す価値は、どこにあるのか



 紆余曲折を経て、内製と外注を使い分けるスタイルに落ち着いたリクルートテクノロジーズ。「現時点で100%内製化を目指しているわけではない」と宮川さんは話すが、部分的な内製化や、社員エンジニアの育成を進める先には、一体何があるのだろうか。



 「ビジネスに対して、エンジニアが直接的に何かしらかの貢献をする状態を作ることが最も重要なことだと考えています。例えば『タウンワーク』関連の開発で、社員がソースコードを書いたらビジネス的なインパクトがあるか、というとそんなことはない。『生産性が10倍になりますか』といったらなるわけないんですよ。大切なのは、タウンワークの中で何が技術的な課題になり、それをどういう手段で解決できるのかを考えられること。そういう人を育てたいんです」(宮川さん)



 課題を見つけて解決できるエンジニアが開発をリードする。この構造こそが、社員のエンジニアが一番価値を発揮できる構造だと宮川さんは言う。



 「各プロダクトにおいて、何が課題になっていて、どういう人にどう対応してもらうのかという部分まで考えられるような、リーダーを育成しようとしています。そういう人がプロジェクトに入らない限り、エンジニアの世界だけで解決できるような課題は解決できても、ビジネス的な価値と課題をひも付けるところまではたどり着けないと思います。何とかそこまで持っていくために、試行錯誤しているところです」(宮川さん)



 例えば「UIやUXの改善スピードを上げたい」という課題があったしよう。これに対する答えは無数にある。その部分だけ切り出してスクラムで開発するのか、大規模になりそうだから、パートナー企業にやってもらうのか。あるいは、技術的な負債がたまって生産性が落ちている箇所があれば、その課題を解決できるエンジニアを入れる、といったジャッジも求められるのだ。



●エンジニアが解決すべき課題は「不確実性」



 宮川さんは、内製化の本質的な価値は「不確実性」、つまり将来的に発生する可能性があるリスクへの対処にあると考えているという。同社では今、内製のエンジニアが解決すべきテーマは「ビジネスの不確実性」「技術的な不確実性」の2つにあると定義している。



 例えば、「ある画面にチャット機能を入れたい」という要望がビジネスサイドから上がってきたとする。簡易的なテストを行い、ビジネス上の効果を検証することは、「ビジネスの不確実性」の解消につながるだろう。



 ただ、この際に「どの程度作り込むのか」「それにはエンジニアのリソースがどれだけ必要か」と見極め、実現までの絵を描いてビジネスサイドに提案できる。それができるのはエンジニアリング、つまり技術が分かっている人間だ。



 「不確実性の解消に内製化を使う、という目的で組織を育てようとしています。ビジネスと技術。両者の視点は大きく異なるので、それを一人で見つけるのは難しい。いろいろな人が集まって議論する中で見つけられればいいと考えています。それこそが、エンジニアが提供できるビジネス的な価値ではないかと。問題の大きさはさまざまですが、不確実性を解消していくところに社員が活躍できるような構造を作っていきたいですね。



 内製化と言うと、手を動かせる、コードが書ける、といった発想になりがちですが、それはベースとしてはあるものの、課題があれば何とかしようと自発的に思えるような、そして、課題を見つけるだけではなくて優先順位を付けて解決できる。そこまでができるレベルの人がいて初めて可能になると考えています。ビジネスサイドからの要件を単にのむだけではなく、適切な手段で開発を進めるというジャッジができることこそが、その本質でしょう」(宮川さん)



●内製化はあくまで手段、まずは解決したい課題を定義せよ



 リクルートテクノロジーズの取り組みから分かるのは、内製化はゴールではないということだ。宮川さんは「内製化はあくまで手段。まずは、どんな課題を解決したいのかを精査すべきでしょう」と指摘する。リクルートの場合は、以下の3つの課題を解決するために内製化を進めている。



・エンハンスに求めるスピードが上がっている



・規模の拡大による、技術的な負債の蓄積を解消したい



・今後の新しいビジネス価値に、エンジニアならではの観点を見いだしたい



 「『何となく内製化したら良くなりそうだから』という形で内製化すると、本当に得たいことが何も得られなくなる可能性が高い。手段ありきにしないところが重要です。組織体制的な観点で言えば、周りがきちんと理解することが大切でしょう。『内製化すれば効率や生産性が上がるんでしょ。社員2、3人いれば全部作れるんだよね』と期待されるようなパターンは危ないですね。そんな単純なものではないから、というところからスタートしないと。その相互理解さえあれば、うまく進められると思います」(宮川さん)



 「エンジニアがビジネス的な価値を発揮すること」がゴールであって、内製化は手段でしかない。課題を解決するための試行錯誤の結果が、内製化やスクラム開発、エンジニアの育成であり、組織作りへとつながっていくのだ。エンジニアの価値を突き詰める同社の挑戦は、これからも続いていく。


    あなたにおすすめ

    ニュース設定