MENU
  • FUNBREWについて
    • 営業日・営業時間
  • 事業内容
    • ITサポート
    • ウェブサイト制作
    • システム開発
    • プログラミングレッスン
  • 対応エリア
  • FAQ
  • パートナー募集
  • お問い合わせ
  • 記事一覧
  • EN
  • JA
FUNBREW
あなたの会社のIT顧問
  • FUNBREWについて
    • 営業日・営業時間
  • 事業内容
    • ITサポート
    • ウェブサイト制作
    • システム開発
    • プログラミングレッスン
  • 対応エリア
  • FAQ
  • パートナー募集
  • お問い合わせ
  • 記事一覧
  • EN
  • JA
FUNBREW
  • FUNBREWについて
    • 営業日・営業時間
  • 事業内容
    • ITサポート
    • ウェブサイト制作
    • システム開発
    • プログラミングレッスン
  • 対応エリア
  • FAQ
  • パートナー募集
  • お問い合わせ
  • 記事一覧
  • EN
  • JA

システム内製化には引き継ぎが大事?失敗事例から学んで備えよう

2023 1/18
ITサポート システム開発 会話形式 疑問シリーズ
2023年1月17日 2023年1月18日

近年、システムを自社内で開発する「内製化」に切り替える企業が増えてきています。

もし今現在、外部の会社に開発を依頼しているなら、内製化にあたって注意してくことがあります。

今回はシステムの引き継ぎをキーワードに会話形式でご紹介します。

登場人物
藤沢真人

藤沢真人、IT業界20年のベテランエンジニアで40歳。

請負開発の会社でプログラマー、システムエンジニア、プロジェクトマネージャーとしての経験を積む。

その後、中小企業のIT支援をするために小さな会社を設立。

現在はITを活用したい会社のためのアドバイザーとして、複数の会社のコンサルティング業務を行なっている。

モットーは「すべての会社にITを」。


大船清

小さなウェブ制作会社に勤める営業マン、52歳。お願い上手のお調子者。

営業歴30年の超ベテランだが、気軽に相談しやすいことから、サイト制作以外の話もよく受けている。

ただ専門的なことはわからないので、いつも真人にお願いして困らせている。

口癖は「仲の良いお客さんだから断れないんだよ。」

目次

なぜシステムの内製化が失敗するのか?

大船さん

真人君、聞きたいことがあるんだけど。

真人

大船さん、どうしました?

大船さん

僕のお客さんで、システム内製化を進めている会社があって。

真人

自社内での開発に移行ですね。

大船さん

ただ失敗したんだって。

真人

あっ、そうなんですね…。

大船さん

でも再チャレンジしたいらしくって、僕のところに相談があったんだ。

真人

なるほど。
その原因を私に探れということですね?

大船さん

そうなんだ。
お願いできるかな?

真人

わかりました。
詳しく聞かせてください。

外部開発から内製化するには引き継ぎが必要

真人

内製化とは言いましたが、新規でシステムを作り始めたんでしょうか?

大船さん

いや、元々はアウトソーシングしていたらしい。

真人

ということは、元々は別の会社がシステムの請負を?

大船さん

みたいだね。
開発自体はうまくいってたようだけど、コストが気になっていたようなんだ。

真人

なるほど、内製化で開発コストを下げようとしたんですね。

大船さん

うん。
それで、お客さんの方でエンジニアが採用できた時点で、外部の開発会社の利用は辞めたそうだ。

真人

エンジニアを採用してすぐに、外の開発会社からシステムを引き上げたんですか?

大船さん

そうらしい。

大船さん

内製化が始まって今で半年ぐらい。
ただ採用したエンジニアが何の成果も出せてないって、社長が怒っててさ。

真人

うーん、それで?

大船さん

そのエンジニアくんが言うには、全然人手が足りないって。
半年経った今もずっと調査をしているとかなんとかで。

大船さん

それで社長が僕にぼやくんだよ…。
彼の経歴は嘘なんじゃないかって。

大船さん

ちゃんと開発会社から、システムを開発するのに必要な技術を聞いて、その技術に見合ったエンジニアを雇ったらしいんだけどね。

真人

なるほど。

大船さん

そんなわけで、人手も足りないって言うし、新しいエンジニアをさらに二人雇ったんだけど芳しくないっていうことで、今に至るわけなんだ。

真人

…わかりました。
おそらくは引き継ぎ不足ですね。

大船さん

引き継ぎ?
でも、開発に必要な情報は開発会社から提供されたはずだけど。

真人

いえ、それだけでは十分とは言えないでしょう。

真人

雇ったエンジニアがいまだに調査に時間を割いているということは、圧倒的に情報が足りてなかったのだと思います。

大船さん

プログラミング言語とフレームワークが分かれば開発できるんじゃないの?

真人

もちろん、フレームワークのような根幹技術は大事ですが、どちらかというと知りたいのは、そのシステム特有の情報です。

真人

なぜこのようなサーバーの配置になっているのか、なぜこのようなファイル構成で、このような書き方をしていて、なぜ…というのが無数にあるはずです。

大船さん

よくわからないな。

真人

プログラミング言語を習得していても、新しいプロジェクトやそのシステムに慣れるのはまた別です。
本来であれば、システムを最初に開発したエンジニアがいて、その人が新しいエンジニアに引き継ぎを行います。
もし教える人が誰もいなかったら、既に動いてるシステムを解析して理解していくしかありません。

大船さん

うーん、どういうこと?

真人

フレームワークって有名なものであれば、ネットで調べれば使い方がわかりますが、当然、お客さんのシステムついては検索してもわかりません。

真人

例えば、そのシステムになぜそのフレームワークを採用したのか、非効率的なコードがあったとして、なぜそのままにしているのか、といったことがあるとしたら、それはネットで検索しても理由はわからないんですよ。
知っているのは当時開発した担当者だけです。

大船さん

なるほど、少しわかってきたよ。

真人

そのシステムの歴史の理解や業務知識がないと、いくら技術を扱えるエンジニアを集めても開発は早くなりませんよ。

大船さん

システム特有の情報の引き継ぎが必要だったわけだ。

真人

ええ、エンジニアが今行っている調査というのは、ネットで調べてもわからない情報を読み解く作業を行っているのでしょう。

途中から内製化するなら引き継ぎは必須

内製化にあたって、外部開発から社内開発に切り替えるなら、引き継ぎは必須になります。

特に自社内にエンジニアがおらず、開発業務を全て外部に依頼していたのであれば、知識の空白が生まれるのは避けられません。

引き継ぎされる情報には、システムに使われている技術だけでなく、システム特有の業務知識も含んでいることに注意してください。

システムの引き継ぎ期間を設定する

大船さん

それじゃあ、今からでも引き継ぎをお願いした方が良さそうだね。

真人

ええ、ただ外部の開発会社が快く受けてくれるかどうかは分かりません…。

大船さん

どういうことだい?

真人

システム開発は信頼関係の元で行われます。
私の印象では、突然開発の依頼を辞めたように聞こえました。

大船さん

うーん、まぁそうだね。

真人

良くも悪くもスパッと辞めたわけだから、開発会社の手からは完全に離れたと言ってもいい。

真人

当時の担当者は違うプロジェクトにアサインされているだろうし、終わったプロジェクトの情報を持ち続けるのも管理上のリスクになるので、廃棄している可能性もあります。

真人

それと、開発会社の「やっぱりうちが開発続けた方が良かったんじゃないか」という気持ちが透けて見えますよね。

大船さん

ああ、うん。
そうだね…。

真人

と少し意地悪な感じになりましたが、間に合うのであれば一度、当時の開発会社に相談した方がいいでしょう。

大船さん

わかった。
進言しておくよ。

大船さん

そうなると、改めて引き継ぎをするわけだけど、具体的にはどうすればいいんだろうか?

真人

まずは当時開発に関わっていたエンジニアさんから、情報を提供していただく時間が必要でしょう。

大船さん

なるほど、情報というのは、さっきの話にあったシステム特有の内容ってことだよね?

真人

そうです。
ただ、全てを教わろうとは思わないでください。

大船さん

どういうことだい?

真人

理由は簡単で、膨大な量になるからです。
一度や二度、ミーティングしただけでは足りないことがあります。

大船さん

そうなのか…。
ではどうすればいいんだろう?

真人

調査を始めて半年、エンジニアも3名に増えているとのことですから、今現在、わからないことを重点的に聞くのがいいでしょう。

大船さん

うん?
それはそうじゃないのかい?

真人

私が言いたいのは、システムの仕様などを全て資料に起こしてもらうようなことはしなくていい、ということです。
これは大変な作業工数になります。

大船さん

なるほど。
では、実は調査が全く進んでなかったとしたらどうすればいい?

真人

その場合は、開発会社のエンジニアさんにも開発に入ってもらいましょう。
社内のエンジニアがシステムを理解するまで、開発会社さんに手伝ってもらいながら進めていくしかありません。

大船さん

そうなるのか。
わかった。

システムの引き継ぎには十分な時間が必要

引き継ぎにあたって、システム開発の資料が全てそろっているプロジェクトはほとんどありません。

必ずどこか抜け落ちている情報が存在します。

場合によっては、機能追加が優先されて、ドキュメントの整備が全く進んでいないこともあります。

どちらにしても、文書だけの引き継ぎでは不十分で、担当のエンジニアがしばらく横について教えるようなやり方が理想的といえます。

「何がわからないのかわからない」という状況がしばらく続くので、引き継ぎ期間は長めに確保すべきでしょう。

社内のエンジニアは自社の業務に詳しくないといけない

大船さん

お客さんと話してきたよ。

真人

どうでしたか?

大船さん

社長は「今さら頭を下げてお願いするなんて…。」と渋ってたけど、社内エンジニアの圧力で、開発会社さんに手伝っていただくことになったよ。

真人

受けてもらえたようで良かったですね。

大船さん

そうだね。
ただ、また問題がありそうで。

大船さん

開発会社のエンジニアさんが、お客さんの社員よりお客さんの業務に詳しいんだよね。

真人

ああ、なるほど。
それはよくありますね。

大船さん

それでお客さんが「あのエンジニア、うちに引き抜けないかな」とか言うもんだから困っちゃって。

真人

それは完全にアウトだと思うけど…。

真人

引き抜きはやめてください、と冗談は置いときますけど。
課題は社内エンジニアの業務理解ですね。

大船さん

業務理解?
エンジニアは開発ができればいいんじゃないの?

真人

いえ、それは違います。
業務理解がなければ、そのシステムに必要な機能の開発はできません。
業務が理解できなければ、仕様の勘違いも起こりやすくなるし、良い提案もできないんですよ。

大船さん

でも作りたいものは指示しているから、提案とかも別にいらないと思うけど。

真人

ええ、もちろん、社内から上がってくる要望をもとに機能開発は行われるでしょう。
とはいえ、それをシステムに落とし込むのはエンジニアの仕事。
要望をそのままシステムに変換するのは無理で、その隙間をうまく埋めてあげる必要があるんです。

大船さん

…うーん、どう言うこと?

真人

例えば、「洗い替え」と言うキーワードがあったとき、エンジニアに知識がないと、システム内で変な名前をつけたりしてしまいます。
言葉の意味がわからないと、システムで何を実現したいのかわからなくて、開発が進まなくなります。

大船さん

まぁ、そんなものか。
それでエンジニアの引き抜きが難しいなら、どうすればいい?

真人

引き抜きはスルーしよう。

真人

社内のエンジニアには業務知識をつけてもらいましょう。
例えば、関係部署の業務を1日体験してみたり、社員から話を聞いたり、開発をするだけではなく、自社業務の理解に時間を割くんです。

大船さん

なるほど。
それはいいアイデアだね。

大船さん

ところで、何で開発会社のエンジニアはそんなにお客さんの業務に詳しいんだろう?

真人

開発に必要な業務の詳細を確認していたのでしょう。
担当期間が長くなればなるほど、業務に詳しくなっていくのはよくあることです。

真人

システムを開発しているとステート(状態)がよく出てきますが、あるべき状態をしっかり理解できていないと実装ができません。

大船さん

…開発に必要だからというのはわかったよ。
でも、続きの話は何だか難しそうだからまた今度でいい?

真人

…別にいいですけど。

業務理解が良いシステムを作る

エンジニアが自社業務を理解してないと、システム開発はうまく進みません。

例えば、会計ソフトを作るにあたって、勘定科目の意味がわからなければ、ベースになる業務知識が足りず、業務が滞ることが目に見えます。

特にシステム設計を行うときに、「ユーザーがどのように利用するか」想像できなければ、良いシステムを作るのは不可能と言っても過言ではありません。

他のメンバーが対応できるように開発や運用の資料を作成する

大船さん

真人君、また問題が起こった!!

真人

どうしたんですか、そんなに慌てて。

大船さん

最初に採用したエンジニアが辞めてしまったんだ!

真人

ああ、そうなんですね。
でもあと二人、エンジニアがいましたよね?

大船さん

そうなんだけど、彼らは辞めたエンジニアから指示を受けていてね。
コーディングはできるけど、システムや業務の理解はまだ浅いんだ。

真人

なるほど…。
でも、経験を積んでいる段階なら急がなくてもいいのでは?
もう少し様子を見るべきです。

大船さん

そうは言ってられない。
システムメンテナンスの定常業務は辞めたエンジニアしかできないんだ。

真人

そう言うことですか…。
外部のエンジニアは、まぁ、開発の手伝いはしても改めて運用することはないですよね。
内製化を手伝うための要員ですから。

大船さん

そうなんだよ。
でも今回はその外部エンジニアくんに頼るしかない…。
またお客さんとこの社長が怒りそうだ。

真人

そんなに頼るのが嫌なのか。
確かに追加の作業費は必要になるだろうけど…。

大船さん

それで今後なんだが、どうやったらこの事態を防げたと思う?

真人

そうですね…例えば、資料を用意するとか。
誰かが辞めても大丈夫なように、運用の手順書を作るべきです。

大船さん

そうは言っても、まだプロジェクトを始まって半年ちょっとだ。
そんな余裕はないと思うけど。

真人

気持ちはわかりますが、そうは言ってられません。
必ず誰かが辞めることを想定して、プロジェクトを回していく必要があるんですよ。

大船さん

…資料作成のために、エンジニアのみんなに残業をしろと。
君はそう言うわけだね?

真人

いえ、そうは言いませんが…。
人員を多めに用意したり、スケジュールに余裕を持たせるというやり方もできるでしょう。

真人

最終的には経営判断ですが、システム開発を失敗させたくなければ、人が辞めてもうまく回るようにあらかじめ準備しておかないと。

大船さん

わかった。
お客さんに進言してみるよ。

スピードか安定、どちらを優先するか

システム開発の理想は、「どんどん開発して、どんどん機能追加をする」なのですが、なかなか上手くいかないものです。

理由としては、開発メンバーのスキルに差があったり、今回のようにシステムを引き継いだばかりで、開発だけに集中できないといったこともあるでしょう。

これはシステム開発に限りませんが、「主要メンバーがいなくなったらどうするか」を念頭に置いて、プロジェクトを進める必要があります。

特にシステム開発は専門性が高いものでもあるため、後任・後釜と言える人材を育てておくことも重要になるでしょう。

システム内製化も結局は急がば回れ

大船さん

これからは開発のための資料も作って、後任のエンジニアの教育にも力を入れることになったよ。

真人

そうですか。
であれば、ひとまずは安心ですね。

大船さん

そうなんだけど…

真人

何か問題でもありましたか?

大船さん

結局、外部の開発会社にお願いした方が楽だったねという話になったんだよね。

真人

ああ、まぁ、それもわかりますけれど。
餅は餅屋ということですね…。

真人

けれども、これでシステム開発の知見が得られたでしょう。
例えまた外部に依頼し直すにしても、もっと的確にシステム開発の要件を伝えることができるはずです。

大船さん

そうだね!
社長が「投げっぱなしじゃなくて、社内のエンジニアといっしょに開発を進めるのがいいかもな」って言ってたから。

真人

ええ、バス係数、もしくはトラック係数というGoogle発祥の言葉があるんですが、ご存知でしょうか?

大船さん

いや、初めて聞いたよ。

真人

ある業務で誰かが辞めても継続できるかどうかを表している指標なんですけど、バスとかトラックはただの例えなので、要は重要な業務に対しての代わりの人材はいるかどうかで考えてもらったらいいでしょう。

大船さん

ふーん、とにかく、今回のようにすぐに引き継ぎができる体制を整えたり、代わりに作業できる人がいれば良いってことだよね?

真人

そういうことですね。

大船さん

わかった!
いろいろと苦労したけれど、今回も助かったよ。
ありがとう!

気軽に相談できるシステム開発なら

FUNBREWでは神奈川県藤沢市を拠点にシステム開発を請け負っております。

例えば、現在こんなお悩みがあれば、ぜひFUNBREWの一度ご相談ください。

  • 他の業者にお願いしているけれど、何だかうちとは合わない…
  • システムやITについて気軽に相談できない
  • 開発後もしっかりサポートしてほしい
お問合わせはこちら
ITサポート システム開発 会話形式 疑問シリーズ
  • ITコンサルタントとは?SEやPMとは何が違うのか?
  • スマホアプリの開発が高いのはなぜか?開発工数から理由を探る

金井 泰樹のアバター 金井 泰樹 FUNBREW代表

FUNBREWの代表。
新卒からIT系の企業に勤め、SES、スマホアプリ開発、自社開発の会社で経験を積んで独立。
新卒時代にエンジニアとしてのキャリアを積むのに失敗し、その後に苦労した経験から、現在教育事業の立ち上げを準備中。
強みはウェブシステム開発全般と迅速なレスポンスです。

この著者の記事一覧へ

関連記事

  • 【2023年】エンジニアの将来性は?これからプログラマーになりたい人へ
    2023年1月25日 2023年1月25日
  • システム開発の依頼方法は?どんな準備をすれば開発に入れるのか
    2023年1月25日 2023年1月25日
  • プログラムを書けるようになるまでに大事なこと。コーディングを好きになろう
    2023年1月19日 2023年1月20日
  • スマホアプリの開発が高いのはなぜか?開発工数から理由を探る
    2023年1月19日 2023年1月19日
  • ITコンサルタントとは?SEやPMとは何が違うのか?
    2023年1月15日 2023年1月18日
  • システム開発の保守とは?よくある項目を理解して開発を成功させるには
    2023年1月15日 2023年1月18日
  • プログラミング初心者は何からスタートしたらいい?挫折しないための学習法について
    2023年1月13日 2023年1月18日
  • システムを再構築する理由とは?情報が少ないシステムを改修するとき
    2023年1月11日 2023年1月18日
  1. ホーム
  2. ITサポート
  3. システム内製化には引き継ぎが大事?失敗事例から学んで備えよう
  • FUNBREWについて
    • 営業日・営業時間
  • 事業内容
    • ITサポート
    • ウェブサイト制作
    • システム開発
    • プログラミングレッスン
  • 対応エリア
  • FAQ
  • パートナー募集
  • お問い合わせ
  • 記事一覧
  • お知らせ

© FUNBREW

目次