2020年12月28日に経済産業省からDXレポートの中間とりまとめとして「DXレポート2」が公表されました。その中では、素早く変革し続ける能力を身に付け、企業文化(固定観念)を変革することが”DXの要”であり、DX推進に向けた中長期的対応として”迅速に変わり続ける能力”の獲得が求められています。
つまり企業にとっての競争領域となるITシステムには、経営の迅速さに追従していくことが求められ、SIベンダにシステム開発を依頼する受託開発から、自社でシステム開発を行う”内製化”へ転換を図る企業が増えると考えられます。
内製化の難しさ
内製化を進めている企業では、システム開発において大きなトラブルもなく開発が進捗しているのでしょうか?もちろん問題なく進んでいる開発もありますが、中にはリリース直前に問題が発生し、迅速なシステムリリースに至らず、システムリリースはしたがサービス開始後に問題が発生し悩まされる場面が少なくありません。
では、一体どのような問題が多いのでしょうか?
我々に相談が来る内製化のシステム開発では、「非機能」に関する問題が多いです。非機能とは、性能やセキュリティといった機能面以外の全ての機能を指します。例えば、機能面が要求通りに実装されているシステムでも、性能が悪くて、1つの画面遷移処理に30分かかってしまうと、使い物にならないシステムとなってしまいます。
企業が内製化を進めた場合、自分たちが必要とする機能に関しては良く分かっています。なぜなら自分たちが使いたいモノそのものだからです。一方、非機能に関しては、企業からすると設計等はあまり経験がない領域です。結果として、非機能周りの設計(ミドルウェアのパラメータ設計等)はデフォルトのままで開発が進むことが多いです。簡易なシステムや性能要求が高くないシステムであれば、そのままリリースされても問題はないのですが、リクエスト数が多いシステムだった場合、システム開発終盤の性能試験でレスポンス悪化やタイムアウトエラー多発等の問題が発生してしまうとリリース延期ということもあり得ます。リリース前に問題が発覚すればまだよくて、性能試験のノウハウがないために正しい負荷がシステムにかけられておらず、性能試験は滞りなく終わったが、リリース後の実運用で問題発生し、エンドユーザに影響を与えてしまうというケースもあります。
つまり内製化では、自社の業務に精通しており機能面の有識者は確保できるが、非機能面に関するスキルをもった有識者を確保しづらいことが課題であると考えています。
内製化すべき領域がポイント
では内製化において、非機能に関する問題を未然に防ぐためにはどうすればよいのでしょうか?そのためには内製化で対応すべき領域を適切に見極めることが重要です。自社における内製スキルを客観的に分析し、機能面および非機能面に関して、”どこまでを内製化し、どこからを外部にアウトソースするか”を判断する必要があります。なぜならば、内製化では一つのシステムだけを内製開発するのではなく、複数のシステムを内製開発することが多く、企業内のシステム毎で非機能の設計方針が統一されていないと、それぞれのシステムが連携する際に全体としての整合が取れなくなる場合があるからです。
例えば、フロント系システムは3秒以内にレスポンスを返すとしていたが、基幹系システムは10秒までのレスポンスを許容していた場合に、フロント系システムと基幹系システムを連携した際に要件を満たせない場合が出てきてしまいます。つまり、システム単位のアウトソースをしてしまうと問題が発生する可能性が高まるということです。
上記課題に対する解決策の一つとして、システム横断型組織による非機能ガバナンス体制を我々は推奨しています。このシステム横断チームが社内全体のシステムを横通しで確認し、非機能面における設計方針のガバナンスを効かせることで、非機能要求を満たさない問題システムの発生を抑止することにつながります。
なお、内製化初期段階では、企業には非機能面に関するノウハウが少ないため、非機能面に関するスキルをもった有識者はアウトソースし、ノウハウがたまっていくにつれ、内製化率を高めていくという流れをおすすめしています。
図:内製化における横断型組織による非機能ガバナンス体制例
迅速に変わり続けるデジタル企業であり続けるためには、内製化によりシステム開発のアジリティを高めることと合わせて、非機能面が足かせにならないことが必要になってきます。そのために企業全体のシステムを把握し、システム横断で非機能に対するガバナンスを効かせることが重要になってくるでしょう。