とあるIT屋の独白

ITや経営について主に書きます

システム開発の内製化について考えてみる

昨今、DXが盛んに取り上げられているように、いかにITでビジネスのデジタル化を進めるかといったことが言われています。前にこのブログでも取り上げましたが、ITの利用がビジネスを行う上で重要性が増している以上、ベンダーの利用の仕方や、いかにエンジニアの雇用をどう進めるかということが、成功のためには大事になってくると感じています。

toaruit.hatenablog.com


最近はまた、システム開発の内製化のトピックも盛り上がっていますが、内製化のトピックはけっこう前から言われては立ち消えるといった感はあります。なぜそうなるかと言うと、内製化をやろうとしたものの上手くいかないというケースが多いと思っていて、以下の記事で触れられているような

comemo.nikkei.com

大企業のシステム内製化は、ほとんどうまくいかない気がします。肌感覚としては、100社あって1社うまくいけば御の字ではないでしょうか?

は、あながち的外れでもない気はしています。

ITエンジニアを採用すれば内製化は実現できるかと言われると、そうではない感じはしています。一口にエンジニアと言っても、色々な人がいます。ITエンジニア自体の間口は、現状でも比較的広い気はしますが、内製開発に対応できそうな人材となると、下記の記事にあるような3万人以下というのも、あながち的外れではないかなとは感じます。

atmarkit.itmedia.co.jp


上記の記事でも書いてありますが、内製化を実現するためのエンジニアには、ビジネスへの理解が求められてくると思います。POやPMが大まかなスコープやスケジュールを決めますが、それだけではプロジェクトは動きません。下記の記事で触れられている通り、

thinkit.co.jp

例えば、設計書を作成する工程では、プロジェクト計画書にある体制図やRACIチャートを使って「誰が何をインプットに設計書を作り」「誰が何をインプットにレビューをし」「全部で何段階のレビューを経て完成するのか」や、プログラミングを行う工程では「コーディングルールに書かれている個別ルールが、実際のプログラムでは具体的にどういった実装箇所として現れるのか」など、計画段階や工程の前段階までに準備した情報を具体的にどのように、どのレベルで運用したいのかを技術者と意思統一しておかなければなりません。

のようなプロジェクトをどう進めるかの準備が必要で、これをPOやPMが全て対応するのは困難でしょう。これらをちゃんと進めるようにするには、ビジネスをある程度理解しているエンジニアが、どのような単位で開発の括りを行い、どの順番で開発すれば効率的かなど、実行にあたりブレークダウンできることが重要と考えています。その際にドメイン知識をベースに置かないと、PO・PMやビジネスサイドの人達と意思疎通が行えないし、適切な進め方かの判断も行いにくくはなると感じます。

とはいえ、こういったスキルがどこで得られるかというと中々難しい問題です。その現場に長くいれば、ある程度勘所をつかむことが出来ますが、ドメイン知識がほぼ無い状態ですぐに適応するというのも、けっこう厳しいかなとは感じます。ただ、ドメイン知識の重要性を認識した上で、以下のfreeeでの取り組みのように浸透させていこうという意識は、大事かなとは思います。

developers.freee.co.jp