システムの開発というと、従来は専門技術と知見を持つ企業に外注することが当たり前でした。しかし、ローコードツールなどの登場により、自社内で開発を行う方針に切り替えたい(=内製化を行いたい)という企業が増えているように思います。
アクシアの顧客でも内製化を実現したいという企業様はいくつかいらっしゃいますが、実現するためには多くの課題があり、なかなか実現されない現状があります。
この記事では、システム開発の内製化についての情報をまとめました。この記事で得られる情報は次の通りです。
- システム開発の内製化とはなんなのか
- 内製化のメリット・デメリットはどのようなものか
- 内製化を行う際注意すべきポイント4つ
- システム開発を内製するか、外注するかの判断ポイント
- ローコードツールについて
この記事がお役に立ちましたら幸いです。
実際の開発費用・期間をまとめた資料を無料で差し上げます。資料請求はこちら>>
システム開発の内製化とは
システムの内製化とは、自社が提供するWebサービス・または社内で使用するシステムを自社で雇用したエンジニアが担当することをいいます。
システムが内製できるようになると外注費用が抑えられる、開発や障害対応が迅速に行える、などのメリットがあるため、内製化を検討する企業が増えています。
内製化のメリット・デメリット
システム開発を自社で行うことについて、メリットとデメリットをまとめました。
メリット
前項で少しお話ししたように、内製化のメリットは多くあります。
スピード感
内製化による一番のメリットは、迅速な対応がとれることです。システム会社への発注をせずに自社の指揮系統でプロジェクトを進行することができるため、コミュニケーションが格段に取りやすくなります。
例えば業務効率化のために自社の業務に特化したシステムを作る場合、以下のようなやりとりを短縮することができます。
- その業務内容をシステム会社に1から説明する手間が省ける
- 自社が求めているシステムとシステム会社が構想しているシステムにズレが起きる事態がなくなる
- システム会社との協議やスケジュール調整の手間が省ける
- 使いづらい部分が発見されたときにすぐに改善対応ができる
また、自社でシステムを作ることにより仕様の把握ができているため、障害が起きた場合の対応を迅速に行うことができます。
新しい機能を作りたい時、機能を改善したい時、障害が発見された時、そのすべての場合において外注先に依頼するよりも自社で対応できる体制があった方がスピーディーな対応をとることができます。
柔軟性
自社内で完結するため、スケジュールの融通がきくことも大きなメリットです。優先順位の組み換えなど、状況に応じてプロジェクトのスケジュールを自社の裁量で変更することができます。
ノウハウの蓄積
内製化を行えば対象システムの仕様や、技術、開発手法、運用などのノウハウを蓄積することができます。ノウハウを蓄積することにより体制を強固にし、競合他社と差別化する材料を得やすくなります。
コスト
一般的には、外注費よりも人件費の方が安い場合が多いです。また、開発中に仕様変更があった場合、外注では追加費用がかかります。自社で開発を行うと仕様変更の際の追加費用が発生しないため、コストを減らすことができます。
デメリット
自社で内製を行うには、専門的な知識や技術を持つエンジニアを雇用する必要があります。システムに関する専門的な知識がない企業がエンジニアの採用を行う場合、どのくらいの技術レベルがある人を、どのくらいの給料で採用すればいいのかがわからないといった問題が出てきます。
採用側にもシステムの知識がないと、作りたいと思っているシステムを構築できる技術レベルの人がわからないため、採用がうまくいかない状態におちいります。
このような雇用のリスクがあることから、システム開発を生業としていない企業がシステムを内製するというのは難しい部分があります。
実際の開発費用・期間をまとめた資料を無料で差し上げます。資料請求はこちら>>
内製化を行う際に注意するポイント4つ
内製化を行うデメリットとして、エンジニアの雇用が必要なこと、採用側にもシステムの知識がないと雇用が難しいことを挙げました。また、システムが完成した後も保守メンテナンスを永続的に続けられる体制が必要です。
そのため、以下の4つの課題を全てクリアしないと、内製化の成功は難しいものとなります。
- エンジニアの採用力
- エンジニアの育成力
- エンジニアのマネジメント力
- 複数人体制を用意し、維持する
特に難易度が高いのは「採用」と「育成」です。自社の専門外の分野の人材を採用して、育てることは非常に難しい現状があります。少なくとも内製化に向けて、システム開発に明るい責任者(マネージャーレベル)が自社に在籍していないと難しいので、そのような人材の発掘から着手するのがよいと思います。
エンジニアの採用力
優秀なエンジニアを募集し、採用する力が必要となります。これができないと内製化は成り立ちません。自社の採用力が弱い場合は求人広告費用への投資が必要となります。
そして、応募してきたエンジニアが優秀な人材かを見極める力が必要です。スキルセットが自社のニーズに合っているか、優秀なエンジニアかどうかは上級のエンジニアでないと見極めが難しいです。
エンジニアの育成力
採用力と同じくらいに重要な項目です。採用したエンジニアが即戦力でない場合は、エンジニアとして指導・育成できる人材が自社に必要となります。いない場合は育成者(即戦力、ハイスキル、マネジメント力あり)の採用もする必要があります。
エンジニアのマネジメント力
プロジェクトを進行管理するためには、開発チームのマネージャー(プレイングマネージャーでもよい)が必要となります。いないと社内の素人がマネジメントすることになり、コミュニケーションに難が出る可能性があります。
そのため、最低でもマネージャーとしてシステム開発の発注・受注経験がある人材が必要です。
複数人体制を用意し、維持する
エンジニアは従業員であるため、さまざまな理由で退職になることが想定されます。退職リスクを考慮して、最低2名以上の体制を構築する必要があります。また、必要となるリソースが2名未満のボリュームの場合はコストが見合わないと考えます。
システム開発に限ったことではありませんが、仕事を1人体制で回している状態は好ましくありません。その人がいないと仕事内容がわからないなど、業務が滞る原因となりうるからです。
システム開発や保守において、1人体制はより深刻な問題を引き起こすことがあります。その人がいなくなってしまうと、次の担当者をアサインするまで何もできない期間が生まれてしまいます。また、新しい担当者が引き継いで、システムの仕様を理解するにはそれなりの時間が必要です。
もしもこの期間中になにか障害が発生してしまうと、対応から復旧完了するまでに相当の時間を要することとなります。企業のITシステムは業務の根幹に関わっている場合がほとんどであり、システムがストップしてしまうと、その企業のビジネスそのものがストップしてしまう可能性もあり、大変危険な状態です。
リスクを回避するために、必ず複数人体制を用意し、維持できる環境を整えてから内製化を検討しましょう。
実際の開発費用・期間をまとめた資料を無料で差し上げます。資料請求はこちら>>
システム開発を内製するか、外注するかの判断ポイント
システム開発を内製化するか、外注するかは、「内製化を行う際に注意するポイント」でお話しした4つの課題をクリアできる体制が用意できるのか?を踏まえて判断しましょう。
4つの課題をクリアした体制が用意できない場合や、用意できてもコストが見合わない場合は、外注するほうがよいと考えます。
体制が用意できない場合
開発体制を複数人体制にできないのであれば、まだ内製化するタイミングではありません。その場合は我々のような開発会社を利用する方が良いでしょう。
実際に、アクシアには過去に何件か「システム開発を内製していたがうまくいかない」というご相談が寄せられています。お話をお伺いすると、トラブルのほとんどがエンジニアが1人体制となっていることに発生していることが判明しました。
- 休みや退職によって業務がストップしてしまう
- エンジニアの仕事の遅延したリカバリーができず、関連する他の業務にまで影響が出てしまった
- メンバーとの情報共有が必要ないためドキュメントが残っておらず、新担当者への引き継ぎに苦労した ……など
1人体制を軽くみていると、将来的にこのようなトラブルを引き起こすリスクが高くなります。
体制は用意できるが、コストが見合わない場合
システムを内製化するには高いコストがかかります。仕事として成立させるための専門知識の習得難易度が高いため、人件費の他にも雇用して育成するための費用・期間が多く必要とされます。
このため、システムに関する専門的な知識がない企業であれば、外注した方が安上がりだと考えます。
ただし、将来を見据えて⻑期的な目線でお金と時間を投資し、外注しつつ内製化を少しずつ進める考え方はありだと思います。体制が用意できない場合は、システム会社の買収や業務提携などの手段を検討するのも一案です。
ローコード開発でシステム内製化は可能?
ローコード開発とは、プログラミング言語を必要としない・または最小限のプログラミングでシステムが開発できるサービスです。グラフィカルな画面であらかじめ用意されている部品を組み合わせてシステムを構築します。ブロックを組み立てるように視覚的・直感的にシステム開発を行えることがローコードツールの特徴です。
これによりプログラミングの開発工程を簡略化できるため、開発期間を短縮することができます。また、プログラミング作業がほとんどないため、記述間違いなどのミスや部品同士の不整合を大幅に減らすことができます。これにより高品質なコードが担保でき、安定した開発が期待されます。
技術的なハードルが下がること、コードが読めないゆえのブラックボックス化を防げることから、ローコードツールは内製化に向いているといわれています。
ただしプログラミングが必要ないとはいえ、業務を分析・整理して「求められる要件は何か」を要件定義できるスキルは必要となります。
通常のシステム開発と遜色ない開発が可能なのか
ローコードサービスで提供されている部品の範囲内、制約事項の範囲内で要件が完全に収まる場合は可能です。
要件がはみ出す場合は、ローコードサービスの仕様なので対応不可であったり、柔軟なカスタマイズを行うにはプログラミングが必要となることがあります。
エンジニア目線での意見としては道具の使いようなので、世の中に提供されているもので要件が完全に満たせることが十分に確認できている場合は、積極的に利用するのが良いと思います。
変動する事業の状況に柔軟に対応でき、システムの仕様の制限で対応できないことが許容できない場合、採用するべきではないかと考えます。
システム開発の内製化に必要な4つの条件・まとめ
システムが内製できるようになると、外注するよりも効率がはるかにアップします。しかし、内製するからには企業としてシステムの保守メンテナンスを永続的に続けられる体制が必要です。
会社の規模や予算を考慮して必要な体制を継続して維持できない場合に、我々のような外部の開発会社がお客様の力になることができて存在意義が出てきます。
もしも内製化を検討しているのであれば、複数人体制が用意できないうちは開発会社に外注し、長期的な目線で少しずつ内製化を進めていくことをおすすめします。
アクシアの「定額開発サービス」は、この記事の中でお話ししたデメリットを可能な限り排除したサービスです。内製化がすぐにできない状況でも外部に開発チームを持てるサービスとなっているので、ぜひご検討ください。
最後までお読みいただき、ありがとうございました。