최근 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가 제공하는 유연성, 유지 보수 보장, 제어 능력은 다른 기술이 쉽게 대체할 수 없는 이점을 제공함.
이 글은 기술 선택의 복잡성과 조직 내에서 기술이 어떻게 사용되고 있는지에 대한 흥미로운 통찰을 제공함.
한 소프트웨어 엔지니어가 경험한 것에 따르면, 많은 전문 개발자들이 부수적인 도구로 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 솔루션을 대체하기 위해 방문했지만, 새 솔루션은 비용이 많이 들고 기존 솔루션만큼의 기능을 제공하지 못할 것이라는 우려가 있음.