3 ポイント 投稿者 GN⁺ 2023-11-16 | 1件のコメント | WhatsAppで共有

VBAを使う理由は何か?

VBA利用の背景

  • 最近、ThePrimeTimeというYouTuberの、ビジネス文化に対する開発者の不満を扱った動画を視聴した。
  • Primeは元起業家で、現在はNetflixでソフトウェア開発をしており、彼の意見はFAANGのビジネス文化に失望したものだとして批判されている。
  • 開発者の文章にはある程度の真実があるものの、多くの問題の根本原因を見落としていると思う。

VBA利用の多様性

  • 現在勤務している会社のエンジニアリング部門では、多様な技術(自動化プラットフォーム)にアクセスできる。
  • PowerShell、Excel(VBA、OfficeJS、OfficeScripts、PowerQuery)、PowerBI Desktop、SAP Analysis for Office、Power Platform、ArcGIS、MapInfo、InfoWorks ICM など、さまざまなオンプレミスおよびクラウド技術を使っている。
  • ITが管理するさまざまなデータベースがあり、これらのデータベースには顧客課題、資産データ、遠隔測定データ、リスクデータ、財務データなどが含まれている。

VBAの保守性の担保

  • 2000年代には、多くのシステムがIBM Lotus Notesデータベースを基盤として構築された。
  • 2019年にLotus NotesはHCLに買収され、サポートの長期的な継続性が揺らいでいる。
  • 技術チームは新しい技術へシステムを移行しようとしたが、IBM BPMソリューションは十分に保守されておらず、機能も不十分だった。
  • SME(分野の専門家)がVBAを使えば、必要に応じてシステムを制御し、保守できる。

VBAによる制御

  • 新しいITシステムを構築するプロジェクトでは、技術チームがコードへのアクセスを制限し、Microsoft PowerAppsとAzure Pipelinesを使うよう求めている。
  • 管理者やSMEのほうが開発知識を多く持っているにもかかわらず、技術チームの要求は受け入れがたい。
  • SMEは既存システムを改善・維持し、システム間の相互作用に関する知識にも優れている。

VBAのUX

  • ほとんどのエンジニアは業務でスプレッドシートを使っており、VBAはそれらのスプレッドシートに組み込まれているため、UXを向上できる。

結論

  • 多くの組織でスプレッドシート(およびVBA)が使われる理由はさまざまである。
  • ITが提供する代替手段が不十分であること、ソースシステムとの接続性が低いこと、IT戦略に欠陥があること、SMEとの協力不足、代替システムに対する教育不足などがある。
  • VBAの弱点は認識しているが、組織内の大半の人は使える道具で最善を尽くしている。

GN⁺の見解

  • この文章で最も重要なのは、VBAが今なお多くの組織で不可欠な技術として使われている点である。
  • VBAが提供する柔軟性、保守性の担保、制御能力は、他の技術では容易に代替できない利点をもたらす。
  • この文章は、技術選定の複雑さと、組織内で技術がどのように使われているかについて興味深い洞察を提供している。

1件のコメント

 
GN⁺ 2023-11-16
Hacker Newsの意見
  • あるソフトウェアエンジニアの経験では、多くのプロの開発者が補助的なツールとして Excel/VBA を使っていることに驚いたという。たとえば、ヘッジファンドのデータアナリストが作成した Excel モデルには VBA コードが含まれており、データベースからデータを抽出し、シートに配置し、数式を組み立て、書式を整えるために使われていた。アナリストは Excel と VBA を高く評価し、もし Python で作業していたら、その都度説明し続けなければならなかっただろうと述べている。
  • 企業は Excel 内に開発環境を持っており、特別な承認がなくても利用できる。Excel と Sharepoint を使えば、ネットワーク上のデータストレージや Web インターフェースを構築できる。
  • ある開発者は、アナリスト向けに Excel 内で CRUD インターフェースを開発しなければならなかった。IT 部門の制約のため、VBA を使うしかなかった状況を説明している。
  • IT 部門は複雑なプロセスと自前の問題のためにサービス志向ではない、という批判がある。IBM BPM の REST API が技術チームや SME にとってほとんど役に立たないという例を挙げ、IT の複雑さを指摘している。
  • VBA は IT 部門を回避するためのユーザー側の解決策であり、完璧ではないが他の方法よりはましだ、という意見がある。
  • データアナリストたちは毎日の反復作業にうんざりし、「マクロの記録」ボタンを見つけたことをきっかけに VBA を使い始めた、という体験談がある。
  • ある開発者は、アフガニスタンに派遣された人員のために VBA でアプリケーションを開発しなければならなかった経験を共有している。
  • スプレッドシートは、リアクティブ関数型プログラミングにおける古い技術であるにもかかわらず、依然として効果的だという見方がある。
  • ごく最近まで VBA の良い代替手段はなく、新しい「アドイン」モデルが未来だという意見がある。
  • Airtable のようなソフトウェアが Excel VBA を置き換えられるかもしれないが、企業環境では Excel はすでに費用が支払われて使われているため、新しいソフトウェアを購入してその正当性を説明するのは難しい。
  • クライアント企業の業務ユーザーが作った VBA ソリューションを置き換えるために訪問したものの、新しいソリューションは高コストになり、既存のソリューションほどの機能を提供できないのではないかという懸念がある。