システム開発を内製化したい時に考慮すべきポイント


システム開発を我々のような開発会社にご発注いただいている会社の中でも、将来的にシステム開発の仕事を内製化したいと考えているところは結構あると思います。私も知人の会社から相談されることもありますし、顧客からそういう相談を受けたこともあります。

システム開発の仕事を外注した方が良いのか、内製化した方が良いのかについては一概には言えません。状況によって外注した方が良い場合もありますし、もちろん内製化した方が良い場合もあります。

その会社のおかれている状況によって適切に判断していかないと、大事なシステムの開発やメンテナンスが滞ることにもなりかねません。開発体制の内製化を考えている場合に、考慮しておくべきポイントをまとめてみました。

内製化できるならシステム開発は内製化した方が良い

我々のように開発の仕事をしている会社にとって、いきなり自分達の首を絞めるような発言となりますが、システム開発は内製化できるようであれば内製化した方が良いです。これは私が新規顧客のところへ営業に行く時にもこのように説明しています。私がどこかの会社のシステムの責任者であれば、まず最初に内製化できないか考えます。

内製化の目的はスピードです。新しい機能がほしい時、機能を改善したい時、障害が発見された時、そのすべての場合において外注先に依頼するよりも自社で対応できる体制があった方が迅速な対応がとれることは当然のことです。

余談ですがアクシアでは創業以来一度もシステム開発の仕事を下請けに出したことがありません。上記と同じ理由で、他社に依頼すると対応スピードが落ちてしまうからです。

外注する場合でも自社で全て開発している開発会社がお勧めの理由は同じくスピードです。下請けに出している会社だと余計なマージンが入って高くなるという金額的な問題もありますが、それよりもスピードの問題の方が深刻です。

システム開発は新規でシステムを構築すればそれで終わりというわけではありません。開発後もシステムが稼働している限りは保守メンテナンスという仕事が付いてくるわけですが、保守メンテナンスを行うのは既にシステムが稼働している時です。保守の対応が遅れるということは最悪の場合、ビジネスそのものがストップすることもありえます。

以上のように、何かの時にシステムの対応を行うのは早ければ早いほど良いので、システム開発は内製化が理想です。

システム開発を内製化するなら複数人体制にすること

できることならシステム開発は内製化することが理想ですが、

内製化するなら必ず複数人体制にすること

これは必須です。開発体制を複数人体制にできないのであれば、まだ内製化するタイミングではありません。その場合は我々のような開発会社を利用する方が良いでしょう。外注先を探される場合は下記のブログ記事もよろしければ参考にしてください。↓

システム開発会社の選び方

システム開発の内製化を検討している会社に私が説明する時も、「内製化できるならした方が良い。ただしその場合は複数人体制は必須。複数人体制にできないのであれば外注してください。」と説明しています。

これはシステム開発に限ったことではありませんが、基本的にある業務を1人の人間しか対応できない状況というのは好ましくありません。その業務を今すぐ廃止してもそれほど困らない、あるいは代わりの人間をすぐに用意できるのであれば問題ありませんが、システムの開発や保守はそうではありません。

そのシステムのことを理解しているエンジニアがいなくなってしまうと、一定期間そのシステムに何かあった時でも対応できなくなる期間ができてしまいますし、代わりのエンジニアを採用したとしても、全く知らない一つのシステムの情報を引き継いで理解するまでにはそれなりに時間が必要です。

エンジニアも人間ですので体調を崩すこともありますし、他社に転職していくこともあります。1人体制はいつ何が起きてもおかしくない綱渡り状態です。

アクシアにも年に何度か「システムの担当者がいなくなってしまって困っている」というご相談をいただきます。はっきり言ってそうなってしまってからでは遅いのです。色々と弊害があります。

1人体制には他にも問題があります。システムのことを理解しているエンジニアが1人だけだと、そのエンジニアが会社に隠れて好き勝手なことをやる場合もあります。人間ですから。勝手に会社のお金で必要のないサーバーを借りて趣味で作ったシステムをそこで動かしていたなんて事例もありましたね。(弊社顧客実例)

そして1人体制だと起きる大きな問題の一つに、1人体制で仕事が属人化すると会社全体で業務の非効率化が発生するということです。

ある業務に対応できる人が1人しかいないと、その人の仕事が遅れるとそこに関連する全ての業務も一緒に遅延します。どんなに仕事が遅れようともその人にお願いするしかないからです。

システム保守って本当に必要?運用保守が必要な理由

システム保守についてや、複数人体制を組むことの重要性については上記のブログ記事にも詳細に書いてますのでよろしければご覧ください。

良いエンジニアを採用することは簡単ではない

自社内でシステム開発に複数人体制を組めるだけの予算を確保できそうだということであればいよいよエンジニアを採用ということになりますが、良いエンジニアを採用することは決して簡単ではありません。

ITに詳しくない人はよく、システムのことは何でもエンジニアに任せておけば魔法のように全て解決してくれるみたいに思っている人がいるようですがそうではありません。何でも1人でできる1人前のエンジニアというものは意外と少ないものです。

例えば、プログラミングはできるけどサーバー構築や運用はできないエンジニアとか普通にゴロゴロいます。適切にサーバー運用できないとセキュリティパッチを当てることすらできなかったりして、問題山積みのままシステムを運用している会社って結構あるんですよ。

良いエンジニアを採用することに関しては、我々のようなシステム開発を専門とする会社でも苦労してますからね。本当に実力のあるエンジニアとは、巡り合うだけでも結構大変なものです。

当然のことながら採用したとしても辞めることだってあります。私の知人の会社ではシステム開発を内製化するためにエンジニアを5人採用したけど、1年で全員辞めてしまったという悲惨な結末を迎えた会社もあります。

今はエンジニアは人材不足ですし、良いエンジニアとなるとなおさらです。自社に開発体制を作って内製化を考えるのであれば、それなりに採用に苦労することも理解しておく必要があります。

エンジニアを尊重してほしい

これは当然のことながらエンジニア以外でも言えることなのですが、エンジニアを採用するのであればエンジニアのことを尊重してあげてほしいです。別にエンジニアを神のように崇めてくれということではありません。お互いの立場に敬意を払うという当たり前の話です。

当たり前の話ではありますが、悲しいことに結構いるんですよ。エンジニアを下に見るような経営者が。

エンジニアの仕事を誰にでもできる簡単な仕事などと言ったり、そんなのインターンにでもやらせておけばいいじゃんとか言ったりする経営者を実際に私は何度も見てきました。もう人としてどうなの?というレベルですよね。

我々のようにシステム開発を事業とする会社ではない場合、エンジニアは間接部門として直接利益を生み出さないお荷物的な存在として扱われてしまうようなことも残念ながらあるようです。

そんな環境でパフォーマンス発揮しろと言われても無理な話です。私ならそんな会社ならすぐに転職を考えますね。

エンジニアを採用するなら地方に拠点を作るのもお勧め

別に東京のエンジニアがダメとかでは全くないのですが、地方にも良いエンジニアはたくさんいます。でも自社で開発できる会社って東京と比べるとどうしても少ないんですよね。SESばかりの地方もありますので、自社勤務に憧れている地方のエンジニアは結構たくさんいます。

システム開発の仕事って東京でやる必要が全くないです。東京に拠点を構えなければならないのは営業だけですね。開発拠点は地方でも全く問題ありません。アクシアでも札幌に開発拠点がありますが、良いエンジニアばかり採用できて想像のはるか上をいくくらいにうまくいってます。

開発の仕事は環境さえ整備すればリモートでも全く問題なくできるタイプの仕事です。同じく東京に拠点がなくても問題のない職種にコールセンター業務がありますね。コールセンターも日本全国に拠点があります。

こういう仕事についてはうまく地方を活用していくことができれば、地方の人材のニーズともうまくマッチして良い結果を生み出せる可能性が高いと思います。

まとめ

システム開発を内製化するにあたって色々と考慮すべきポイントを書きましたがとにかく、

内製化するなら複数人体制にすること

一言で言うならこれにつきます。

  • 内製化するなら複数人体制にする
  • 複数人体制にできないなら外注する

このことだけは念頭に置いてシステム開発の内製化を検討いただければと思います。

もしシステム開発を内製化をサポートしてもらいたいみたいなニーズがあれば、ご相談いただければアクシアでできることであればサポートさせていただきますのでお気軽にご連絡ください。

このエントリーに関連した記事はこちら