【つなぎびと#6】NTT東日本×マイクロソフトの実例で学ぶ、開発内製化を推進する考え方とポイント

  • つなぎびと
  • 対談

優れた事業やプロダクトを開発し、システム開発を継続的かつ素早く改善できる組織をつくる「システム開発の内製化」に注目が集まっている。デジタルやIoTがビジネスに直結するアセットとなり、デジタル人材の採用に注力する企業も多い。そこで、開発内製化を進める際には、どのような点に気をつければよいのか。開発内製化を事業として展開している、NTT東日本、日本マイクロソフトの2社対談で、「開発内製化の実態」を語ってもらった。

すべてのフローを社内で行うことが開発内製化ではない

最初に登壇したNTT東日本の下條裕之氏は、まず自社における開発内製化の定義を述べた。

プログラミングも含め、ツールやアプリの開発行程をすべて社内で行うことが、開発内製化ではない、と私たちは考えています」(下條氏)

その上で、自身が所属するデジタルデザイン部とDXラボについて、次のように紹介した。

デジタルデザイン部は、AI、IoT、SaaSなどのソフトウェアの内製開発を行っているデジタル技術集団で、2019年に設立されました。その中にあってDXラボは、いわゆるバーチャル組織であり、DX人材の育成、オフショア開発、マイバトラーという業務効率化ツールの開発などを手がけています」(下條氏)

下條氏のチームは、コロナ禍におけるニューノーマルな働き方を支援する、業務効率化ツールを開発している。それが、マイバトラー(https://journal.ntt.co.jp/article/13665)だ。スライドで紹介しているように、各種開発業務を支援するなど、その名のとおり、ユーザーの執事のようにAIによる電話対応など、各種業務の効率化に貢献する。


実践的なトレーニングプログラムも含め内製化を支援

続いて、日本マイクロソフトの金本泰裕氏が登壇。まずは、マイクロソフトのミッションの変遷と、サービスの特徴について紹介した。

「『すべてのデスクと家庭にコンピュータを』。これは1975年当時、創業者であるビル・ゲイツとポール・アレンが掲げたミッションです。そして、ご存じの通り、このミッションはすでに達成されています。現在のミッションは、地球上のすべての個人とすべての組織がより多くのことを達成できるようにする。つまりDXの推進と言い換えることができます」(金本氏)

実際、エンドユーザーにはWindowsのようなOSを開発している企業とのイメージが強いマイクロソフトだが、企業のDXを推進する事業がメインであり、その根幹にあるアセットがMicrosoft Azureであることは、ビジネスパーソンであれば多くが知っているところ。このAzureをベースに、以下の戦略シナリオを企業に提供している。

クラウドへの移行
アプリ変革(クラウドネイティブなアプリ開発、既存アプリのモダナイゼーション)
クラウド導入・活用支援

金本氏はDX推進事業を進めていく上で、日本企業に昔から根付くカルチャーが課題になっていると指摘する。1つは本セッションのテーマ、システムやアプリ開発を外部に業務委託する文化だ。

「以前であれば、ITの積極的なアウトソーシングは戦略上間違っていなかったかもしれません。しかし、世の中の変化にしたがって、ITの持つ役割が変わり、いかに自社内においてITを活用した競争優位性を築くかが重要視されるなか、アウトソーシング文化がボトルネックとなり、日本企業の多くで社内にIT人材が不足するようになりました。欧米企業では社内のIT人材が半数以上の割合で在籍しているのに対し、日本の事業会社は約2割しかいません」(金本氏)

2つ目の課題も、まさに外部に業務委託することで生まれたものと言える。DevOpsや機能改善が容易でなかったり、開発ナレッジが蓄積されないといった課題だ。そして3つ目は、マイクロソフトの現在のミッションに直結する、クラウドを活用するルールやガバナンスが最適化されていないことだ。

このような課題を日本企業は多く抱えているため、結果として、DXがなかなか進まないと金本氏。そこで本セッションのテーマ、開発内製化を支援することで、DX推進を進めていく。

具体的な支援プログラムは上記のとおり、いくつかある。金本氏は特に「Cloud Native Dojo」について詳しく説明した。

「Azureなどのクラウドネイティブなサービスをただ提供するだけではなく、どのように活用し、開発内製化を進めていくのか。クラウドネイティブの開発プロフェッショナルであるパートナー企業と協働し、アジャイル・スクラム開発の導入など、実践的なかたちで、サービスを提供しています。たとえば、各パートナー企業がトレーナーとしてプログラムを受ける企業に入り、並走しながら、開発内製化のノウハウを身につけてもらうといったことを行っています」(金本氏)


丸投げするのではなく常に“手綱”を握っておく

ここからは2人によるパネルディスカッションとなった。まずは改めて下條氏が、開発内製化に関するポイントを説明した。

「繰り返しになりますが、自社のメンバーがすべての開発を行うことが、開発内製化ではありません。大切なのは、委託した先の開発ベンダーやSIerの開発状況や内容を、担当者がしっかりと把握していること。丸投げしない、開発の手綱を握っているとも言えます。そして手綱を握っているからこそ、何かトラブルがあった際には、すぐに対応できる。この状態が開発内製化である、と言えます」(下條氏)

続いて、金本氏が開発内製化の象徴的な事例としている東京証券取引所の金融システム開発案件を紹介した。

「実現したい目的は明確でしたが、「いかに利用者のニーズに対応したものであるか」がポイントであり、「要件定義が定義ができない」システムであったため、リーンスタートアップ・アジャイル開発で進めました。このプロジェクトのポイントとして、PMの方はいわゆる開発者ではなかったのですが、プロダクトオーナーシップをもったうえで開発のマネジメントを行いつつ、また、実際の開発については外部のSIerの方々に準委任契約にて入って頂き、スクラムを組んで開発を進めていきました。

下條さんが言うように、PMの方がしっかりと手綱を握っていたため、開発パートナーと並走しながら、顧客に使いやすいシステムを、1年半で完成させました。Azureのマネージドサービス、Azure Kubernetes Serviceを採用したことで、システム開発はもちろん、運用負担が軽減したことも大きいですね」(金本氏)

さらに、金本氏はもうひとつ事例を紹介した。家具やインテリア雑貨を手がけるFrancfranc(フランフラン)のデータ戦略支援である。

フランフラン様では、様々な顧客データの活用を進めていたのですが、ID・データのサイロ化やデータサイエンティストの不在等、多くの課題を抱えていました。データ活用はいかに適切な「意思決定」を行い、次のアクション等につなげていくかが重要ですが、これをアウトソーシングしてしまいますとやはり、データの収集・整理・分析等々のそれぞれのフェーズで時間を要してしまうこと、また、社内にそのノウハウが蓄積されなくなってしまう。

そこで、マイクロソフトの同領域の専門チームが参画。顧客の購買特徴の分析に成功すると共に、非エンジニア・データサイエンティストでも継続的に分析・モデル構築ができる体制を構築することができた。


内部でも特定の人に頼っていては失敗する

続いてのテーマは「失敗」。それぞれ、お互いの経験をもとに、ディスカッションが繰り返された。

金本:日本の企業、特に大企業は人事異動がありますよね。もちろんメリットもありますが、今回のテーマに関していえば、せっかくノウハウを持っている人材がいなくなってしまうことがあります。また、できる人に任せておけばいい、との風潮も多く見られます。

下條:10年ほど開発部門にいますが、まさに今、金本さんがおっしゃったことを体験しています。技術に得意な社員が開発したアプリやツールですが、その社員が異動すると、更新や場合によっては公開ができなくなることがあるからです。

一方で、ノウハウがしっかりと蓄積されている企業もある。結局のところポイントは“人”だと思っています。プロジェクトの責任者がエンジニアでなくとも、プロジェクトやシステムに対して強い想いがあれば、特定の人に任せきりにしたり、外部に丸投げするようことはしないからです。同時に、ノウハウとして社内に蓄積していくはずだと考えています。


最初はプロフェッショナルと一緒に。時間をかけて育成する

下條:DXラボでの失敗を紹介したいと思います。結論から言えば、最初はスペシャリストと一緒に開発を進めた方がいいでしょう。というのも、DXラボが立ち上がった当初、開発ノウハウが少ないメンバーでプロジェクトをスタートしたんですね。もちろん開発そのものは、外部のベンダーと共に進めました。

ツールの開発には成功しました。でも、その後の更新や改修が、ノウハウが少ないメンバーでは対応できなかったからです。最初はお金も時間もかかるかもしれませんが、内製開発の経験豊富な方と一緒に並走し、プログラミングなどの技術も含め、一通り開発ノウハウを学ぶ。その上で改めて、外部のベンダーなどと共に協業することが大事だと学びました。このような失敗もあり、現在はDXゼミというプログラムを展開し、人材の育成にも注力しています。

金本:育成に時間をかけるという考えに共感します。経営者の中には私たちが提供しているような、開発内製化研修を受けさえすれば、すぐに内製開発ができると考えている方が少なくないからです。リサーチ&アドバイザリ企業であるガートナーのレポートでも、「一般的に、DevOpsの習得には数年かかる」と書かれています。

内製開発のノウハウは、ゴルフのスイングに似ているのではないか、とも感じています。誤ったフォームでスイングを繰り返すと、時間をかけたわりに誤ったフォームが身につき、成果がなかなか出ないといったことになりかねません。その道のプロフェッショナルと協働することで、ベストプラクティスを知ることで、最短距離でノウハウを身につけることができると思います。


オフショアを積極的に活用する

続いては、オフショアの活用について議論が交わされた。そもそもオフショア開発は、内製開発と言えるのだろうか。

下條:すべてのツールを自社で作ることが、内製開発ではない。この定義に則り、プロジェクト自体の手綱をしっかりと握り、基本設計、詳細設計などを自分たちが行っているのであれば、製造工程をオフショアに出すことは、問題ないと考えています。というより、設計が正しく行われていれば、逆に、製造コストの安いオフショアに製造を委託することは、内製開発が進んでいる姿だと捉えています。

金本:コストや開発のベロシティを考えた際、オフショアを積極的に使うのは素晴らしい取り組みだと思います。一方で、オフショアを活用する文化がない企業にとっては、経営層などに理解してもらうハードルが高いと思います。どのように乗り越えたのでしょうか。

下條:通常の外部委託と同じです。私たちの内製開発の定義を、まずはきちんと伝える。その上で、一部オフショアを活用して、コスト、スピード、品質の点でいかにメリットがあるかを実際に提示しました。

金本:つまり、もしダメだった場合はいつでもピボットできる状態であると。その上で、成果をこまめに見せていくのが重要だということですね。


開発内製化を達成した先に真のDX推進がある

最後に、2人が改めて開発内製化に対するポイントを総括し、セッションを締めた。

下條:自分たちだけで作ったツールを、自分たちで運用・保守するようなフローを続けていると、新しい開発やその先の一歩が踏み出せないと考えています。社員が成長し、ノウハウが溜まり手綱を握れるようになれば、外部に積極的に委託する。その結果、成長スピードが加速すると考えています。

実際、私たちのチームでは徐々にオフショアの割合が増えていき、現在では東南アジアを中心に、多くの案件を作業単価の安いオフショアに切り替えています。そして、自社の社員は、空いた時間で別の案件に取りかかることができている。結果、さらに成長するステップを踏めていると感じています。

金本:昨今、DXという言葉が流行しましたが、DXとは本質的にはテクノロジーやデータを活用し自社の競争優位性を高めることであり、これを突き詰めると開発の内製化に行き着くと思います。そして、これを実践するとなると、先ほど下條さんも触れたように、結局のところは人が重要であり、また、プロダクトオーナーシップが重要です。取り組んでいるビジネスに対して、どのような技術を活用して優れたサービスを実現するのか、また収支バランスを向上させるためにいかに安価につくるか、そのようなことを考えるのは当たり前ですよね。

散々戦略面で緻密なプランニングを行ったにも関わらず、実際にプロダクトを作るといった際に「あとはよろしく」などということは本来あり得ないですよね。プロダクトオーナーがビジネスの成功のために、責任をもってプロダクトの技術面やコスト面等含めてマネジメントすベきです。逆の言い方をすると、このような責任を放棄し、他者や外部企業に丸投げのようなかたちで委託した瞬間に、プロダクトはマーケットでの競争優位性を失うことは明白です。

そうはいっても、闇雲に進めるのは負担も時間もかかります。だからこそ、外部のプロフェッショナルを積極的に活用するです。そこへの投資は惜しまない。このようなマインドでビジネスを進めていくことで、開発内製化の実現はもちろん、真の意味でのDXが推進していくと考えています。


【Q&A】参加者から寄せられた質問を紹介

セッション中には、多くの質問が寄せられた。その回答についても紹介していく。

Q.SIerなど外部業者を内製開発に活用するためのポイントは?

下條:いきなり大きな案件を丸ごと任せるのではなく、小さな案件をお願いして、動きを確認します。ただ優秀であればよい、というわけではありません。自社の社員の研修も兼ねているからです。要件定義の段階から一緒に伴走してくれるようなスクラムを組んで、開発を進められるSIerや開発ベンダと私たちは協業するようにしています。

金本:世の中の変化や顧客ニーズに合わせて自分たち自身も変わっていくマインドや姿勢があるか。言い方を変えると、クラウドネイティブな開発に強いSIerであるかどうか。実際にその企業の事業内容についてホームページで確認したり、実際に対話をしてみるなどして確かて頂くといいと思います。中には自らを「NeoSIer」と定義し、他社との差別化を図っているSIerもあります。

下條:オフショアの場合、特に初めての国の場合は、そのベンダーの開発体制やノウハウをしっかりと下調べした上で、発注するよう意識することも大事です。

Q.外部業者のコストについて聞きたい

下條:15年以上この業界にいますが、正直、今でも悩みます。複数企業から相見積りすることが大事だと思います。自分たちで制作した際の費用を捻出し、費用対効果を確認した上で判断することも大切です。

金本:日頃から優れた開発会社のエンジニアとコミュニケーションすることで、次第にコストの感覚が身についていくと思います。もし、長年続けても難しい場合は、手綱を握るとの内容に関係しますが、信頼のおけるパートナー企業を見つけるしかありません。

もうひとつ、外部業者だけでなく、私たちが提供するAzureの各種サービスのように、外部業者にお願いしゼロベースで制作したら、それこそ膨大なコストがかかるサービスやツールを低コストで利用することができます。このようなPaaSなどの活用も、視野に入れておくとよいでしょう。

Q.相見積もりのコツを知りたい

下條:要求条件を明確にすること。各業者に依頼をする際に、その内容を統一することです。その上で、見積り金額が他社と比べあまりにズレている業者は外しています。

金本:機能要件、非機能要件をしっかり分けること。やりたいこと、つまり要件のプライオリティを明確にして、見積りを依頼するといいと思います。

下條:ひとつ、失敗事例を紹介します。先方がバグは一切あってはいけないシステムだと考え、見積り金額が他社に比べ、かなり高額な場合がありました。バグが出るのはもちろんよろしくありませんが、出てもすぐに対応すればよいシステムなのか。そのあたりも含め、細かく提示することが必要だと思います。

もうひとつは、各社がどこに費用をかけているのかが、見積りを通じて見えてくることです。その会社はバグ取りの工数がかなり嵩んだので、結果、見積り金額が高くなっていました。一方で、それだけ人をかけることができるということ。結局、私たちはそのベンダーに依頼することにしました。

Q.外部業者によるコードレビューは社内でしているか

下條:基本していません。ただ機能テストを行っているので、同テストで問題があった場合には、コードのチェックや修正を行う流れとなっています。

Q.テストのチェックシートは作成するべきか

下條:絶対に必要です。まずは、自分たちで作るべきです。ノウハウが蓄積されているチームであれば、どこでバグやトラブルが出るかのポイントを把握しているからです。その経験を得た上であれば、外部のベンダーに作成してもらうのも、ありだと思います

Q.オフショア開発における意思疎通の難しさは?

下條:正直、難しいと考えていますし、以前に要求とは違った製品が納品されたこともありました。まずは、日本人とは文化が違うことを、理解することが重要です。たとえば日本人の場合は行間を読む、言わなくても何となく理解してくれる文化ですが、海外ではそうではない国も多いからです。必要な要求はしっかりと伝えることが大切でしょう。

Q.オフショア開発もアジャイルで進めるのか

下條:我々はオフショア開発もアジャイルで進めています。難しい面もあるので、最初はウォーターフォールでもよいと思います。ただし契約には注意します。専用のチームを用意し開発に当たってもらう「ラボ型契約」もしくは「準委任契約」とします。

オフショア開発でいきなりアジャイルで進めると、失敗することがほとんど。ただ失敗したから終わりではなく、問題が浮き彫りになったと捉え、そこから改善し、改めて行えばよいと思います。

Q.手綱を握れる人材育成はどうすればよいか

下條:実際の開発工程を、自ら経験させることです。プログラミングやローコード開発などはまさに代表例です。自分が手を動かさないポジションになった際にも、どこが肝なのか、難しいのかといったことを、理解しているからです。

金本:パワポで資料を作るだけでなく、実際にプロダクトづくりに携わることで、多くの学びがあります。コストを下げるにはどうすればよいか。ビジネスとして他社との差別化を図るには、どのような技術を活用すればよいかなど。そうした学びを蓄積していきながら、開発を進めていくことで他社との差別化が形成され、また、それを実現する人材育成につながっていくと思います。

Q.オーナーシップを失わないために気をつけていることは何か

下條:手綱を握ることだけに固執するのではなく、設計をベンダーと一緒に行うなどして、ノウハウが特定の人たちだけに溜まることがないよう、気をつけています。最新の技術などをキャッチアップするよう努めています。

金本:自分たちの作っているプロダクトの価値や競争優位性を、とことん突き詰めて考えることです。そのような作業を繰り返していくうちに、自然とオーナーシップは備わっていくと思っています。

Q.内製開発チームがスケールしていく際のポイントは?

下條:プロジェクトを進めていくと、どうしても反対意見を言う人が一定層います。そこで、その層の方たちを崩すといったアクションを取るのではなく、内製開発を賛成するメンバーを味方として増やすことに注力する。チームがスケールするだろうと、今まさに取り組んでいる最中です。

金本:メンバーそれぞれ、小さな成功体験を積み重ねることだと思います。できる業務が増えた。まわりからの評価が高まった。このような個人の成長や評価の高まりが、結果としてチームはもちろん、会社全体の成長につながると考えています。

記事のタイトルとURLをコピーする