ブログ

  • (6月23日通信)安いシステム開発費は、本当に安いのか


    設計を省略した安さは、将来の高額請求書になる

    システム開発の見積もりを取ると、よくこういう話になります。

    「A社はこの金額でした」
    「B社はもっと安くできますと言っています」
    「うちではこの金額でできますよと言われました」

    中小企業にとって、初期費用を抑えたいのは当然です。
    限られた予算の中で事業を回している以上、安い見積もりに魅力を感じるのは自然なことです。

    ただし、ここで一つ注意しなければならないことがあります。

    その安さは、
    範囲を明確に絞った安さなのか。

    それとも、
    設計を省略した安さなのか。

    この二つは、まったく別物です。

    小さな試作品、短期間だけ使うツール、社内の簡単な補助アプリであれば、安く作ること自体は悪くありません。
    むしろ、目的を絞って素早く作ることが有効な場面もあります。

    しかし、会社の業務、会計、顧客情報、社員情報、権限管理、承認経路に関わるようなシステムを、同じ感覚で選んでしまうと危険です。

    安い見積もりに、将来の設計費は含まれているのか

    安い見積もりの中に、将来のことまで考えた設計費が含まれている可能性は、決して高くありません。

    たとえば、次のようなことまで考えられているでしょうか。

    将来、部署が増えたときに対応できるか。
    拠点が増えたときに無理なく拡張できるか。
    社員の権限が増えたときに安全に管理できるか。
    会計処理と業務データをどうつなぐか。
    ログをどこまで残すか。
    外部の税理士、社労士、データベース専門家、セキュリティ担当者と連携しやすい構造になっているか。
    将来、生成AIにコードや構造を読み取らせて改善できる形になっているか。

    こうした設計判断は、画面を一つ作るだけなら表に出てきません。
    しかし、会社が成長し、業務が増え、関わる人が増えたときに、一気に重要になります。

    ソフトウェア工学の分野では、短期的には都合のよい設計・構築方法であっても、後から同じ作業を行う際にアーキテクチャ上の手戻りが必要になり、結果として今対応するより高くつく状態を「アーキテクチャ上の技術的負債」として扱います。

    つまり、安く早く作るために省略された設計判断は、消えてなくなるわけではありません。
    後から改修費用、調査費用、保守費用、作り直し費用として戻ってくることがあります。

    設計を省略したシステムは、最初は安く見える

    設計を省略したシステムは、最初は安く見えます。
    画面も動きます。
    入力もできます。
    帳票も出るかもしれません。

    しかし、後から変更しようとしたときに問題が表面化します。

    「この権限追加は大きな改修が必要です」
    「この構造では部署別管理に対応できません」
    「会計連携は最初から考えていないので作り直しに近くなります」
    「ログが足りないので、過去の処理を追跡できません」
    「データ移行が必要になります」
    「このまま拡張するとセキュリティ上の問題が出ます」

    このとき初めて、安く作った理由が見えてきます。

    それは、本当に効率よく作られていたのではなく、
    将来必要になる設計判断が先送りされていただけだった
    ということです。

    IBMも、技術的負債について、ソフトウェア開発中の近道や最適ではない判断に頼った結果として将来発生するコストであり、後からリファクタリング、デバッグ、継続的な保守によって返済が必要になるものだと説明しています。

    これは、企業の業務システムにとって非常に重要な考え方です。

    最初に安く作れたとしても、その安さが「必要な設計を省略した安さ」であれば、会社が成長した瞬間に高額な改修費として戻ってくる可能性があります。

    安い開発会社が悪いわけではない

    もちろん、安い開発会社がすべて悪いわけではありません。
    また、高い見積もりなら必ず良い設計がされている、というわけでもありません。

    大切なのは、金額そのものではなく、
    その金額の中に何が含まれていて、何が含まれていないのか
    を見抜くことです。

    安いシステムが悪いのではありません。
    問題なのは、安さの理由が分からないまま発注してしまうことです。

    範囲を明確に絞った安さであれば、それは合理的です。
    しかし、設計を省略した安さであれば、それは将来の改修費用を先送りしているだけかもしれません。

    システム設計とは、今の開発費を無駄に増やすためのものではありません。
    会社が成長したときに、改修費用が爆発しないようにするための経営上の保険です。

    会社の中核システムほど、最初の設計判断が重要になる

    特に、業務会計システムのように会社の中核に関わる仕組みでは、最初の設計判断が将来の自由度を大きく左右します。

    どの情報を会社全体で持つのか。
    どの情報を部署ごとに持つのか。
    どの権限をどのアプリケーションで扱うのか。
    会計処理をどの段階で組み込むのか。
    外部専門家が確認しやすい構造になっているのか。
    将来の分社化、拠点追加、事業拡張に耐えられるのか。

    こうしたことは、発注時点で経営者がまったく理解していないと、開発会社任せになります。

    そして、開発会社は基本的に、依頼された範囲のものを作ります。
    経営者が将来の成長や運用方針を伝えなければ、そこまで踏み込んだ設計にはなりにくいのです。

    経済産業省が取りまとめた「レガシーシステムモダン化委員会総括レポート」でも、DXやレガシーシステムの問題と対処の方向性が整理されています。同レポートは、経済産業省、デジタル庁、IPAを事務局とする委員会での議論をもとにまとめられたものです。

    このような資料が示しているのは、システムの問題は単なるIT部門だけの問題ではなく、経営課題そのものだということです。

    経営者はプログラマーになる必要はない

    中小企業の経営者は、プログラマーになる必要はありません。

    しかし、システム設計の考え方を知っておく必要はあります。

    コードを書けるかどうかよりも、
    自社の業務をどう構造化するのか。
    どこを内製し、どこを外部専門家に任せるのか。
    どの部分を将来変更できるようにしておくのか。
    その判断ができることの方が、はるかに重要です。

    安い見積もりを選ぶこと自体が悪いのではありません。

    しかし、
    安さの中身を見抜けないまま選ぶこと
    これは、将来の自社に高額な請求書を送っているのと同じです。

    これからの中小企業に必要なのは、単に安い業者を探す力ではありません。

    安い理由を確認できる力。
    設計が省略されていないかを見抜く力。
    自社の成長に必要な構造を考える力。
    そして、外部の専門家を正しく使いこなす力です。

    システムは、会社の頭脳です。
    その頭脳を、初期費用だけで選んでよいのか。

    一度立ち止まって考える価値があります。

    まとめ

    安いシステム開発費が悪いのではありません。

    本当に怖いのは、
    何が省略されて安くなっているのかを知らないまま発注してしまうこと
    です。

    範囲を絞った安さなのか。
    設計を省略した安さなのか。

    この違いを見抜けるかどうかで、将来の改修費用は大きく変わります。

    会社の業務、会計、顧客情報、社員情報、権限管理に関わるシステムは、単なる便利ツールではありません。
    会社の成長を支える土台です。

    だからこそ、経営者自身がシステム設計の考え方を知り、外部の専門家を正しく使いこなすことが重要になります。


    出典・参考資料

    経済産業省
    「レガシーシステム脱却に向けた『レガシーシステムモダン化委員会総括レポート』を取りまとめました」

    経済産業省/IPA
    「DXの現在地とレガシーシステム脱却に向けて――レガシーシステムモダン化委員会総括レポート」

    CMU Software Engineering Institute
    「Architectural Technical Debt Library」

    IBM
    「What is Technical Debt?」

    CISQ
    「Technical Debt Standard」

  • (6月20日通信)中小企業のシステム開発は、なぜ作り直しになりやすいのか

    コストを抑えながら、あとで守れる構造にしておくという考え方

    中小企業が業務システムを導入するとき、最初から大企業並みのシステムを作ることは現実的ではありません。

    予算には限りがあります。
    人員にも限りがあります。
    システム担当者が社内にいないことも珍しくありません。

    そのため、中小企業向けのシステム開発では、どうしても「まず動くものを作る」ことが優先されがちです。

    それ自体が悪いわけではありません。

    最初から高額なシステムを作ろうとして、導入前に止まってしまうより、まず小さく始めることには大きな意味があります。

    しかし、ここで注意しなければならないことがあります。

    それは、コストを抑えることと、将来の安全性や拡張性を捨てることは同じではないということです。

    一般的なシステム開発会社では、大企業向けシステムと中小企業向けシステムでは、最初の設計が違う

    大企業向けのシステムであれば、最初からセキュリティ、権限管理、監査ログ、内部統制、運用体制、障害対応、外部監査への対応まで含めて設計されることが多くなります。

    誰が入力できるのか。
    誰が承認できるのか。
    誰が閲覧できるのか。
    誰がデータを変更したのか。
    変更履歴は残るのか。
    部署ごとにアクセス範囲を分けられるのか。
    外部の専門家が確認できるのか。
    不正や誤操作があったときに追跡できるのか。

    こうしたことを、かなり早い段階から考えます。

    一方で、中小企業向けのシステムでは、予算の都合もあり、そこまで重い設計を最初から入れないことがあります。

    これも現実的な判断ではあります。

    問題は、最初にすべてを実装しないことではありません。

    問題は、あとから強化できる構造にしていないことです。

    「あとで考えればいい」が、あとで高くつく

    業務システムを作るときに、よくある考え方があります。

    今は小さい会社だから、権限管理は簡単でいい。
    今は人数が少ないから、誰でも同じ画面でいい。
    今は問題が起きていないから、監査ログはいらない。
    今は社長が全部見ているから、承認フローはいらない。
    今は外部監査もないから、記録は最低限でいい。

    たしかに、現在だけを見るなら、それで動くかもしれません。

    しかし会社は成長します。

    社員が増える。
    部署が増える。
    拠点が増える。
    取引先が増える。
    扱う金額が大きくなる。
    外部専門家が関わる。
    金融機関への説明が必要になる。
    補助金や助成金、許認可、入札が関係してくる。
    税務調査や内部確認に耐える必要が出てくる。

    そのときに、最初のシステムが「とりあえず動く」だけの構造で作られていると、あとから守りを強くできません。

    権限管理を後付けしようとしても、データ構造が対応していない。
    監査ログを残そうとしても、誰が何をしたかを記録する前提がない。
    部署別に分けようとしても、部署という考え方がデータに存在しない。
    承認フローを追加しようとしても、入力と確定の区別がない。
    会計データと業務データをつなげようとしても、取引の意味が整理されていない。

    こうなると、部分的な改修では済まなくなります。

    結局、作り直しになるのです。

    安く作ることが悪いのではない

    ここで誤解してはいけないのは、安く作ること自体が悪いわけではないということです。

    中小企業が最初から大規模なシステム投資をするのは難しい。
    だから、小さく始めることは大切です。

    問題は、安く作ることではありません。

    問題は、あとから守れない構造で作ってしまうことです。

    最初は簡単な画面でよい。
    最初は機能を絞ってよい。
    最初は一部の業務だけでよい。
    最初は社内の少人数だけで使ってよい。

    しかし、その裏側にあるデータ構造や責任の分け方まで場当たり的にしてしまうと、会社が成長したときに困ります。

    本当に重要なのは、最初から全部を作ることではありません。

    あとから増やせる場所を残しておくことです。

    後でセキュリティを高めやすい構造とは何か

    では、後でセキュリティを高めやすい構造とは何でしょうか。

    たとえば、最初から次のような考え方を持っておくことです。

    誰が入力したのかを記録できる。
    誰が確認したのかを分けられる。
    誰が承認したのかを残せる。
    誰が閲覧できるのかを後から制御できる。
    部署や拠点が増えても紐づけられる。
    取引データに作成日時や更新日時を残せる。
    将来、監査ログを追加できる。
    外部専門家が確認できる出口を作れる。
    業務データと会計データの関係を説明できる。
    生成AIにシステム全体の意味を説明しやすい構造にしておく。

    最初からすべてを画面に出す必要はありません。
    最初からすべてを運用する必要もありません。

    しかし、将来必要になったときに追加できるように、考え方だけは最初から持っておく必要があります。

    これは、家を建てるときに似ています。

    最初からすべての部屋に高級設備を入れる必要はありません。
    しかし、あとから増築できない基礎で建ててしまうと、将来困ります。

    業務システムも同じです。

    最初から大企業仕様にする必要はありません。
    しかし、会社が成長したときに守れる骨格は必要です。

    中小企業だからこそ、設計が必要になる

    「うちはまだ小さい会社だから、そこまで考えなくていい」

    そう思う経営者もいるかもしれません。

    しかし、むしろ中小企業だからこそ、最初の設計が重要です。

    大企業であれば、後から専門部署や大きな予算で修正できるかもしれません。
    しかし中小企業では、一度作ったシステムを作り直す負担は非常に大きいものになります。

    業務が止まる。
    社員が混乱する。
    データ移行が必要になる。
    外部業者とのやり取りが増える。
    追加費用が発生する。
    以前のシステムで積み上げた情報を引き継げないこともある。

    これは大きな損失です。

    だからこそ、中小企業は最初から完璧なシステムを作る必要はありませんが、成長したときに作り直しになりにくい考え方を持っておく必要があります。

    外注するにしても、会社側に判断軸が必要

    業務システムをすべて自社で作る必要はありません。

    システム開発会社、外部エンジニア、税理士、社会保険労務士、データベース専門家、セキュリティ担当、インフラ担当、デザイナーなど、専門家を活用することはとても重要です。

    ただし、専門家を活用することと、丸投げすることは違います。

    会社側が何も分からないまま発注すると、どうしても「今の予算で動くもの」に寄りやすくなります。

    しかし、経営者が少しでも設計の視点を持っていれば、発注時に確認できます。

    このシステムは、あとから権限管理を強化できますか。
    部署が増えたときに対応できますか。
    誰が入力・承認・変更したかを残せますか。
    会計データと業務データのつながりを説明できますか。
    外部専門家に確認してもらうための出力はできますか。
    将来、セキュリティを高める余地はありますか。

    このような質問ができるだけで、発注の質は大きく変わります。

    失敗例を知ることは、未来の損失を減らすこと

    システム開発の失敗例を知ることは、決して後ろ向きなことではありません。

    むしろ、経営者にとっては重要な学習です。

    なぜ作り直しになったのか。
    なぜ権限管理を後付けできなかったのか。
    なぜ部署が増えたときに破綻したのか。
    なぜ会計データと業務データがつながらなかったのか。
    なぜ外部業者に依存しすぎてしまったのか。
    なぜ生成AIで作った便利ツールが、会社の基幹業務に使えなかったのか。

    失敗例には、発注前に知っておくべき視点が詰まっています。

    成功事例だけを見ると、簡単そうに見えます。
    しかし、失敗例を見ると、どこを避けるべきかが分かります。

    中小企業の経営者にとって大事なのは、システムの細かな技術をすべて理解することではありません。

    失敗しやすい構造を見抜くことです。

    最初から高額にするのではなく、後で守れるように始める

    中小企業のシステム開発で大切なのは、最初から大企業並みの高額なシステムを導入することではありません。

    大切なのは、コストを抑えながらも、後でセキュリティを高めやすい構造にしておくことです。

    小さく始める。
    しかし、場当たり的には作らない。

    機能を絞る。
    しかし、将来の拡張余地は残す。

    今の予算に合わせる。
    しかし、会社の成長を邪魔しない骨格にする。

    これが、中小企業にとって現実的なシステム設計ではないでしょうか。

    業務システムは、単なる便利ツールではありません。
    会社の業務を記録し、会計につなげ、信用を支え、経営判断の材料になるものです。

    だからこそ、最初に考えるべきことは「どれだけ多機能にするか」ではありません。

    あとから会社を守れる構造になっているか。

    そこを見落とさないことが、中小企業のシステム開発で失敗を避ける第一歩だと思います。

ブログ index