この記事で分かること
- 個人(フリーランス)とシステム開発会社の対応力・セキュリティ体制の決定的な違い
- Excelマクロ作成を「開発会社」に相談・依頼すべき具体的な4つのケース
- 開発会社へ相談する際の手順と、社内稟議や失敗を防ぐための実務的なコツ
個人とシステム開発会社への依頼における根本的な違い
Excelマクロ(VBA)開発を外部に委託する場合、クラウドソーシングなどを介した個人(フリーランス)への依頼と、システム開発会社への依頼には大きな違いが存在します。一見、どちらも「同じマクロを作る作業」に見えますが、企業の重要な業務プロセスを預ける上では、コストだけでは測れない決定的な要素が存在します。まずはその違いを正しく理解しておきましょう。
品質保証とテスト工程の体制
個人のフリーランスに依頼する場合、要件の整理から設計、コーディング、テストまでのすべての工程を1人の開発者が単独で行うことが一般的です。そのため、開発者自身の主観に基づいたテストになりやすく、納品後に実務で使用した際、想定外のデータ入力や操作によってエラーが発生し、処理が停止してしまうリスクが残ります。一方、システム開発会社では、作成者以外の「第三者(検証担当者)」によるテスト工程(クロスチェック)を挟むことが標準化されています。異常系と呼ばれる、入力エラーやイレギュラーな処理に対する例外処置(エラートラップ)が頑健に実装されるため、高い堅牢性を誇る成果物が期待できます。
セキュリティ対策と機密保持契約(NDA)
社内の業務システムやExcelシートには、顧客の個人情報、売上データ、取引実績など、外部に漏洩してはならない機密情報が多数含まれています。個人であっても機密保持契約(NDA)を締結することは可能ですが、セキュリティを遵守するためのインフラ(暗号化された開発環境、アクセス権の制御、ウイルス対策ソフトの導入等)の管理レベルには限界があります。また、万が一の情報漏洩やシステムトラブルにより損害が発生した場合、個人の資産では賠償責任を負いきれないケースが多々あります。組織として強固な情報セキュリティマネジメントを確立し、法的な損害賠償能力を有する開発会社への依頼は、企業のコンプライアンス遵守において不可欠な選択肢です。
属人化の防止と継続的な保守メンテナンス体制
Excelマクロ運用における最大の罠は「作った人がいなくなること」です。個人に依頼した場合、開発者が病気、転職、引退などにより突然連絡が取れなくなってしまうリスク(音信不通リスク)が常に付きまといます。WindowsのアップデートやMicrosoft Officeのバージョン変更にともない、動作しなくなったマクロを修正できずに業務がストップしたという話は珍しくありません。システム開発会社であれば、仕様書や設計書をドキュメント化して社内で共有管理しているため、担当者が不在になっても組織として保守対応を引き継ぐことができます。これにより、業務の属人化を防ぎ、長期間にわたって安心してマクロを活用し続ける環境が整います。
| 比較項目 | 個人(フリーランス) | システム開発会社 |
|---|---|---|
| 開発コスト | 比較的安価(数万円〜数十万円) | 中〜高(品質管理・設計定義を含む) |
| 品質保証・検証 | 開発者本人のみ(検証の漏れが発生しやすい) | 第三者のテストを含む組織的検証プロセス |
| セキュリティ対策 | 個人の意識に依存(保証能力に限界あり) | 組織的なセキュリティポリシー・法的な補償能力 |
| 継続的な保守体制 | 個人廃業や音信不通によるブラックボックス化のリスク | ドキュメント化とチーム体制による永続的サポート |
| 提案・拡張性 | 提供可能な解決策がマクロ(VBA)単体に偏りがち | 将来的なAccess移行やWebシステム連携も視野に提案可能 |
個人ではなく開発会社にExcelマクロ作成を依頼すべきケース
すべての案件において高額なシステム開発会社が必要というわけではありません。単発の極めて小さな集計マクロであれば個人への依頼でも十分対応できる場合があります。しかし、以下の条件に1つでも当てはまる場合は、ビジネスの安全と成長のためにシステム開発会社へ相談することをお勧めします。
基幹システムや外部データベースとの高度な連携が必要な場合
単一のExcelファイルの中だけで完結せず、社内の基幹システム(ERP、販売管理システム、会計ソフトなど)から出力された各種データ、あるいはSQL ServerやOracleといった外部データベース、クラウドシステム等から自動でデータをインポートして、集計・出力を行いたい場合です。これには単なる「VBAの書き方」だけでなく、データベース接続技術(ADO/ODBC)や、セキュアなネットワーク通信、データベース最適化(SQL文の構築)といった、ITインフラ全体に関する総合的な知識が必要となります。データ不整合やアクセス不可による基幹システムへの干渉を防ぐためには、システム設計の経験豊富な開発会社でなければ対応できません。
複数部署で共有し大規模に利用する重要なマクロの場合
作成したマクロを、特定の事務スタッフが1人だけで動かすのではなく、全社や複数拠点、あるいは他部署にまたがって並行利用(同時参照など)するようなケースです。異なるPC環境(Windows 10/11の違いやOffice 365のアップデート状況、モニタの解像度など)が混在すると、想定外のバグが発生しやすくなります。複数ユーザーが同時に実行した際のデータ不整合(排他制御)対策や、直感的で誰でも誤操作なく扱えるユーザーインターフェース(ユーザーフォーム)の実装など、業務を止めないためのハイレベルな設計が必要とされるため、開発会社の組織的な知見が役立ちます。
個人情報の取り扱いや高水準のセキュリティ要件が求められる場合
顧客名簿や人事データ、給与計算、取引先の単価設定など、高度なセキュリティが必要な情報を処理するマクロです。個人が作成したマクロでは、ソースコード内に重要なパスワードやAPIキーが平文(そのまま読めるテキスト)でハードコーディングされていたり、処理の過程で作成される不要なテンポラリファイルがそのままPC内に残されてしまったりと、セキュリティ上の脆弱性が放置されるリスクがあります。情報保護ポリシーの策定からデータの暗号化、アクセスのログ収集までを確実に実装できる開発会社に依頼することが、企業のコンプライアンスを守る最大の防衛策となります。
将来的なAccess移行やWebシステム化を視野に入れている場合
「現在はとりあえずExcelマクロで対応したいが、近い将来、ビジネスの規模拡大にともない、データの蓄積量を増やすためにMicrosoft Accessへの移行やWebシステム化を検討している」といった場合です。マクロ開発(VBA)に特化した個人に依頼すると、いざシステム化の段階になった際に、既存のマクロ設計を流用できずに全く新しいゼロからの構築になってしまい、開発費用が二重にかかるケースが多々あります。将来的なWeb化やAccessシステム構築へのスムーズなマイグレーション(移行)を想定したコード設計(データの格納と処理ロジックの分離など)が行えるのは、多角的なソリューションを提案できる開発会社ならではの強みです。
開発会社にマクロ作成を相談する手順と失敗しないコツ
システム開発会社に相談することに決めても、「ITの専門用語が分からないから、要件をうまく伝えられるか不安だ」と躊躇してしまう担当者の方もいます。しかし、開発前の準備を整えておくだけで、専門的なスキルや知識がなくても円滑にプロジェクトを進行させることができます。
1. 現行の業務フローと「解決したい課題」を整理する
最初から「このVBAプログラムを作ってほしい」と手段を指定する必要はありません。まず大切なのは、現在どのような手作業(例:AシステムからCSVを出力して、Bファイルの値を手動で照合し、Cのレイアウトに転記する)を、どれほどの時間をかけて行っているかを可視化することです。「手作業により週に5時間かかっており、データの転記ミスが発生しやすい」というような「現状の課題」をありのままに提示すれば、開発会社側から最も効率的で安価に解決できるアプローチを提示してくれます。場合によっては、マクロを組むまでもなくExcelの「Power Query」という標準機能を設定するだけで解決する、といったコストを抑えた最適な提案が受けられることもあります。
2. 既存のExcelファイル(サンプル)を用意する
現在使用しているExcelシートや、実際に作業している様子がわかる「実機に近いサンプルデータ(ダミーデータでも可能)」を事前に用意しておきましょう。開発を依頼するマクロにインプットされるデータ形式(テキストデータ、CSVデータ、手入力データ等)と、最終的に出力したい完了目標のイメージを開発会社に見せることで、開発規模や処理の複雑さ(例外処理の多さなど)を正確に見積もることが可能になります。データのフォーマット(書式、スペースの有無、表記揺れなど)が乱れている場合は、開発会社によるデータクレンジング設計から相談に乗ってもらうことが可能です。
3. 要件定義から運用保守まで一貫してサポートできる会社を選ぶ
開発会社を選定する際は、単に提示された金額だけで判断するのではなく、「要件定義(業務の聞き取り・仕様整理)」の段階に十分な時間を割いて、真摯に向き合ってくれるかを確認しましょう。お客様自身も気づいていなかった「実際の業務に潜むイレギュラーな業務パターン」をしっかりと洗い出してくれる会社は信頼できます。また、開発完了後の納品時教育(使い方マニュアルや導入サポート)や、Windows・Excelのアップデートで挙動が怪しくなった際、迅速にバグフィックス(修正)を行ってくれる「保守運用プラン」を明示している開発会社を選ぶことが、数年後のトラブル防止につながります。
4. 費用対効果(ROI)を明確にして社内承認を得る
システム開発会社への外注費用は、クラウドソーシングなどの個人開発と比べて初期投資(イニシャルコスト)が高くなります。そのため、社内の経営陣や上層部を納得させるための説明(費用対効果)が必要になります。「本プロジェクトに100万円を投資することにより、年間で約200時間の無駄な作業がカットされ、その分の人件費(時給換算)で年間数十万円を削減できる上、ヒューマンエラーによる損失リスクも完全に排除できる」というように、期待されるリターン(ROI)を明確な数字で提示することが、スムーズな稟議決裁へのカギです。費用対効果の算出方法についても、システム開発会社に事前に相談して、社内稟議向けのデータ作成サポートを要請すると良いでしょう。
Excelマクロの課題解決から一歩進んだ業務システム化
Excelマクロは、安価ですぐに自動化を実現できる便利なツールですが、企業のビジネスが拡大するにつれて「Excelの限界」という壁が必ずやってきます。開発会社へ依頼する価値は、単に目の前のマクロを動かすだけでなく、その「壁」を乗り越えるための次のステップ(業務システム化)への道筋を示してくれる点にもあります。
VBAマクロの限界(動作の重さ・同時編集の不可)を解消する
Excelは、基本的に「ファイルを一人で開いて操作する」ことを前提に設計されています。マクロを含むファイルを共有サーバー上に置き、同時に複数人が編集しようとすると、書き込みの競合が発生してデータが壊れたり、ファイルがフリーズしたりします。また、扱うデータが数万件、数十万件に達すると、マクロの計算処理が完了するまでに数分から数十分もかかり、作業効率が逆に悪化することもあります。こうした「Excelの処理制限」を克服するために、システム開発会社は裏側のデータベースのみをMicrosoft AccessやSQL Serverに置き換えて、データを安全かつ高速に一元管理するアプローチを提案可能です。
既存資産を活かしたAccess連携・Webシステム化への展開
「使い慣れたExcelのインターフェース」は、現場の業務において大きな強みです。システム開発会社は、今までの業務のやり方を全て捨てさせるのではなく、既存の使い慣れた画面を極力生かしながら、システムの裏側を本格的なデータベースと連携させるハイブリッドな開発を得意としています。さらに業務が成長したタイミングでは、インターネット環境さえあれば自宅やタブレットからでもデータをリアルタイムに参照・更新できる「Webシステム」への移行(フルスクラッチ開発、あるいはローコード開発)も可能です。社内の実情や将来の構想に合わせたロードマップを共に描けることが、システム開発会社を選ぶ最大の利点です。
システム開発会社だから提案できる最適な解決アプローチ
企業の予算や時期によって、取り得るべき「最適な一手」は異なります。「まずは1〜2週間でExcelマクロを組んで応急処置を施し、社内の予算が確保できる来期にAccess移行またはWebシステム化を本格始動させる」といった、スモールスタートからの柔軟な提案が行えるのも、幅広い開発技術とインフラ知識を持ったシステム開発会社だからこそ。一時的な『動けばいいマクロ』ではなく、会社の財産となるような持続可能なITシステムを手に入れるために、信頼できるシステム開発会社への相談をお勧めします。
Q1. 既存の個人が作ったマクロの修正だけでも開発会社に依頼できますか?
はい、対応可能です。ただし、マクロを記述した当時の仕様書や設計ドキュメントがない場合、開発会社のエンジニアが既存のソースコードを一行ずつ解析(コードリーディング)する作業から入る必要があります。プログラムの構成が極めて乱雑である「スパゲッティコード」と呼ばれる状態の場合は、修正を加えるよりも、現状の業務フローを聞き取って新規に作り直した方が、長期的にはコストや保守性の観点からお得になるケースもあります。事前の診断をしっかりと行ってくれる開発会社に相談することをお勧めします。
Q2. 開発会社への依頼は個人に比べて費用が高くなりますが、それ以上のメリットはありますか?
はい、十分なメリットがあります。個人開発に比べて初期コストはかかりますが、「担当者の退職・廃業にともなうマクロのブラックボックス化(改修不能)を回避できる」「第三者検証によるバグの圧倒的な削減」「法人が担保する高度なセキュリティ対応および損害補償能力」「マクロ以外のインフラ(Access、データベース、Webシステム等)の拡張性」が手に入ります。一度作ったマクロが使えなくなった場合の事業停止リスクや人件費の無駄を考慮すると、ライフサイクル全体のコスト(TCO)は開発会社へ依頼した方が結果的に安く抑えられます。
Q3. マクロ作成の依頼時に、システム開発の知識がなくても大丈夫ですか?
まったく問題ありません。システム開発会社はお客様の「普段使っている言葉」や「現状の業務の流れ」を丁寧にお伺いし、それをシステム設計に落とし込む翻訳能力(要件定義力)に長けています。専門知識や専門用語を知らなくても、現在使っているExcelファイルの画面を見せ、どのように作業して、何に困っているかを伝えるだけで、エンジニアが最適な自動化プランを策定いたします。お気軽にご相談ください。
Q4. 開発会社に相談する際、機密保持契約(NDA)はどのタイミングで結びますか?
一般的には、詳細な打ち合わせを行い、お見積もり作成のために実際のExcelファイルや具体的な業務フローの共有を受ける「前の段階(初回のご面談前後)」でNDAを締結します。機密情報を多く含むファイルを扱うため、セキュリティに厳しい開発会社ほど、情報共有前の早期のタイミングでNDA締結の準備を進めます。この点も手続きが標準化されているため、社内のコンプライアンス審査もスムーズに通過しやすいメリットがあります。
Q5. Excelマクロの開発期間はどれくらいかかりますか?
一般的な規模(特定のファイルを一つ処理するようなマクロ)であれば、最初の要件定義からテスト、納品まで約2週間〜1ヶ月程度が目安です。外部のデータベースやクラウドサービスと連携させたり、複数の複雑なロジックが組み合わさった大規模なマクロの場合は、2ヶ月〜3ヶ月程度要することもあります。スピード開発を求める場合は、機能範囲を絞った「クイックパック」などのスモール開発サービスを行っている会社に依頼するのも効果的な方法です。