3P by neo 6달전 | favorite | 댓글 1개

VBA 사용 이유는 무엇인가?

VBA 사용의 배경

  • 최근 ThePrimeTime이라는 유튜버의 비즈니스 문화에 대한 개발자의 불만을 다룬 영상을 시청함.
  • 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가 제공하는 유연성, 유지 보수 보장, 제어 능력은 다른 기술이 쉽게 대체할 수 없는 이점을 제공함.
  • 이 글은 기술 선택의 복잡성과 조직 내에서 기술이 어떻게 사용되고 있는지에 대한 흥미로운 통찰을 제공함.
Hacker News 의견
  • 한 소프트웨어 엔지니어가 경험한 것에 따르면, 많은 전문 개발자들이 부수적인 도구로 Excel/VBA를 사용하는 것에 놀람. 예를 들어, 헤지펀드의 데이터 분석가가 만든 Excel 모델에 VBA 코드가 포함되어 있었고, 이는 데이터베이스에서 데이터를 추출하고, 시트에 배치하며, 수식을 구성하고, 형식을 맞추는 데 사용됨. 분석가는 Excel과 VBA를 칭찬하며, Python으로 작업했다면 계속해서 설명해야 할 것이라고 언급함.
  • 기업들은 Excel 내에 개발 환경을 가지고 있으며, 특별한 승인 없이도 사용할 수 있음. Excel과 Sharepoint를 사용하여 네트워크 데이터 저장소와 웹 인터페이스를 구축할 수 있음.
  • 한 개발자는 분석가들을 위해 Excel 내에서 CRUD 인터페이스를 개발해야 했음. IT 부서의 제한으로 인해 VBA를 사용할 수밖에 없었던 상황을 설명함.
  • IT 부서가 복잡한 프로세스와 자체 문제로 인해 서비스 지향적이지 않다는 비판이 있음. IBM BPM의 REST API가 기술 팀과 SME에게 거의 쓸모없다는 예시를 들어 IT의 복잡성을 지적함.
  • VBA는 IT 부서를 우회하는 사용자들의 해결책으로, 완벽하지는 않지만 다른 방법보다 낫다는 의견이 있음.
  • 데이터 분석가들이 매일 반복적인 작업에 지루함을 느끼고 "매크로 기록" 버튼을 발견하면서 VBA를 사용하기 시작했다는 경험담이 있음.
  • 한 개발자는 아프가니스탄에 배치된 인원을 위해 VBA로 애플리케이션을 개발해야 했던 경험을 공유함.
  • 스프레드시트가 반응형 함수형 프로그래밍에 있어서 오래된 기술임에도 불구하고 여전히 효과적이라는 관점이 있음.
  • 최근까지 VBA의 좋은 대안이 없었으며, 새로운 "애드인" 모델이 미래라는 의견이 있음.
  • Airtable과 같은 소프트웨어가 Excel VBA를 대체할 수 있지만, 기업 환경에서는 Excel이 이미 지불되어 사용되고 있기 때문에 새로운 소프트웨어를 구매하고 정당화하는 데 어려움이 있음.
  • 클라이언트의 비즈니스 사용자가 만든 VBA 솔루션을 대체하기 위해 방문했지만, 새 솔루션은 비용이 많이 들고 기존 솔루션만큼의 기능을 제공하지 못할 것이라는 우려가 있음.