HapInS Developers Blog

HapInSが提供するエンジニアリングの情報サイト

金額のみでシステム開発会社を選ぶ危険性

システム開発会社を選定する上で、システム開発に対して深い知見をお持ちでない方が陥りがちな罠が本記事のタイトルにもなっている金額という観点です。システム、特にソフトウェアと呼ばれるものの類は目に視えない人間の振る舞い(プロセス)に密接に紐付くため、具体的かつ明確に比較可能な(そして上司への説明がしやすい)金額という観点に着目しがちです。

しかし多くの場合、単に金額が安いだけで価格以外の訴求ポイントが無いシステム開発会社を選ぶことは、そもそものシステム開発プロジェクトが失敗する可能性が高まるだけでなく、無事完成したとしても運用保守や将来的な機能拡張の際に大いに苦しむ可能性が高まるということに繋がります。

本記事では、あなたのシステム開発プロジェクトが上手くいくよう、なぜ金額で開発会社を選んではいけないのか、そしてどの様な観点でシステム開発会社を選ぶべきなのか、開発会社であるHapInSの視点から解説させていただきます。

なぜ金額で開発会社を選んではいけないのか

そもそも見積はブレる

システム開発に馴染みの無い方にとっては意外に思えるかもしれませんが、システム開発における見積はどんなに優れた開発会社でも見積提示時から開発完了まで、当初見積もった費用から変わらないということはまずありません。以下の図は、COCOMO Ⅱという以下3つの前提を含む見積手法におけるデータを元に作成された図です。この図が示唆する点は、これ以上正確な見積を出すことが不可能という点です。

  1. 要求の追加/変更は入らない
  2. 見積に必要な情報は揃っている
  3. 見積りの専門家が見積もった

システム開発の不確実性を表す図

引用: xtech.nikkei.com

システム開発を発注する段階、つまり初回の見積を取得したタイミングでは、費用が最大で4倍になり得ることも覚悟しておくべきです(筆者自身の経験的にも、4倍近くになる可能性は十分ある認識です。逆に1/4になる可能性はほぼほぼ0です)

最も安い開発会社の提案が、最も良い提案とは限らない

もしシステム開発における提案内容を、ある規格を満たすネジの発注と同じ様な目線*1で考えることができるのであれば、金額重視で発注先を選んでしまうのも良いかもしれません。しかし、システム開発においてはやはり金額重視で発注先を選ぶべきではないと断言します。

システム開発と、いわゆる"ものづくり"に代表されるような製造業や建築業等の業種との決定的な差は、前者は人々が営むプロセスを作るのに対し、後者は目に視えるモノを作るという点です。我々人間は目に視えない事柄について深く考えるのが苦手な生き物であり、特に開発前の見積段階で顧客の複雑なビジネスプロセスを深く理解し、適切な提案を出すことは中々に困難です。

そのような背景から、安いけど雑な理解で不適切な提案や、高いものの深い理解で最適な提案など玉石混交の提案があなたの元に届くのです。システムという目に視えないものを扱う分、分かりやすい金額という基準で比較してしまいがちですが、良く提案内容を確認し最良の提案を選択できる様にしたいものです。

悪貨は良貨を駆逐する

この言葉は、通貨が主に金貨だった時代に、金の含有量が多い"良貨"と少ない"悪貨"の両方が同時に流通すると、やがて良貨はしまい込まれ悪貨だけが流通する様になることを指したことわざで、別名をグレシャムの法則といいます。表面上の価値を意味する名目価値が同じなら、より金が多く含まれている良貨は自分のところにとっておき、金が少ない悪貨を率先して利用するのは当然の心理ですよね。

さて、これまで解説してきた内容を踏まえると、「そもそも見積はブレる」し「高いけど良い提案」と「安いけど悪い提案」が混ざる、発注者であるあなたとしては何とも頭が痛くなる様な状況であることが理解できたかと思います。

見た目の金額に吊られてしまうと、中身が粗悪な悪貨を摑まされかねないので、慎重に発注先を選ぶ必要があります。その様な事態を避けるためには、より適切な提案なのかどうか、営業担当がどれだけあなたの会社のことを知ろうと調査しているか、質問を準備してきているかを良く観察し、営業担当の理解度を推し量ってみると良いでしょう。打合せの場にエンジニアが同席している開発会社であれば尚良しです。提案の精度向上や、発注後に追加の費用を請求される可能性をグッと減らすことができます。

金額のみで選んでしまうと何が起こるのか

では、金額のみで開発会社を選んでしまうと将来的にどんな不幸があなたに襲いかかるのでしょうか。あなたを最も不幸にする事柄を3つピックアップしてみました。

仕様変更ができない

ここではシステム開発における一般的な契約形態である請負契約を前提として説明したいと思います。

請負契約では、契約締結時にシステムの仕様(機能やデザイン等)を決め、それを開発会社が納品するという契約形態です。発注者側のメリットとしては、事前に決めた内容通りにシステムがほぼ確実に納品されるという点ですが、裏を返すとシステムの仕様を変えたくなったとしても変更することが出来ない(難しい)というデメリットにも繋がります。

システムはお客様のビジネスプロセスに密接に紐付くものですから、ビジネスプロセスの変更に伴い仕様変更をする可能性や、そもそも今の仕様ではビジネスプロセスに合わないことが分かった...となることは本当に良くあることです。

当初決めた仕様では役に立たないと分かっても、一度合意した仕様を変更するには多大な労力と費用がかかることを認識しておいた方が良いでしょう。最悪の場合、開発会社側が仕様変更の一切を受け付けないというケースもあるため、十分に注意が必要です。

将来の拡張性や運用保守性が犠牲になる

前述した様に、システムというものはお客様のビジネスプロセスに密接に紐付く、いわば生き物の様なものです。お客様のビジネスプロセスが変更になれば、システムの関連箇所は当然変更になるべき存在であり、逆説的に言うとシステムの変更が一切発生しない = ビジネスとして全く成長 or 変更が起こらないということを意味します。

あなたの会社では今まさに売上の増加や費用の削減等を目的にシステム開発への投資をしようとしている訳ですから、それに伴いビジネスプロセスも変わっていく = 一旦システムが完成した後もシステムの改修や機能追加を行っていく必要があると認識すべきです。

そうなると、システムがどれだけ容易に変更できるか、メンテナンスしやすいかという点が非常に大事になってくるのですが...安い金額で提案を出してくる開発会社の一部は、目先の案件を獲得するためにお客様から見え辛いこの点を犠牲にしていることが多々あります。この点を犠牲にしてしまうと、将来機能を追加変更したり、日々の運用に必要な工数が跳ね上がってしまうなど、痛い目を見ることなりますので特に注意すべきです。

エンジニアの質(生産性&品質)が大幅に下がる

システム開発会社から提示される見積には1人月 ¥800,000のような、1ヶ月あたりの工数と単価を掛けた形での見積方法が良く用いられます。ここでご認識いただきたいのは、1人月 ¥600,000のエンジニアが2名で¥1,200,000の提案よりも、1人月 ¥1,000,000のエンジニアが1名の提案の方が良いシステムになる可能性が高いという点です。

一見、2人分の開発リソースを得られる前者の提案の方がお得に思えますが、実はエンジニアの生産性というのは比例関係になく、むしろ指数関数的に開いていきます。こちらの記事にも優秀なエンジニア5人は二流の1000人を完全に凌駕すると記載されておりますが、これは開発会社である我々HapInSも完全に同意です。

安い金額で提案を行う会社の一部は、エンジニア1名あたりの金額(単価)を下げ、工数を積み何とか動くシステムを作るという戦略を取っておりますが、エンジニアの質が下がると前節で説明した拡張性や運用保守性を考慮した開発を行うことは途端に難しくなり、それらを犠牲にすることに直結いたします。

エンジニア1人あたりの金額が安い企業に惹かれる気持ちは分かりますが、上記のことを念頭に置き、エンジニア1人あたりの金額が高い企業を選ぶ勇気を持つことが大事だとHapInSは考えます。

よくある失敗例

事例①: 役所/自治体のシステム

ご存知の方も多いかと思いますが、システムに限らず基本的に役所/自治体の発注先選定方法は"一般競争入札"が採用されることが多く、その中でも価格の影響度合いは高いものとなっております(詳細はこちら

そして、皆さんが日々感じている通り...役所/自治体が提供するシステムって使い辛いものが非常に多いですよね。とある独立行政法人にて経理関連のシステム開発プロジェクトを担当している私の知人は、一番金額の安い入札をしてきた老舗のシステム開発会社にプロジェクトを委託することになり、納期が半年遅れるばかりか追加の費用を請求され、納品されたシステムは弥生会計等の一般的な会計ソフトウェアより遥かに使い勝手が悪く、機能が劣るものだったそうです(独立行政法人は民間と違う会計処理が少々あるため開発することになったそう)

上記の様に、金額のみに着目して開発会社を選ぶことはシステム開発の失敗に繋がりかねません。発注者である役所/自治体側に金額以外の観点で開発会社を評価できる担当者がいれば良いのですが...恒常的にシステム開発の担当者を置くニーズがないことや、民間と比較し魅力的な待遇ではないことが多く、金額を評価の主軸として考えることが多いのが実情です。

事例②: みずほ銀行のシステム

IT業界では非常に有名なみずほ銀行の新システム"MINORI"もシステム開発及び運用保守予算の削減が原因の一つとなり、2019年のリリース以降11回の障害を起こし金融庁から業務改善命令を発出されることとなってしまいました。

当初みずほ銀行では本システムに対し3,000億円台の費用がかかると想定していたものの、最終的な開発費用は4,000億円台半ばとなり、当初予算を大幅に上回る形になりました。超過した費用の回収や全社的に進められていたコストカット施策も相まり、MINORIの仕様を知る開発ベンダーの要員を次々と削減した結果、システム仕様を理解している人を探すのに苦労するほど運用体制が脆弱となってしまいました。

この様に開発という面だけでなく、システム運用保守という観点においても、金額のみに着目してしまうと不幸な結果を招くことが理解できたかと思います。

システム開発会社の選定基準

では、システム開発の経験が無い or 少ないあなたは、どのようにして信頼できるシステム開発会社を選べば良いのでしょうか。

営業担当の理解度を推し測る

"#悪貨は良貨を駆逐する"で述べた様に、営業担当がどこまであなたの会社やビジネス、業務要件について理解出来ているのか、確認する様にしましょう。的外れな回答や、そもそもあなたの会社に対して熱心に調べた形跡が見られない様でしたら、きっとあなたのビジネス成長に役立つシステムを提供してくれる可能性は低いでしょう。

見積金額ではなく、費用対効果の観点を持つ

システム開発のご相談をいただく中で良くあるケースが、システム開発そのものが目的となってしまっていて、本来達成すべきゴールが忘れ去られてしまっているというものです。システムというものは本来、あなたが達成したい売上増や費用削減等の目的のための手段にしかすぎません。

500万円だけど3年かかって1,000万の価値を生み出すシステムと、1,000万だけど3年で3,000万の価値を生み出すシステムのどちらが良いのかなど、きちんと費用対効果を試算することで、表面上の金額に惑わされず本当に良い提案を選ぶことができる様になります。

運用保守フェーズを考慮できているか確認する

前述した様にシステムというものはお客様のビジネスと密接に紐付きます。システムの完成がゴールではなく、日々のビジネス成長に合わせ運用を行い、必要に応じて機能の修正や追加開発を行う必要性が出てくるはずですので、提案の中に運用保守の観点が含まれているかきちんと確認し、自社の描く未来像が実現できるかどうか十分に吟味しましょう。

最後に

HapInS株式会社は、お客様のビジネス成長にコミットすることを第一目的としており、お客様のビジネスにおいて何が最も重要で、そのためにシステムはどうあるべきか?という視点を常に忘れず、必要に応じてお客様の視点からシステムの費用対効果を算出するなど、コンサルティングレベルから対応を行うことが可能なIT企業です。

漠然としたお悩みや検討途中の状態でも構いませんので、以下お問い合わせフォームよりお問い合わせいただけますと幸いです。HapInSの専門家があなたのビジネスをより加速させるべくアドバイスをさせていただきます。

blog.hapins.net

*1:規格を満たす = 品質が一緒という意味ではありません